01.基礎篇--第12節--持續集成篇--SVN版本管理系統的安裝(CentOS+Subversion+Apache+Jsvnadmin)

SVN 版本管理系統的安裝html

                   CentOS + Subversion + Apache + Jsvnadmin

CI 服務器:192.168.x.xxx root 用戶操做node

建議安裝前更新操做系統mysql

# yum update ,若不能正常更新,請參考上一篇文章。linux

更新完成後重啓 # rebootweb

安裝 apachesql

# yum install httpd httpd-devel
# service httpd start
# chkconfig httpd on

# vi /etc/httpd/conf/httpd.conf數據庫

防火牆中打開 80 端口:
# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # service iptables restart apache

http://192.168.4.221/

找到 ServerName 並修改爲瀏覽器

ServerName localhost:80tomcat

安裝 SVN 服務

 

# yum install subversion

安裝完 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 配置文件(是在安裝 # 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

mod_dav_svn

必須安裝 mod_dav_svn 模塊

 

安裝 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 瀏覽器中打開:http://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 庫的操做和管理

http://tortoisesvn.net/downloads.html

(注意 64 位系統要安裝 64 位版)

接下來能夠對 wusc_edu 庫進行相應的操做 (1) 用戶組
(2) 用戶
(3) 受權

(4) 導入項目 

相關文章
相關標籤/搜索