系統環境:
CentOS-6.3
安裝方式:yum install (源碼安裝容易產生版本兼容的問題)
檢查已安裝版本
#檢查是否安裝了低版本的SVN
[root@localhost /]# rpm -qa subversion
#卸載舊版本SVN
[root@localhost modules]# yum remove subversion
安裝SVN
[root@localhost modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
確認已安裝了svn模塊
[root@localhost /]# cd /etc/httpd/modules
[root@localhost modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
驗證安裝
檢驗已經安裝的SVN版本信息
[root@localhost modules]# svnserve --version
svnserve,版本 1.6.11 (r934486)
編譯於 Jun 23 2012,00:44:03
版權所有 (C) 2000-2009 CollabNet。
Subversion 是開放源代碼軟件,請參閱 http://subversion.tigris.org/ 站點。
此產品包含由 CollabNet(http://www.Collab.Net/) 開發的軟件。
下列版本庫後端(FS) 模塊可用:
* fs_base : 模塊只能操作BDB版本庫。
* fs_fs : 模塊與文本文件(FSFS)版本庫一起工作。
Cyrus SASL 認證可用。
代碼庫創建
SVN軟件安裝完成後還需要建立SVN庫
[root@localhost modules]# mkdir -p /opt/svn/repositories
[root@localhost modules]# svnadmin create /opt/svn/repositories
執行上面的命令後,自動建立repositories庫,查看/opt/svn/repositories 文件夾發現包含了conf, db,format,hooks, locks, README.txt等文件,說明一個SVN庫已經建立。
配置代碼庫
進入上面生成的文件夾conf下,進行配置
[root@localhost modules]# cd /opt/svn/repositories/conf
用戶密碼passwd配置
[root@localhost password]# cd /opt/svn/repositories/conf
[root@admin conf]# vi + passwd
修改passwd為以下內容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456
權限控制authz配置
[root@admin conf]# vi + authz
目的是設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:
#設置[/]代表根目錄下所有的資源
[/]
zhoulf=rw
服務svnserve.conf配置
[root@admin conf]# vi + svnserve.conf
追加以下內容:
[general]
#匿名訪問的權限,可以是read,write,none,默認為read
anon-access=none
#使授權用戶有寫權限
auth-access=write
#密碼
數據庫的路徑
password-db=passwd
#訪問控制文件
authz-db=authz
#認證命名空間,subversion會在認證提示裡顯示,並且作為憑證緩存的關鍵字
realm=/opt/svn/repositories
配置防火牆端口
[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下內容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存後重啟防火牆
[root@localhost conf]# service iptables restart
啟動SVN
svnserve -d -r /opt/svn/repositories
查看SVN進程
[root@localhost conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
檢測SVN端口
[root@localhost conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
停止重啟SVN
[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /opt/svn/repositories // 啟動
測試
SVN服務已經啟動,使用客戶端測試連接。
客戶端連接地址:svn://192.168.15.231
用戶名/密碼: zhoulf/123456
測試創建文件夾等操作。