1.安裝:yum install subversion
2:測試:svnserve --version
3.mkdir /svn/repos
4. svnadmin create /svn/repos,repos就相當於是一個項目
5. 在/svn/repos/conf目錄下,編輯passwd,authz,svnserve.conf
authz內容
[groups]
admin = fyq
[/]
@admin = rw
yl=rw
passwd內容
[users]
fyq = 123456
yl=123456
svnserve.conf內容
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
去掉註釋就可以了,#號後面的空格也要去掉,每行要頂格
6.可以指定端口啓動svn,端口隨意指定,只要在防火牆打開就行了
svnserve -d -r /svn/repos --listen-port 8899
注意要去防火牆打開8899端口
vim /etc/sysconfig/iptables
加入一行:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8899 -j ACCEPT
7.重啓的命令
killall svnserve
svnserve -d -r /svn/repos --listen-port 8899
自動啓動svn:
1.vim /etc/rc.local
2.加入svnserve -d -r /svn/repos --listen-port 8899
8.連接服務器svn
svn://your server address (如果指定端口需要添加端口 :端口號)
如:svn://192.168.0.105:8899
下面介紹如何同步項目變更到web目錄
cd /svn/repos/hooks
cp post-commit.tmpl post-commit
chmod +x post-commit
vim post-commit
參考下面的內容設置
#設定環境變量,如果沒有設定可能會出現update報錯
export LANG=zh_CN.UTF-8
#設定語言,根據系統語言設置,如果是UTF-8 就設置爲 LANG=zh_CN.UTF-8
SVN_PATH=/usr/bin/svn
WEB_PATH=/usr/local/apache/htdocs
$SVN_PATH update svn://127.0.0.1:8899 $WEB_PATH --username fyq --password 123456 --no-auth-cache
username和password是在passwd文件中設置的用戶名和密碼
重啓svn服務
進入你要同步的web目錄,執行svn checkout命令,
svn checkout svn路徑 當前目錄(path是服務器上的目錄)
例如:svn checkout svn://192.168.1.1:8899 ./
然後再執行一下svn update命令
如果出現Username 某某某 can`t read stdin.......的錯誤
可以進入到你要同步的web目錄下,執行svn list,首先輸入centos系統密碼,然後重新設定用戶名和密碼,要和post-commit中保持一致。