天天看点

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