天天看點

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

<a href="http://192.168.4.221/">http://192.168.4.221/</a>

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

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

安裝jsvnadmin

svnadmin介紹

(在google code上,需要fq才能下載下傳。我們也會把最新版的jsvnadmin放到群共享中)

<a href="https://code.google.com/p/jsvnadmin/">https://code.google.com/p/jsvnadmin/</a>

<a href="https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip">https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip</a>

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

-a input -m state --state new -m tcp -p tcp --dport 3306 -j accept

重新開機防火牆,使端口配置生效

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

mysqladmin -u root password 'wusc.123'

登入資料庫:

mysql -u root -p

mysql授權遠端通路(先用root登入mysql)

mysql&gt; grant all privileges on . to 'root'@'%' identified by 'wusc.321' with grant option;

mysql&gt; 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"

防火牆中打開9000端口

-a input -m state --state new -m tcp -p tcp --dport 9000 -j accept

cd /root/svnadmin-tomcat/webapps

rm -rf *

上傳 svnadmin.war 到/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

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

如:輸入admin,wusc.123

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

建立庫

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

此時:

/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

重新開機機器即可

svn版本管理平台(subversion+apache+jsvnadmin)的使用:

先安裝svn管理用戶端tortoisesvn,友善對svn庫的操作和管理

<a href="http://tortoisesvn.net/downloads.html">http://tortoisesvn.net/downloads.html</a>

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

接下來可以對wusc_edu庫進行相應的操作

(1) 使用者組

(2) 使用者

(3) 授權

(4) 導入項目

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