安裝步驟
1,yum install subversion
2,輸入rpm -ql subversion查看安裝位置,如下圖:
3,創建svn版本庫目錄
mkdir -p /var/svn/repository
4,在版本庫目錄下創建具體項目目錄
mkdir pro_oa
5,創建 SVN 版本庫
svnadmin create /var/svn/repository/pro_oa
執行了這個命令之後會在/var/svn/repository/pro_oa目錄下生成如下這些文件
6,進入conf目錄(該svn版本庫配置文件)
authz 權限控制文件
passwd 帳號密碼文件
svnserve.conf SVN服務配置文件
7,設置帳號密碼
vim passwd
在[users]塊中添加用戶和密碼,格式:帳號=密碼,如admin=admin
8,設置權限
vim authz
在末尾添加如下代碼:
[/]
dan=rw
w=r
意思是版本庫的根目錄dan對其有讀寫權限,w只有讀權限。
9,修改svnserve.conf文件
vim svnserve.conf
打開下面的幾個註釋:
anon-access = read #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作爲賬號文件
authz-db = authz #使用哪個文件作爲權限文件
realm = /var/svn/repository # 認證空間名,版本庫所在目錄
10,啓動svn版本庫
svnserve -d -r /var/svn/repository
a. 查看SVN進程
# ps -ef|grep svn
root 18164 1 0 17:12 ? 00:00:00 svnserve -d -r /var/svn/repository
b. 檢測SVN端口
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
測試連接:
(1) 在本地電腦上安裝TortoiseSVN客戶端:
成功安裝TortoiseSVN後在電腦桌面右鍵有TortoiseSVN提示;選擇Repo-browser;會出現一個地址欄;
(2)在地址欄輸入:svn://+服務器IP地址;如果安裝沒問題的話就會進入服務器的資源庫
(3)以之上的配置啓動後,對應的倉庫url爲
svn://ip/project ip替換爲啓動svn服務的服務器的ip
在linux命令行下 執行
svn checkout svn://ip/project
centos開機自動啓動SVN服務的方法
1、編輯rc.local文件
vi /etc/rc.d/rc.local
2、加入如下啓動命令
/usr/bin/svnserve -d -r /var/svn/repository
注意:
我們在用終端操作的時候,可以直接使用以下命令啓動SVN:
svnserve -d -r /var/svn/repository
但是在/etc/rc.d/rc.local 文件中必須寫上完整的路徑!
不知道svnserve安裝到哪裏了?
可以使用 whereis 命令查找一下:
svn認證失敗解決方案
配置用戶名密碼權限
vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
lisi= lisi
新增一行:
lisi= lisi
新增用戶“lisi”,密碼是“lisi”
vi authz
新增如下內容
[pro_oa:/] #svn根目錄(步驟5 新建svn的倉庫/項目)
lisi = rw #用戶有讀權限
vi svnserve.conf
打開如下幾行前面的註釋,一定要刪除前面的空格
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
啓動svn
在這裏有個坑就是啓動時候的路徑問題,會造成認證失敗,原因就是配置文件authz和啓動時候的路徑要對應上,否則會出現認證失敗。
要注意
authz文件中 使用的是svnadmin create pro_oa出來的目錄 [pro_oa:/]
所以我們對應啓動時候要以/ext/data/svndir目錄啓動,這裏一定要對應上,否則會出現認證失敗,我出錯的原因就是啓動時候使用svnserve -d -r /ext/data/svndir/pro_oa啓動導致的
svnserve -d -r /ext/data/svndir