安裝環境: centos
一,安裝必須的軟件包.
yum install subversion mod_dav_svn
二,基本的SVN服務器配置
1,新建一個目錄用於存儲SVN全部文件
# mkdir /home/svn
2,新建一個版本倉庫
# svnadmin create /home/svn/test
3,初始化版本倉庫中的目錄,導入原始代碼
若是原代碼已經有svn的相關文件,則切換到原代碼目錄,先刪除這些svn相關的文件和文件夾。假定/home/user/code/src存放源代碼
# cd /home/user/code/src
# find ./ -name "*.svn" | xargs rm -rf
# svn import /home/user/code/src file:///home/svn/test/ -m "init test code"
4,添加用戶
在/home/svn/test/conf/passwd文件添加形如「username=password"的條目。
[users]
admin = adminpass
user1 = 123456
5,修改用戶訪問策略
/home/svn/test/conf/authz記錄用戶的訪問策略:
[groups]
[test:/]
admin = rw
user1 = r
* =
[test:/modue]
admin = rw
user1 = rw
* =
以上表示admin具備全部的讀寫權限,user1在modue文件夾下可讀可寫,根目錄下只讀。也能夠配置組的權限。
6,修改/home/svn/test/conf/svnserve.conf文件,讓用戶和策略配置生效.
svnserve.conf內容以下:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
7,啓動服務器
# svnserve -d -r /home/svn
8,測試服務器
# svn co svn://192.168.1.5/test
按提示先輸入用戶密碼,再輸入svn的用戶名、密碼,就能夠了。
# cd test
# vim main.c
# svn add main.c
# svn commit main.c -m "comment"
Adding main.c
Transmitting file data .
Committed revision 2. ( 測試提交成功 )
三,配置SVN服務器的HTTP支持(能夠用瀏覽器看代碼)
詳細配置請參考 http://www.blogjava.net/jasmine214--love/archive/2010/09/26/332989.html
1,修改httpd.conf,添加關於SVN服務器的內容
修改/etc/httpd/conf/httpd.conf。
2,重啓HTTPD服務器
# service httpd restart
3,用瀏覽器訪問http://192.168.1.5/test
4、可能出現的問題
1. 若是外網不能正常訪問,可能還須要做端口映射,對外網開放3690端口。
檢查端口是否打開,能夠用命令: telnet xxx.xxx.xxx.xxx 3690
2. 在windows下checkout的時候,若是出現相似如下的錯誤:
緣由是linux下有同名但大小寫不一樣的文件。一種解決辦法是儘可能避免這種狀況,改爲不一樣的名稱。
更多配置參見:
http://www.linuxidc.com/Linux/2011-02/31914.htm
http://www.blogjava.net/jasmine214--love/archive/2010/09/26/332989.html