CentOS搭建SVN伺服器,並通過Apache HTTP方式訪問(轉載至上品物語)
摘要:本文主要講述了在centos 6.5環境下搭建svn伺服器,可通過svn:\\IP方式訪問。同時由於部分公司內網埠限制,並不能訪問外網的svn伺服器,所以特地結合了apache伺服器,使得可以通過http方式http://IP方式訪問svn伺服器。
環境準備:
centos版本:centos 6.5 64位
CentOS配置SVN伺服器:
1、檢查是否安裝了低版本的SVN
1 |
|
2、解除安裝舊版本SVN
yum remove subversion
3、安裝SVN
yum -y install subversion
4、建立SVN版本庫
mkdir -p /home/用“使用者名稱”替代/svn svnadmin create /home/用“使用者名稱”替代/svn
此處版本庫名為svn,也可以是其它
5、配置程式碼庫
進入“/home/用“使用者名稱”替代/svn”資料夾下的conf下,進行配置
5.1、使用者密碼配置
編輯passwd,在[users]下新增使用者名稱和密碼
[users] # harry = harryssecret # sally = sallyssecret root=password
5.2、編輯控制權限authz
目的是設定哪些使用者可以訪問哪些目錄,向authz檔案追加以下內容,包括一個組project_p,組下有一個使用者root。使root使用者對svn上所有專案擁有讀寫許可權:
[groups] project_p = root [/] root=rw
若只希望某個使用者對 某個專案有讀、寫、讀寫許可權,可如下設定:
[/Project] root=r
5.3、服務svnserve.conf配置
在[general]下追加如下內容
#匿名訪問的許可權,可以是read,write,none,預設為read anon-access=none #使授權使用者有寫許可權 auth-access=write #密碼資料庫的路徑 password-db=passwd #訪問控制檔案 authz-db=authz #認證名稱空間,subversion會在認證提示裡顯示,並且作為憑證快取的關鍵字 realm=/home/用“使用者名稱”替代/svn
6、啟動SVN
svnserve -d -r /home/用“使用者名稱”替代/svn
7、檢視SVN程序
ps -ef|grep svn|grep -v grep
8、檢測SVN埠
netstat -ln |grep 3690
9、停止重啟SVN
killall svnserve //停止 svnserve -d -r /home/用“使用者名稱”替代/svn // 啟動
10、測試
Windows客戶端TortoiseSVN連線。地址為:svn://IP地址,輸入配置好的使用者名稱和密碼。即可進行測試。
11、檢出svn到指定目錄
進入需要檢出的目標目錄,執行
svn checkout svn://IP/Project
配置Apache支援HTTP方式訪問
1、如果沒有安裝apache服務,那麼安裝apache服務及對svn的支援
#apache伺服器,讓我們的svn 伺服器支援http協議訪問,而不僅是svn://協議 yum install httpd #apache操作svn模組 yum install mod_dav_sv
2、修改配置檔案/etc/httpd/conf.d/subversion.conf(沒有則新建),內容為:
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNListParentPath on SVNPath /home/"使用者名稱"/svn AuthType Basic Satisfy Any AuthName "Subversion repos" AuthUserFile /home/"使用者名稱"/svn/conf/accesspwd AuthzSVNAccessFile /home/"使用者名稱"/svn/conf/authz Require valid-user </Location>
3、建立accesspwd 檔案
htpasswd -c -m /home/"使用者名稱"/svn/conf/accesspwd root
4、讓apache使用者對”/home/“使用者名稱“/svn″目錄擁有寫許可權。
#將使用者apache加入root組 usermod -a -G root apache #讓group對/home/"使用者名稱"/svn目錄也有寫許可權 chmod -R g+w /home/"使用者名稱"/svn #檢視apache使用者屬於的組 groups apache
5、開啟httpd服務
service httpd restart
現在就可以通過”http://ip/svn″來訪問我們的svn 伺服器了