1. jsvnadmin 介紹
https://code.google.com/p/jsvnadmin/
Svn Admin是一個Java開發的管理Svn服務器的項目用戶的web應用。安裝好Svn服務器端好,把Svn Admin部署好,就可以通過web瀏覽器管理Svn的項目,管理項目的用戶,管理項目的權限。使得管理配置Svn簡便,再也不需要每次都到服務器手工修改配置文件。
- 多數據庫:Svn項目配置數據保存在數據庫,支持所有數據庫(默認MySQL/Oracle/SQL Server)。
- 多操作系統:支持Window,Linux等操作系統。
- 權限控制:管理員可以隨意分配權限、項目管理員可以管理項目成員、成員只能查看和修改自己的密碼。
- 支持多項目、多用戶、多用戶組Group(默認帶有“項目管理組”、“項目開發組”、“項目測試組”)。
- 安全:密碼加密保存。
- 多協議:支持svn協議和http協議(從2.0開始支持Apache服務器單庫方式,從3.0開始支持Apache多庫方式)
- 倉庫瀏覽(從3.0.2開始)
- 多語言(從3.0.2開始)
2.svnadmin下載地址
https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip ,解壓后有svnadmin.war和db數據庫文件
3.安裝MySQL,JDK,Tomcat,SVN
安裝Mysql http://blog.csdn.net/zsg88/article/details/75269457
安裝JDK http://blog.csdn.net/zsg88/article/details/75208710
安裝TOMCAT http://blog.csdn.net/zsg88/article/details/74906718
安裝SVN http://blog.csdn.net/zsg88/article/details/75269156
4. 安裝Apache
# yum install httpd httpd-devel
# service httpd start
# chkconfig httpd on
# vi /etc/httpd/conf/httpd.conf
找到 ServerName 並修改成
ServerName localhost:80
防火牆中打開 80 端口:
# vi /etc/sysconfig/iptables
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# service iptables restart
5.安裝mod_dav_svn模塊,使用http協議訪問svn
# yum install mod_dav_svn
重啟apache
# service httpd restart
查看測試是否安裝 svn 模塊
# ls /etc/httpd/modules/ | grep svn
6.創建 svn 庫主目錄(多庫模式,一份配置文件管理多個庫)
# mkdir /svn/
編輯 /etc/httpd/conf/httpd.conf 文件
# vi /etc/httpd/conf/httpd.conf
添加以下內容
- <Location /svn/>
- DAV svn
- SVNListParentPath on
- SVNParentPath /svn
- AuthType Basic
- AuthName "subversion repository"
- AuthUserFile /svn/passwd.http
- AuthzSVNAccessFile /svn/authz
- Require valid-user
- </Location>
<Location /svn>中的"/svn"表示我們的svn的訪問URL為"http://ip/svn"
"DAV svn"表示使用"mod_dav_svn"模塊,dav是一種http 1.1擴展協議,mod_dav_svn只是該協議的一種應用。
SVNListParentPath on 多庫特有
SVNParentPath /svn 多版本庫時的共同目錄,與單版本的不同
AuthName 表示輸入用戶名和密碼時的提示信息
AuthType 認證類型,這里我們使用基本的認證類型
AuthUserFile 表示認證文件的位置,我們待會創建它。 passwd.http 和 jsvnadmin中使用的文件保持一致
AuthzSVNAccessFile是權限控制文件,單個版本庫可要可不要,多個版本庫要設置不同版本庫的權限。authz 和 jsvnadmin中使用的文件保持一致
創建/svn/passwd.http和/svn/authz
# touch /svn/passwd.http
# touch /svn/authz
重啟apache
# service httpd restart
7.創建svnadmin數據庫並導入相應數據(UTF-8編碼)
執行db/mysql5.sql 和db/lang/en.sql
8 解壓svnadmin.war
cd /usr/local/program/tomcat8/webapps
unzip /home/zsg/Downloads/svnadmin.war -d svnadmin
9.編輯jdbc配置文件
# cd svnadmin/WEB-INF
# vi jdbc.properties
- db=MySQL
- #MySQL
- MySQL.jdbc.driver=com.mysql.jdbc.Driver
- MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8
- MySQL.jdbc.username=root
- MySQL.jdbc.password=123456
10.啟動tomcat
瀏覽器中打開:http://ip:端口/svnadmin/
11 創建項目
/svn/目錄下會創建一個abc的SVN庫目錄。
同時也會多出一個httpd.conf文件,內容就是我們步驟6中添加的內容。
/svn/authz 授權文件中會多出如下內容:
- [aliases]
- [groups]
- abc_developer=
- abc_manager=admin
- abc_tester=
- [abc:/]
- @abc_manager=rw
以上過程其實是調用了svn對應的命令做了相應的操作。
12 配置庫目錄權限
查看vi /etc/httpd/conf/httpd.conf
我們發現,apache的用戶是apache,用戶組是apache
我們需要給新建的工程目錄給apache用戶授予權限。
# cd /svn
# chown -R apache.apache abc
# chmod -R 777 abc
(如創建新庫,需要對新建的庫目錄執行以上兩步授權操作)
關閉SELinux(Linux的訪問控制)
修改/etc/selinux/config 文件
# vi /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled
重啟機器即可
# reboot
13 先安裝SVN管理客戶端TortoiseSVN
http://tortoisesvn.net/downloads.html (注意64位系統要安裝64位版)
安裝后輸入項目庫地址,輸入帳號密碼
14接下來可以對wusc_edu庫進行相應的操作
(1)
用戶組
(2)
用戶
(3)
授權
(4)
導入項目
引自 http://blog.csdn.net/RobertoHuang/article/details/55505879