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

SVN之——SVN 版本管理系统的安装(基于CentOS6.5 + Subversion + Apache + Jsvnadmin)

2017-04-30 13:54 931 查看
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/71013092

CI 服务器: 192.168.50.131

root 用户操作

一、安装 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 服务

1、安装SVN

# yum install mod_dav_svn subversion
必须安装 mod_dav_svn 模块

安装完 svn 后要重启 apache
# service httpd restart

2、查看测试是否安装 svn 模块

# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
# svn --versio

3、创建 svn 库主目录(多库模式, 一份配置文件管理多个库)

# mkdir /svn/
# cd /etc/httpd/conf.d
# ls
# vi subversion.conf
此时可以看到一个 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/

4、创建/svn/passwd.http 和/svn/authz

# touch /svn/passwd.http
# touch /svn/authz
重启 apache
# service httpd restart

三、安装 jsvnadmin

1、svnadmin 介绍

(在 Google Code 上,需要 FQ 才能下载。 大家可以到链接 http://download.csdn.net/detail/l1028386804/9829664下载svnadmin-3.0.5.zip) https://code.google.com/p/jsvnadmin/
https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip

下载后解压的目录结构如下图:



2、安装

解压后即可使用,具体配置使用方式见下文。

四、安装 MySQL( 单独安装, 与业务系统的数据库分开)

1、源码安装

可参见博文《MySQL之——CentOS6.5 编译安装MySQL5.6.16

2、便捷安装

# 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 'root'
登录数据库:
# mysql -uroot -proot


3、MySQL 授权远程访问(先用 root 登录 mysql)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH
GRANT OPTION;
mysql> FLUSH PRIVILEGES;


五、使用 Tomcat7 部署 svnadmin

1、部署svnadmin

cd /usr/local
使用 wget 下载最新版的 tomcat7 的 tar.gz 包
# tar -zxvf apache-tomcat-7.0.xx.tar.gz
# mv apache-tomcat-7.0.xx svnadmin-tomcat
修改 Tomcat 的容器编码为 UTF-8
# vi /usr/local/svnadmin-tomcat/conf/server.xml
修改以下内容
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
防火墙中打开 8080 端口
# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启防火墙, 使端口配置生效
# service iptables restart
# cd /usr/local/svnadmin-tomcat/webapps
# rm -rf *
上传 svnadmin.war 到/usr/local/svnadmin-tomcat/webapps 目录

svnadmin.war在svnadmin-3.0.5.zip压缩包中,如下:



# cd /usr/local/svnadmin-tomcat/webapps
解压
# unzip svnadmin.war -d svnadmin
备份
# mv svnadmin.war /usr/local/src/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=root


2、创建 svnadmin 数据库并导入相应数据( UTF-8 编码)

在mysql命令行执行 db/mysql5.sql 中的sql语句和 db/lang/en.sql中的sql语句

mysql5.sql 和lang/en.sql同样在svnadmin-3.0.5.zip下的db目录下

3、启动 svnadmin-tomcat

/usr/local/svnadmin-tomcat/bin/startup.sh
浏览器中打开: http://192.168.50.131:8080/svnadmin/


这里我们输入admin,admin点击登录



4、创建库





此时:

/svn/目录下会创建一个 lyz_study 的 SVN 库目录。

同 时 也 会 多 出 一 个 httpd.conf 文 件 , 内 容 与 subversion.conf 一 样 , 在

/etc/httpd/conf.d/subversion.conf 中已配置。

/svn/authz 授权文件中会多出如下内容

[aliases]
[groups]
lyz_study_developer=
lyz_study_manager=
lyz_study_tester=
[lyz_study:/]
@lyz_study_manager=rw
以上过程其实是调用了 svn 对应的命令做了相应的操作

5、配置库目录权限

# cd /svn
# chown -R apache.apache lyz_study
# chmod -R 777 lyz_study
如创建新库,需要对新建的库目录执行以上两步授权操作)

6、关闭 SELinux( Linux 的访问控制)

修改/etc/selinux/config 文件

# vi /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled

重启机器即可
# reboot


六、SVN 版本管理平台( Subversion+Apache+Jsvnadmin) 的使用

先安装 SVN 管理客户端 TortoiseSVN(Windows上的软件), 方便对 SVN 库的操作和管理
http://tortoisesvn.net/downloads.html

( 注意 64 位系统要安装 64 位版)

接下来可以对 lyz_study 库进行相应的操作

(1) 用户组

(2) 用户

(3) 授权

(4) 导入项目

详细使用步骤





我们输入账号与密码:lyz  lyz123点击提交(注:角色除了要添加到admin的角色都可以不选)。









输入相关信息,点击提交















设置所有人可读





至此,配置结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: