您的位置:首页 > 运维架构 > Apache

分布式架构学习之持续集成:009--SVN版本管理系统的安装和使用(CentOS+Subversion+Apache+Jsvnadmin)

2017-05-10 15:42 1066 查看
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

 http://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 才能下载。)

 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



创建库









接下来就可以对wusc-edu库进行操作

1、用户组

2、用户

3、权限

4、导入项目



jsvnadmin介绍

什么是Svn Admin

Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装好Svn服务器端好,把Svn
Admin部署好,就可以通过web浏览器管理Svn的项目,管理项目的用户,管理项目的权限。使得管理配置Svn简便,再也不需要每次都到服务器手工修改配置文件。

有什么优点

· 多数据库:Svn项目配置数据保存在数据库,支持所有数据库(默认MySQL/Oracle/SQL Server)。

· 多操作系统:支持Window,Linux等操作系统。

· 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码。

· 支持多项目、多用户、多用户组Group(默认带有“项目管理组”、“项目开发组”、“项目测试组”)。

· 安全:密码加密保存。

· 多协议:支持svn协议和http协议(从2.0开始支持Apache服务器单库方式,从3.0开始支持Apache多库方式)

· 仓库浏览(从3.0.2开始)

· 多语言(从3.0.2开始)

是否适合你

· Svnadmin在Java 1.6、Tomcat 6、Subversion
1.6、MySQL 5.1、Apache 2.2、Windows
7上开发测试通过,同时支持其他操作系统和数据库。

· 支持svn协议

Svn的配置信息都在仓库目录的conf下的authz,passwd,svnserve.conf三个文件中,配置用户和权限都是通过修改passwd和authz,立刻就生效。Svn
Admin的本质是对这3个文件进行管理,所有成员、权限的数据都保存在数据库中,一旦在Svn Admin的页面上修改,就会把配置信息输出到conf下的那3个配置文件中。

· 支持http协议

Apache+SVN配置成功后可以有两种方式:

1. 多库方式:SVNParentPath
指定一个父目录,所有仓库在这个父目录下,使用一个密码文件和一个权限配置文件。优点是增加删除仓库不需要改apache的httpd.conf,不需要重启Apache。缺点是项目多会很混乱。

2. 单库方式:SVNPath
每个仓库单独配置各自的密码和权限文件。优点是各自分开,互相不影响,维护方便。缺点是增加或删除仓库需要修改apache的httpd.conf后重启。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐