在伺服器部署svn
- 先檢查是否安裝了svn,如果有就解除安裝掉
sudo apt-get remove --purge subversion
- 安裝svn
sudo apt-get install subversion
- 建立svn版本庫
1.建立放svn版本庫的檔案夾
mkdir /var/svn/svnrepos
2.在上面的路徑下建立版本庫
svnadmin create /var/svn/svnrepos/xxxx (xxxx為版本庫名稱,可自定義)
-
修改配置
進入版本庫的conf
cd /var/svn/svnrepos/xxxx/conf
conf下有3個檔案
authz:負責賬号權限的管理,控制賬号是否讀寫權限
passwd:負責賬号和密碼的使用者名單管理
svnserve.conf:svn伺服器配置檔案
1.配置passwd
vi passwd
将賬号和密碼資訊追加到檔案中即可,格式為:
賬号 = 密碼
例如:admin = 123456
注意 “=” 前後要有空格
2.配置authz
vi authz
[/]
admin = rw
*=
[/] ---------------------> 倉庫下所有檔案
admin = rw----------------->可讀可寫
*= ----------------------->其他使用者沒有權限
3.配置svnserve.conf
vi svnserve.conf
打開下面的5個注釋
anon-access = read #匿名使用者可讀
auth-access = write #授權使用者可寫
password-db = passwd #使用哪個檔案作為賬号檔案
authz-db = authz #使用哪個檔案作為權限檔案
realm = /var/svn/svnrepos/xxxx # 認證空間名,改成自己版本庫所在目錄
注意:
要删除#和代碼前的空格
- 啟動和停止服務
svnserve -d -r /home/svn(啟動)
killall svnserve(停止)
上述啟動指令中,-d表示守護程序, -r 表示在背景執行。
檢視服務是否啟動
[[email protected] conf]# ps -ef|grep svnserve
root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn
root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve
停止還可以采用殺死程序的方式:
[[email protected] conf]# kill -9 4908
用戶端連接配接服務
下載下傳rapidsvn
sudo apt-get install rapidsvn
點選書簽->右鍵->添加已存在的文檔庫
輸入URL
svn://(ip位址):3690(預設端口)/(你的版本庫名字)
設定服務自啟動
在/etc/init.d 路徑下建立腳本
vi subversion
#!/bin/sh
test -f /usr/bin/svnserve || exit 0
# 這裡是svnserve執行的參數,/var/svn/svnrepos改為你自己的版本庫位址
OPTIONS="-d -T -r /var/svn/svnrepos"
case "$1" in
start)
echo -n "Starting subversion daemon:"
echo -n " svnserve"
# 這裡的root:root為member:group,即使用者:組名,改為适合你自己的
start-stop-daemon --start --quiet --oknodo --chuid root:root --exec /usr/bin/svnserve -- $OPTIONS
echo "."
;;
stop)
echo -n "Stopping subversion daemon:"
echo -n " svnserve"
start-stop-daemon --stop --quiet --oknodo --exec /usr/bin/svnserve
echo "."
;;
reload)
;;
force-reload)
$0 restart
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/subversion (start|stop|reload|restart)"
exit 1
;;
esac
添加執行屬性
chmod +x /etc/init.d/subversion
添加啟動項
update-rc.d -f subversion defaults
在centos系統下設定
1、編輯rc.local檔案
vi /etc/rc.d/rc.local
2、加入如下啟動指令
/usr/bin/svnserve -d -r /home/svn
注意:
我們在用終端操作的時候,可以直接使用以下指令啟動SVN:
svnserve -d -r /home/svn
但是在/etc/rc.d/rc.local 檔案中必須寫上完整的路徑!
不知道svnserve安裝到哪裡了?
可以使用 whereis 指令查找一下:
可能出現的問題
1.rapidsvn用戶端的曆史記錄無法檢視
出現Item is not readable 的錯誤
解決辦法
修改 svnserve.conf檔案
将anon-access = read 修改成
anon-access = none