集團标準化工作小組 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]
集團标準化工作小組 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]
搭建SVN伺服器界面管理
SVN伺服器 + 搭建
系統環境關閉iptables和selinux
SVN伺服器搭建
安裝必備軟體包
yum install subversion?-server httpd mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced
說明:subversion (SVN伺服器)-server (用于codestriker)httpd mod_dav_svn mod_perl (用于支援WEB方式管理SVN伺服器)sendmail (用于配置使用者送出代碼後發郵件提醒)wget gcc-c++ make unzip perl* (必備軟體包)ntsysv vim-enhanced (可選)
基本的SVN伺服器配置
建立一個目錄用于存儲SVN所有檔案mkdir /home/svn
建立一個版本倉庫svnadmin create /home/svn/project
初始化版本倉庫中的目錄mkdir project project/server project/client project/test (建立臨時目錄)svn import project/ -m “初始化SVN目錄”rm -rf project (删除臨時建立的目錄)
添加使用者
要添加SVN使用者非常簡單,隻需在/home/svn/project/conf/passwd檔案添加一個形如“username=password”的條目就可以了。為了,我添加了如下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
liqing = liqing
liujj = liujj
liufj = liufj
修改使用者通路政策/home/svn/project/conf/authz記錄使用者的通路政策,以下是參考:
[groups]
admin = liqing,liujj
project_s = liqing,liujj
project_c = liqing,liujj
project_t = liqing,liujj
[project:/]
@admin = rw
* =
[project:/server]
@admin = rw
@project_s = rw
* =
[project:/client]
@admin = rw
@project_c = rw
* =
[project:/test]
@admin = rw
@project_s = r
@project_c = r
@project_t = r
* =
說明:以上資訊表示,隻有project_p使用者組有根目錄的讀寫權。r表示對該目錄有讀權限,w表示對該目錄有寫權限,rw表示對該目錄有讀寫權限。最後一行的* =表示,除了上面設定了權限的使用者組之外,其他任何人都被禁止通路本目錄。這個很重要,一定要加上!
修改檔案,讓使用者和政策配置升效.内容如下:[general]anon-access = noneauth-access = writepassword-db = /home/svn/project/conf/passwdauthz-db = /home/svn/project/conf/authz
啟動伺服器# svnserve -d -r /home/svn注意:如果修改了svn配置,需要重新開機svn服務,步驟如下:
# ps -aux|grep svnserve# kill -9 ID号# svnserve -d -r /home/svn
測試伺服器
[[email protected] tools]# svn co project/server
A project/server/
A project/client
A project/test
Checked out revision 2.( 測試提取成功 )
配置SVN伺服器的HTTP支援
轉換SVN伺服器的密碼
由于SVN伺服器的密碼是明文的,HTTP伺服器不與支援,是以需要轉換成HTTP支援的格式。我寫了一個Perl腳本完成這個工作.
#!/usr/bin/perl
# write by huabo,