1. 程式人生 > >持續整合篇之SVN版本管理系統的安裝(CentOS+Subversion+Apache+Jsvnadmin)

持續整合篇之SVN版本管理系統的安裝(CentOS+Subversion+Apache+Jsvnadmin)

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

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

https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip

 CSDN地址的下載

安裝MySQL(單獨安裝,與業務系統的資料庫分開)

rpm -qa | grep MySQL      ## 檢視該作業系統上是否已經安裝了mysql資料庫

有的話,可以通過 rpm -e 命令 或者rpm -e --nodeps 命令來解除安裝掉

yum installmysql-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埠

-A INPUT -m state --state NEW-m tcp -p tcp --dport 3306 -j ACCEPT

重啟防火牆,使埠配置生效

service iptables restart

設定MySQL資料庫root使用者的密碼:

mysqladmin -uroot password 'root'

登入資料庫:

# mysql -u root -p

MySQL授權遠端訪問(先用root登入mysql)

mysql> GRANT ALLPRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wusc.321' WITH GRANT OPTION;

mysql> FLUSHPRIVILEGES;

使用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

解壓

unzipsvnadmin.war -d svnadmin

備份

mv svnadmin.war/root/tools/

cdsvnadmin/WEB-INF

vijdbc.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

建立svnadmin資料庫並匯入相應資料(UTF-8編碼)

執行db/mysql5.sql 和db/lang/en.sql

啟動svnadmin-tomcat

/root/svnadmin-tomcat/bin/startup.sh


如:輸入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對應的命令做了相應的操作

記得將登入的Admin賬號,加入新建立的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