1、安裝svn
#yum install mod_dav_svn subversion
2、建立 SVN的根目錄
#mkdir -p /opt/svn/
3、建立一個數據倉庫
#mkdir -p /opt/svn/wwwroot/
#svnadmin create /opt/svn/wwwroot/
4、修改配置文件 標粗字體
#cd /opt/svn/wwwroot/conf/
#vi svnserve.conf
[general]
anon-access = none #不允許匿名訪問
auth-access = write #認證用戶可寫
password-db = passwd #密碼文件
authz-db = authz #用戶驗證文件
#vi authz
[test:/]
user1= rw
#vi passwd
user1= user1777
5、啓動服務
#svnserve -d -r /opt/svn/
6、查看進程,如果要關閉svn,殺掉對應進程,kill -9 1867即可
#ps -A | grep svn
1867 ? 00:00:00 svnserve
到這一步,就可以使用svn客戶端TortoiseSVN,然後使用新建的帳號進行代碼提交更新了
如果要可以通過http直接訪問svn項目,則繼續往下
7、配置svn提交鉤子
#cd /opt/svn/wwwroot/hooks/
#cp post-commit.tmpl post-commit
#vi post-commit
#將裏面的所有代碼註釋掉,然後輸入如下代碼:
#!/bin/bash
export LANG=en_US.UTF-8
REPOS="$1"
REV="$2"
cd /var/www/html/svn1/wwwroot/
/usr/bin/svn cleanup
/usr/bin/svn up /var/www/html/svn1/wwwroot/ --username "user1" --password "user1777"
先在/var/www/html/svn1/wwwroot/使用checkout命令,使用svn客戶端提交幾個文件
在服務器的www目錄看是否自動更新了,之後即可使用http訪問
注意事項
1、防火牆必須打開svn端口3690
2、同步到的www目錄必須先checkout才能使用svn命令
3、post-commit鉤子腳本、同步的www目錄必須有寫入權限
4、svn命令svn checkout svn://192.168.10.111/wwwroot注意會把整個wwwroot文件夾一起checkout