閱讀881 返回首頁    go 阿裏雲 go 技術社區[雲棲]


SVN版本管理係統的安裝 CentOS + Subversion + Apache + Jsvnadmin

CI服務器:192.168.4.221
root用戶操作

建議安裝前更新操作係統
yum update
更新完成後重啟
reboot

安裝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

https://192.168.4.221/

安裝SVN服務
yum install mod_dav_svn subversion
必須安裝mod_dav_svn模塊

安裝完svn後要重啟apache
service httpd restart

查看測試是否安裝svn模塊
ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
svn --version

創建svn庫主目錄(多庫模式,一份配置文件管理多個庫)
mkdir /svn/

cd /etc/httpd/conf.d
ls

此時可以看到一個subversion.conf配置文件(是在安裝mod_dav_svn模塊時生成的)

vi subversion.conf
添加以下內容
Include /svn/httpd.conf
Location /svn/
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
Require valid-user
/Location
RedirectMatch ^(/svn)$ $1/

創建/svn/passwd.http和/svn/authz
touch /svn/passwd.http
touch /svn/authz

重啟apache
service httpd restart

安裝jsvnadmin
svnadmin介紹
(在Google Code上,需要FQ才能下載。我們也會把最新版的jsvnadmin放到群共享中)
https://code.google.com/p/jsvnadmin/
https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip

安裝MySQL(單獨安裝,與業務係統的數據庫分開)
rpm -qa | grep mysql ## 查看該操作係統上是否已經安裝了mysql數據庫,
有的話,可以通過 rpm -e 命令 或者 rpm -e --nodeps 命令來卸載掉
yum install mysql-server mysql mysql-devel
service mysqld start

chkconfig --list | grep mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
用上麵的命令查看到MySQL並沒有設置開機啟動,所以需要設置開機啟動
chkconfig mysqld on

為了方便遠程管理,防火牆中打開3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重啟防火牆,使端口配置生效
service iptables restart

設置MySQL數據庫root用戶的密碼:
mysqladmin -u root password 'wusc.123'
登錄數據庫:
mysql -u root -p

MySQL授權遠程訪問(先用root登錄mysql)
mysql> GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'wusc.321' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

使用Tomcat7部署svnadmin
cd /root
使用wget下載最新版的tomcat7 的tar.gz包
tar -zxvf apache-tomcat-7.0.xx.tar.gz
mv apache-tomcat-7.0.xx svnadmin-tomcat

修改Tomcat的端口為9000和容器編碼為UTF-8
vi /root/svnadmin-tomcat/conf/server.xml
修改以下標紅的內容
Server port="9005" shutdown="SHUTDOWN"
Connector port="9000" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" /

防火牆中打開9000端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
重啟防火牆,使端口配置生效
service iptables restart

cd /root/svnadmin-tomcat/webapps
rm -rf *

上傳 svnadmin.war 到/root/svnadmin-tomcat/webapps目錄
cd /root/svnadmin-tomcat/webapps
解壓
unzip svnadmin.war -d svnadmin
備份
mv svnadmin.war /root/tools/
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=wusc.123

創建svnadmin數據庫並導入相應數據(UTF-8編碼)
執行db/mysql5.sql 和 db/lang/en.sql

啟動svnadmin-tomcat
/root/svnadmin-tomcat/bin/startup.sh
瀏覽器中打開:https://192.168.4.221:9000/svnadmin/

如:輸入admin,wusc.123

創建庫

此時:
/svn/目錄下會創建一個wusc_edu的SVN庫目錄。
同時也會多出一個httpd.conf文件,內容與subversion.conf一樣,在/etc/httpd/conf.d/subversion.conf中已配置。
/svn/authz 授權文件中會多出如下內容:
[aliases]
[groups]
wusc_edu_developer=
wusc_edu_manager=
wusc_edu_tester=

[wusc_edu:/]
@wusc_edu_manager=rw

以上過程其實是調用了svn對應的命令做了相應的操作

配置庫目錄權限
cd /svn
chown -R apache.apache wusc_edu
chmod -R 777 wusc_edu
(如創建新庫,需要對新建的庫目錄執行以上兩步授權操作)

關閉SELinux(Linux的訪問控製)
修改/etc/selinux/config 文件
vi /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled
重啟機器即可
reboot

SVN版本管理平台(Subversion+Apache+Jsvnadmin)的使用:

先安裝SVN管理客戶端TortoiseSVN,方便對SVN庫的操作和管理
https://tortoisesvn.net/downloads.html
(注意64位係統要安裝64位版)

接下來可以對wusc_edu庫進行相應的操作
(1) 用戶組
(2) 用戶
(3) 授權
(4) 導入項目

最後更新:2017-08-19 01:33:15

  上一篇:go  讀書筆記:Fuxi: a Fault-Tolerant Resource Management and Job Scheduling System at Internet Scale
  下一篇:go  Dubbo監控中心的介紹與簡易監控中心的安裝( 補充文檔 )