安裝說明
安裝了一下SVN服務(wù)器铭拧,過程如下:
系統(tǒng)環(huán)境:CentOS 6
安裝方式:yum install (源碼安裝容易產(chǎn)生版本兼容的問題)
安裝軟件:系統(tǒng)自動(dòng)下載SVN軟件
檢查是否安裝了低版本的svn
[root@localhost /]# rpm -qa subversion
如果存儲(chǔ)舊版本恭金,卸載舊版本svn
[root@localhost modules]# yum remove subversion
安裝svn
[root@localhost modules]# yum install subversion -y
驗(yàn)證安裝
檢驗(yàn)已經(jīng)安裝的SVN版本信息
[root@localhost modules]# svnserve --version
代碼庫創(chuàng)建
svn軟件安裝完成后還需要建立svn庫
[root@localhost modules]# mkdir -p /opt/svn/repos
執(zhí)行下面的命令后检疫,自動(dòng)建立repo測(cè)試庫审编,查看/opt/svn/repos
[root@localhost modules]# svnadmin create /opt/svn/repos
配置代碼庫
進(jìn)入上面生成的文件夾conf下龟劲,進(jìn)行配置
[root@localhost modules]# cd /opt/svn/repos/conf
用戶密碼passwd配置
[root@localhost password]# cd /opt/svn/repos/conf
[root@admin conf]# vim passwd
修改passwd為以下內(nèi)容:
[users]
harry = harryssecret
sally = sallyssecret
hello=123
用戶名=密碼
這樣我們就建立了hello用戶撰豺, 123密碼
以上語句都必須頂格寫, 左側(cè)不能留空格, 否則會(huì)出錯(cuò).
權(quán)限控制authz配置
[root@admin conf]# vi authz
目的是設(shè)置哪些用戶可以訪問哪些目錄耻讽,向authz文件追加以下內(nèi)容:
設(shè)置[/]代表根目錄下所有的資源
[/] 或者寫成[repos:/]
hello = rw
意思是hello用戶對(duì)repos測(cè)試庫下所有的目錄有讀寫權(quán)限,當(dāng)然也可以限定秧秉。
如果是自己用褐桌,就直接是讀寫吧。
以上語句都必須頂格寫, 左側(cè)不能留空格, 否則會(huì)出錯(cuò).
服務(wù)svnserve.conf配置
[root@admin conf]# vi svnserve.conf
追加以下內(nèi)容:
[general]
匿名訪問的權(quán)限象迎,可以是read,write,none,默認(rèn)為read
anon-access=none
使授權(quán)用戶有寫權(quán)限
auth-access=write
密碼數(shù)據(jù)庫的路徑
password-db=passwd
訪問控制文件
authz-db=authz
認(rèn)證命名空間荧嵌,subversion會(huì)在認(rèn)證提示里顯示,并且作為憑證緩存的關(guān)鍵字
realm=/opt/svn/repos
以上語句都必須頂格寫, 左側(cè)不能留空格, 否則會(huì)出錯(cuò).
啟動(dòng)svn版本庫
svnserve -d -r /opt/svn/repos
常見問題解決
- 解決svnserve: Can't bind server socket: Address already in use
啟動(dòng)svn和指定端口的方法是:
svnserve -d -r /opt/svn/repos --listen-port 3691
記得讓防火墻放過3691端口哦,不然無法訪問,svn的默認(rèn)端口是3690.
- 查找SVN所用的端口
netstat -antple | grep svn
- 清除svn進(jìn)程
killall svnserve
- 配置防火墻端口
[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下內(nèi)容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重啟防火墻
[root@localhost conf]# service iptables restart
- 查看SVN進(jìn)程
[root@localhost conf]# ps -ef|grep svn|grep -v grep
- 檢測(cè)SVN 端口
[root@localhost conf]# netstat -ln |grep 3690
- 停止重啟SVN
[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /opt/svn/repos // 啟動(dòng)
- 如果已經(jīng)有svn在運(yùn)行砾淌,可以換一個(gè)端口運(yùn)行
svnserve -d -r /opt/svn/ --listen-port 3391
- 測(cè)試
SVN服務(wù)已經(jīng)啟動(dòng)啦撮,使用客戶端測(cè)試連接。
客戶端連接地址:svn://服務(wù)器ip:啟動(dòng)端口
用戶名/密碼: hello/123
測(cè)試創(chuàng)建文件夾等操作汪厨。