最近公司上馬新項目了,需要在服務器上搭建一個svn server,把這個任務交給了我,參考了網上的內容,將整個過程總結一下:
公司服務器:centos
工程名:property
svn倉庫:~/source/svn/property
訪問地址:svn://ip/property
一、 安裝svn
yum install subversion
二、 svn服務器配置
1. 創建svn根目錄
mkdir ~ /source/svn
2. 添加工程(倉庫)
svnadmin create ~/source/svn/property
4. 配置工程用戶
進入工程的配置目錄:
cd ~/source/svn/property/conf
下面一共三個文件:authz passwd svnserve.conf
passwd: 裏面保存用戶信息,基本格式爲:user = passwd
authz: 裏面保存用戶的分組信息,以及每個組的訪問權限
svnserve.conf: 裏面保存服務器的基本配置(下面介紹)
針對該例子的配置如下:
4.1 passwd裏面添加用戶
[users]
pm = pm123
4.2 authz配置用戶權限
複製代碼
[groups]
#添加一個分組(實際當中可以添加多個,每個組可以有多個用戶以,隔開)
pm_g = pm1,pm2,pm3
# 該項目的權限配置
[project:/]
# pm_g分組配置讀寫權限(實際中可以增加只讀分組)
@pm_g = rw
4.3 svnserve.conf配置(可默認)
# 匿名用戶權限(none:拒絕, write:讀寫, read:只讀權限)
anon-access = none
# 鑑權用戶訪問
auth-access = write
# 用戶信息配置文件(也可以是絕對路徑)
password-db = passwd
# 權限配置文件
authz-db = authz
三、 啓動svn服務器
svnserve -d -r ~/source/svn
四、 拉取代碼
svn co svn://ip/project
注意:
在搭建的過程中,也遇到了一些問題,我用eclipse的svn插件拉取項目一直失敗,提示連接不到服務器
我用命令查看端口:
lsof -i
lsof -i:3690
沒有問題
然後查看服務進程是否啓動:
ps -ef|grep svnserve
顯示有兩個相關進程,也沒問題
頭都大了,覺得確實都沒有問題,但就是連不上
最後,抱着試一試的態度,想着會不會是因爲服務器的防火牆
關閉了防火牆,
OK了,問題解決了