VisualSVN Server+Apache+Svn+Mysql+Tomcat+SvnAdmin版本管理系统的搭建

今天要跟大家说的是公司在做项目开发时用到的SvnAdmin来管理svn版本仓库,首先要准备以下这些工具:
1.Centos7的linux服务器;
2.TortoiseSVN1.8.4;
3.VisualSVN Server Manager 3.9.0;
4.ftp工具

一、迁移项目到linux服务器上
(1)、需要使用VisualSVN Server,
在Repositories上右键可以创建代码仓库,
在User上右键可以创建用户,设置用户名密码,
在Groups上右键可以创建组,组内用户拥有相同的权限
这里写图片描述
【注】实际项目开发中,会确定一个Java版本作为主干,后续开发会在分支上进行开发,本地测试通过后,再合并到主干上
(2)、上传项目到VisualSVN,新建个文件夹用来存放需要上传的Java项目taotao-search,右键文件夹,选择TortoiseSVN->Import,即可将项目上传到指定位置
这里写图片描述
(3)、打包svn项目
找到VisualSVN Server在本地的Repositories中自己新建的仓库(“E:\Repositories\icbs”),运行cmd,切换到VisualSVN Server安装的bin目录下(“C:\Program Files\VisualSVN Server\bin”),将这个仓库压缩成dump文件到(“E:\svnbak\icbs.dump”)目录下
运行命令

C:\Program Files\VisualSVN Server\bin > svnadmin dump E:\Repositories\icbs > E:\svnbak\icbs.dump

二、配置Linux服务器环境
(1)、安装Apache

#yum install httpd httpd-devel
//启动Apache
#service http start 
service httpd restart 或者 systemctl restart httpd
#chkconfig httpd on   //配置Apache开机启动
进入Apache安装目录更改配置
# vim /etc/httpd/conf/httpd.conf
找到ServerName修改成
ServerName localhost:80
vim /etc/sysconfig/iptables
防火墙放行80端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
service iptables restart 重启防火墙

(2)、安装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 模块时生成的,如果没有可以去conf.modules.d/10-subversion.conf拷贝一份过来改个名字)
# vim subversion.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

(3)、安装jdk8

windows下访问http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载所需jdk,使用ftp工具将本地下载好的jdk-8u171-linux-x64.tar.gz上传到服务器的指定目录下,然后
#tar zxf jdk-8u171-linux-x64.tar.gz 解压缩
#ls  查看文件
设置环境变量
#vim /etc/bashrc
添加以下内容
JAVA_HOME=/usr/local/java/jdk1.8
JRE_HOME=/usr/local/java/jdk1.8/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

#source /etc/bashrc     使修改生效
#java -version   检查环境变量是否配置好了
#javac    检查jre是否配置好了

(4)、安装MySQL服务

# rpm -qa | grep mysql   查看该操作系统上是否已经安装了 mysql 数据库,

有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

# yum install mysql-server mysql mysql-devel

# service mysqld start 或者 systemctl start mysqld

#systemctl status mysqld  查看MySQL服务状态

# 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 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

重启防火墙,使端口配置生效

# service iptables restart

设置 MySQL 数据库 root 用户的密码:

# mysqladmin -u root password '123456'

登录数据库:

# mysql -u root -p

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

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

mysql> FLUSH PRIVILEGES;

下载svnadmin-3.0.5,然后本地连接linux上的数据库,新建一个svnadmin的数据库,运行svnadmin-3.0.5中db/lang/en.sql和db/mysql5.sql文件

(5)、使用 Tomcat7 部署 svnadmin
将下载好的apache-tomcat-7.0.88.tar.gz利用ftp工具上传到服务器的指定目录下面(或者 rz -y 命令),

#tar zxf apache-tomcat-7.0.88.tar.gz  解压缩

# mv apache-tomcat-7.0.88 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 -p tcp -m state --state NEW -m tcp --dport 9000 -j ACCEPT

重启防火墙,使端口配置生效

# service iptables restart

# cd /usr/svnadmin-tomcat/webapps

# rm -rf *    清除掉webapps下其他的文件(可选)

利用ftp工具将svnadmin-3.0.5中的 svnadmin.war上传到/usr/svnadmin-tomcat/webapps 目录下

# cd /usr/svnadmin-tomcat/webapps

解压

# unzip svnadmin.war -d svnadmin

备份(可选)

# mv svnadmin.war /root/tools/

# cd svnadmin/WEB-INF

# vim 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=123456

# cd /usr/svnadmin-tomcat/bin/
#./startup.sh   启动tomcat
#./shutdown.sh  关闭tomcat
#ps -ef|grep java    查看tomcat是否启动/关闭

(6)、浏览器访问http://ip:9000/svnadmin
这里写图片描述
创建一个项目仓库icbs,此时:
/svn/目录下自动会创建一个 icbs的 SVN 库目录。
同 时 也 会 多 出 一 个 httpd.conf 文 件 , 内 容 与 subversion.conf 一 样 , 在
/etc/httpd/conf.d/subversion.conf 中已配置。
/svn/authz 授权文件中会多出如下内容:
[aliases]
[groups]
icbs_developer=
icbs_manager=
icbs_tester=
[icbs:/]
@icbs_manager=rw
以上过程其实是调用了 svn 对应的命令做了相应的操作
接下来就是配置库目录权限

# cd /svn   切换到svn目录
# chown -R apache.apache icbs
# chmod -R 777 icbs

然后就可以对 icbs库进行相应的操作

(1)、 设置用户组
这里写图片描述
这里写图片描述

(2) 、导入项目

#svnadmin load /svn/仓库名 < /svn/icbs.dump 将数据加载入由svnadmin新建的仓库中
SVN默认端口:3690 

启动SVN服务: 

svnserve -d -r /usr/svndata/仓库名
关闭SVN服务: 
使用以下命令查找进程 
ps aux | grep svn
使用Kill命令杀死进程
kill -s 9 64434 或者kill -9 64434 

(3)、打开项目
这里写图片描述
如果左边出现认证失败等错误,可能是以下原因:

原因1:没有配置库目录权限
#cd /svn

#chown -R apache.apache 库名/

#chmod -R 777 库名/

原因2: 没有配置 库名/conf/svnserve.conf文件
password-db = passwd
authz-db = authz
realm = 116.85.31.190

原因3:svnadmin中设置用户组的时候没有将admin加入到manager用户组中

(4)、TortoiseSVN访问svn仓库http://ip/svn/
这里写图片描述

至此,就算是搭建成功了!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值