Centos7安裝SVN+HTTP
1.首先安裝svn
yum install subversion
2.安裝httpd
yum install httpd
3.安裝apache的svn操作模組
yum install mod_dav_svnyum install openssl openssl-devel
4.查看svn版本
svnserve –version
5.建立svn版本庫
svnadmin create /home/svn/project
6.進入svn的conf檔案夾
cd /home/svn/project/conf
7.查看conf下面的檔案清單
ls
分別為:authz passwd svnserve.conf
8.修改authz檔案
view authz
修改內容如:
rw : 可讀可寫 r : 唯讀 修改完成按esc 再輸入 :wq 如果儲存錯誤就強制儲存 輸入 :wq!
9.修改passwd檔案
view passwd
10.修改svnserver.conf
首先備份:cp svnserver.conf svnserver.conf.bak
命令:view svnserver.conf
修改內容:
11.svn配置完成,啟動svn 命令:svnserve -d -r /home/svn/project/ 查看進程:ps -aux|grep svn 嘗試匯入:svn import test svn://123.123.123.123/project/test -m "test" --force-log
提示:嘗試匯入需要在目前的目錄有test檔案夾存在,如果沒有就建立,命令:mkdir test
12.啟動出錯,錯誤內容:認證失敗( authentication failed)(沒有這個錯誤的就跳過這一條) 處理方法: 方法一:檢查三個設定檔中配置前面是否存在空格,例如:
方法二:修改/root/.subversion/service設定檔
修改store-plaintext-passwords = yes 提示:因為檔案內容過多,需要游標一直往下,才能看到全部檔案內容! 然後查看進程:命令:ps -aux|grep svn 結束svn進程:kill 11036 重啟svn:svnserve -d -r /home/svn/project/ 或者:systemctl start svnserver.service 再次嘗試匯入:svn import test svn://123.123.123.123/project/test -m "test" --force-log
提示:如果沒有錯誤就是匯入成功
13.訪問svn 通過TortoiseSVN Repository Browser訪問 地址:svn://123.123.123.123/project
14.配置httpd 進入設定檔夾:cd /etc/httpd/conf/httpd.conf 首先備份設定檔:cp httpd.conf httpd.conf.bak
15.修改httpd.conf檔案 在檔案的末尾添加:
<Location /svn> DAV svn SVNParentPath /home/svn/ # Authentication: Basic AuthName "Subversion repository" AuthType Basic AuthUserFile /etc/httpd/svn-auth.htpasswd # Authorization: Authenticated users only <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
提示資訊:
“<Location /svn>”中的”/svn”表示我們的svn的訪問URL為”http://ip/svn”, “DAV svn”表示使用”mod_dav_svn”模組,dav是一種http 1.1擴充協議,mod_dav_svn只是該協議的一種應用。 “SVNParentPath /var/svn”表示服務”http://ip/svn”請求時,使用”/var/svn”路徑下相應的內容。 AuthName 表示輸入使用者名稱和密碼時的提示資訊 AuthType 認證類型,這裡我們使用基本的認證類型 AuthUserFile 表示認證檔案的位置,我們待會建立它。 LimitExcept節點指示只對寫請求需要使用者認證。
16.建立svn-auth.htppasswd檔案
命令:htpasswd –c -m /etc/httpd/svn-auth.htpasswd 使用者名稱
例如:htpasswd –c -m /etc/httpd/svn-auth.htpasswd abcd
然後按提示輸入兩次密碼!
17.將apache使用者對svn目錄授權 依次執行下面3條命令:
命令1:usermod -a -G root apache 命令2:chmod -R g+w /home/svn/project 命令3:groups apache
18.啟動apache
命令:systemctl start httpd.service
19.啟動如果出錯處理
一般都是連接埠被佔用,apache預設連接埠80,修改監聽連接埠 修改httpd.conf 設定檔,修改為9999 重啟apache: systemctl restart httpd.service
20.訪問svn
http://123.123.123.123:9999/svn/project/ 輸入使用者名稱:abcd 密碼:******
21.增加httpd使用者:
命令:htpasswd /etc/httpd/svn-auth.htpasswd abcd
輸入兩次密碼,提示添加成功!