1.運行以下命令安裝SVN
yum install subversion
2.運行以下命令創建目錄
mkdir /var/svn
3.依次運行以下命令創建版本庫
cd /var/svn
svnadmin create /var/svn/test.php2013.com
4.依次運行以下命令查看自動生成的版本庫文件。
cd test.php2013.com
ls
5.設置賬號密碼
vim conf/passwd
#(注意等號兩端要有一個空格)
hly = huangliuyuans (username = passwd)
6.設置權限
vim conf/authz
在末尾添加如下代碼(其中,r表示讀,w表示寫):
[/]
#username=passwd
hly=rw
*=
7.修改svnserve.conf文件
vim conf/svnserve.conf
#開啟下面的項 最前盡量不要有空格
anon-access = read #匿名用戶可讀,您也可以設置 anon-access = none,不允許匿名用戶訪問。設置為 none,可以使日志日期正常顯示
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為賬號文件
authz-db = authz #使用哪個文件作為權限文件
realm = /var/svn/test.php2013.com #認證空間名,版本庫所在目錄
8.啟動SVN版本庫
svnserve -d -r /var/svn #庫根目錄
9.查看SVN服務是否開啟
ps -ef |grep svn
10.添加安全組規則 放行TCP 3690端口 (阿里雲ecs安全入方向 & 寶塔面板加防火牆)
11.checkout一份SVN(從svn版本庫到web服務器根目錄)
#svn co svn://127.0.0.1/test.php2013.com WEB服務器根目錄
svn co svn://127.0.0.1/test.php2013.com /www/wwwroot/test.php2013.com #svn://127.0.0.1/ 為svn根目錄 svn://127.0.0.1/test.php2013.com 為項目目錄
提示:Password for 'root': (回車跳過)
提示:Username:(svn的username)
提示:Password for 'hly':(svn的username)
Store password unencrypted (yes/no)? yes
12.建立同步腳本
cd /var/svn/test.php2013.com/hooks/
cp post-commit.tmpl post-commit
13.編輯post-commit,在文件最后追加以下內容
export LANG=zh_CN.UTF-8 #(這句話比較重要,如果客戶端跟服務器編碼不一樣會出現同步失敗)
SVN_PATH=/usr/bin/svn #代表你的svn服務文件地址 如果是通過yum安裝的話,或者已經注冊了svn服務,則可以直接使用svn,不需要輸入全路徑)
WEB_PATH=/www/wwwroot/test.php2013.com #你的web目錄(將要同步過去的web項目路徑)
LOG_PATH=/tmp/svn_update.log #同步日志
/usr/bin/chown -R www. /www/wwwroot/test.php2013.com
$SVN_PATH update $WEB_PATH --username hly --password Huangliuyuan33
chown -R 766 $WEB_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
保存退出
修改 post-commit 權限
chmod +x post-commit
svn://外網ip/test.php2013.com 就可以了