安裝篇
查看是否安裝了系統內建的subversion:
[root@topseek ~]# rpm -qa |grep subversion
subversion-1.6.11-12.el6_6.x86_64
若已經安裝則卸載掉:
[root@topseek ~]# yum remove subversion
下載subversion程式:
cd /usr/local/src/ && wget http://mirror.bit.edu.cn/apache/subversion/subversion-1.8.11.tar.bz2
解壓:
tar -jxvf subversion-1.8.11.tar.bz2
下載subversion依賴的sqlite資料庫,放置到subversion的檔案夾下:
cd subversion-1.8.11 && wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip && unzip sqlite-amalgamation-3071501.zip && mv sqlite-amalgamation-3071501 sqlite-amalgamation
編譯、安裝:
[weizhen@topseek ~]$ yum install perl-ExtUtils-Embed
[weizhen@topseek ~]$ cd /usr/local/src/subversion-1.8.11/
[weizhen@topseek subversion-1.8.11]$ ./configure --prefix=/opt/subversion
[weizhen@topseek subversion-1.8.11]$ make
[weizhen@topseek subversion-1.8.11]$ make install
加入系統變數:
echo 'export PATH=$PATH:/opt/subversion/bin'>>/etc/profile && source /etc/profile
至此,安裝完成。
配置篇
建立檔案夾:
mkdir -p /data/svndata/{project1,project2}
建立svn版本庫project1:
svnadmin create /data/svndata/project1
此時在下有若干檔案:
conf db format hooks locks README.txt
設定檔在conf下:
authz passwd svnserve.conf
其中svnserve.conf是版本庫配置,passwd是使用者設定檔,authz是許可權設定檔。
修改svnserve.conf設定檔如下:
[general]
# 使非授權使用者無法訪問
anon-access = none
# 使授權使用者有寫入權限
auth-access = write
# 指明密碼檔案路徑
password-db = passwd
# 存取控制檔案
authz-db = authz
修改使用者檔案passwd:
[users]
user01 = 123456
user02 = 123456
注意,前面是使用者名稱,後面是密碼。
修改authz按提示修改即可。
啟動SVN服務:
svnserve -d -r /data/svndata/
註:該指令用於啟動svn服務,-d指明以守護模式運行,svn自動在3690連接埠監聽。3690是預設連接埠,可以使用“–listen-port=”或者“–listen-host=”來指定其它連接埠以及非本地主機。-r選項用來指定svn服務的根目錄,這樣使用者就可以使用相對路徑訪問,而不用提供完整路徑。
關閉SVN進程:
killall svnserve
註:當指向/data/svndata/是表示可以建立多個倉庫,訪問時的地址是:“svn://IP/project1”、“svn://IP/project2”等形式
查看連接埠:
[root@topseek ~]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 25456 root 3u IPv4 2128419 0t0 TCP *:svn (LISTEN)
設定隨機啟動伺服器:
echo "svnserve -d -r /data/svndata/" >> /etc/rc.local
用戶端:
Windows下應該是TortoiseSVN這個免費的比較好用: