code

2017年1月27日 星期五

SVN in CentOS6.8

//安裝apache
yum install httpd
//修改apach 設定
vi /etc/httpd/conf/httpd.conf
//在httpd.conf中新增以下字串
ServerName yourip
//啟動服務
service httpd start
//預設開機啟動及關閉防火牆
chkconfig httpd on
service iptables stop
//安裝SVN
yum install subversion mod_dav_svn
//修改SVN設定
vi  /etc/httpd/conf.d/subversion.conf
//新增以下字串"/var/www/自訂資料夾位置",以下以svn為例
Alias /svn /var/www/svn
<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn/
   AuthType Basic
   AuthName "Subversion repositories"
   AuthUserFile /etc/svn-auth-users
   Require valid-user
</Location>

//開通user
htpasswd -cm /etc/svn-auth-users fox

//在www中增加專案
mkdir /var/www/svn
cd /var/www/svn/
svnadmin create repo
chown -R apache.apache repo/

//路徑關聯
svn import -m "Initial repository" "自訂對應路徑" file:///var/www/svn/repo/自訂名稱
EX:svn import -m "Initial repository" /tmp/myProject file:///var/www/svn/repo/myProject

//修改SVN權限設定,針對專案
vi /var/www/svn/repo/conf/svnserve.conf

[general]
#匿名訪問的權限,​​可為none,read,write
anon-access = none
#授權用戶的權限,可為none,read,write
auth-access = write
#密碼數據文件的路徑,如不以/開頭,則為相對路徑
password-db = passwd
#訪問控製文件的路徑,如不以/開頭,則為相對路徑
authz-db = authz
#認證命名空間,subversion會在認證提示裡顯示,並且作為憑證緩存的關鍵字,不同的代碼庫需要不同的realm
realm = PKI repository
//設定帳號與權限
vi /var/www/svn/repo/conf/passwd
vi /var/www/svn/repo/conf/authz
//以群組設定
[groups] 
admin = user1,user2
//個別權限設定rw可讀可寫
[/] 
user1 = rw 
@admin = rw 
* =
//重啟apache
service httpd restart
//啟動SVN並對應到port3690
svnserve -d -r /var/www/svn/repo/ --listen-port 3690
//確定是否執行
netstat -antple | grep svn
//自動執行設定
修改 /etc/rc.d/rc.local 
並加入
svnserve -d -r /var/www/svn/repo/ --listen-port 3690
p.s.預設狀況下 /etc/rc.d/rc.local 是不可執行的,要把它改成可執行才會跑:
sudo chmod +x /etc/rc.d/rc.local
重開機:reboot
檢查是否啟用:

netstat -antple | grep svn

參考來源:SVN in CentOS7