- 查看是否已經安裝了svn
svnserve --version
- 沒有安裝的話安裝subversion,直接用yum 安裝
yum install -y subversion
- 啓動svn
svnserve -d -r /svn
如果報如下的錯誤
svnserve: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory
找不到libaprutil-1.so.0,於是
find / -name libaprutil-1.so.0
結果
/www/server/apache/lib/libaprutil-1.so.0
將apr依賴包添加到共享庫
more /etc/ld.so.conf
出現
include ld.so.conf.d/*.conf
創建apr共享庫配置文件
cd /etc/ld.so.conf.d/
vi httpd-apr.conf
添加
/www/server/apache/lib/
更新共享庫配置
ldconfig -v
- 檢測是否安裝成功
svn --version
-
創建svn目錄
根目錄下創建文件夾mkdir /svn
-
創建svn版本庫
要幾個svn文件夾,對應創建幾個版本庫,這裏舉例2個
svnadmin create /svn/demo1 ##創建demo2版本庫
svnadmin create /svn/demo2 ##創建demo2版本庫
-
配置相關信息
打開conf文件夾,可以看到下面3個文件 也可以直接用寶塔打開編輯
-
打開passwd,輸入想設置aa版本庫的賬號密碼,如 賬號:root密碼:root
-
打開authz,在最下面增加入相關信息。參考默認的自行修改
-
打開svnserve.conf,修改相關配置信息。
操作完畢,進入demo1文件夾,再進行一遍相同操作,配置demo1庫的信息 -
配置鉤子,讓代碼同步自動更新(可以不設置) 進入hooks文件夾
複製一份post-commit.tmpl爲post-commit,並修改:post-commit內容,爲:
#!/bin/sh
export LANG=zh_CN.UTF-8 #(這句話比較重要,如果客戶端跟服務器編碼不一樣會出現同步失敗)
SVN_PATH=/usr/bin/svn #代表你的svn服務文件地址 如果是通過yum安裝的話,或者已經註冊了svn服務,則可以直接使用svn,不需要輸入全路徑)
WEB_PATH=/www/wwwroot/tp5 #你的web目錄(將要同步過去的web項目路徑)
LOG_PATH=/tmp/svn_update.log #同步日誌
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH update --username 賬號--password 密碼 $WEB_PATH --no-auth-cache >> $LOG_PATH
- 然後現在去你填寫的WEB_PATH那裏的上一層目錄,也就是/www/wwwroot然後在這裏:
svn checkout svn://ip/倉庫/
- 配置防火牆端口(如果需要)/或者直接在服務器安全組開放3690默認端口,在寶塔上添加3690端口
vi /etc/sysconfig/iptables
添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存後重啓
service iptables restart
- 啓動svn
先關閉svn服務:killall svnserve
再啓動svn服務:svnserve -d -r /svn
- 查看svn是否運行命令
ps aux | grep svnserve 或者 ps -ef | grep svn
- 訪問方式
demo1庫:svn://ip地址/demo1
demo2庫:svn://ip地址/demo2