持续集成篇_02_SVN版本控制系统安装

CI服务器:192.168.1.51

root用户操作

建义安装前更新操作系统

Connecting to 192.168.1.51:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.


Last login: Thu Mar 24 02:44:23 2016 from 192.168.1.87
[root@localhost ~]# yum update

安装apache
[root@localhost ~]# yum install httpd httpd-devel
[root@localhost ~]# service httpd start
Starting httpd: 

持续集成篇_02_SVN版本控制系统安装_第1张图片
[root@localhost ~]# service httpd status
httpd (pid  2713) is running...

设置开机启动
[root@localhost ~]# chkconfig httpd on


[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
找到ServerName并修改成
ServerName localhost:80


防火墙中打开80端口:
[root@localhost ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# service iptables restart


安装SVN服务器
[root@localhost ~]# yum install mod_dav subversion


安装完成svn后要重启apache
[root@localhost ~]# service httpd restart


查看测试是否安装svn模块
[root@localhost modules]# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
查看svn版本
[root@localhost modules]# svn --version
svn, version 1.6.11 (r934486)


创建svn库目录(多库模式,一份配置文件管理多个库)
[root@localhost modules]# mkdir /svn/
[root@localhost modules]# cd /etc/httpd/conf.d
[root@localhost conf.d]# ls
mod_dnssd.conf  README  subversion.conf  welcome.conf
[root@localhost conf.d]# 
此时可以看到一个subversion.conf配置文件(是在安装mod_dav_svn模块时生成的)
[root@localhost conf.d]# 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
[root@localhost conf.d]# touch /svn/passwd.http
[root@localhost conf.d]# touch /svn/authz
重启apache
[root@localhost conf.d]# 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(单独安装,与业务系统的数据库分开)
[root@localhost conf.d]# rpm -qa | grep mysql
可以通过rpm -e命令或者rpm -e --nodeps命令卸载掉
[root@localhost conf.d]# yum install mysql-server mysql mysql-devel
[root@localhost conf.d]# service mysqld start


[root@localhost conf.d]# chkconfig --list | grep mysqld
mysqld         0:off1:off2:off3:off4:off5:off6:off


用上面的命令查看到MYSQL并没有设置开机启动,所以需要设置开机启动
[root@localhost conf.d]# chkconfig mysqld on


为了方便远程管理,防火墙中打开3306端口
[root@localhost conf.d]# vi /etc/sysconfig/iptables
[root@localhost conf.d]# cat /etc/sysconfig/iptables | grep 3306
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[root@localhost conf.d]# service iptables restart


设置MySQL数据库root用户的密码:
[root@localhost conf.d]# mysqladmin -u root password 'root'
登录数据库:
[root@localhost conf.d]# mysql -u root -p
MySQL授权远程访问(先用root登录mysql)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH  GRANT OPTION;
mysql> FLUSH PRIVILEGES;


使用Tomcat7部署svnadmin
[root@localhost root]# vi /usr/local/tomcat7/conf/server.xml 
修改Tomcat的端口为9000和容器编码为UTF-8

修改以下标红内容
<Server port="9005" shutdown="SHUTDOWN"> 
<Connector port="9000" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
防火墙中打开9000端口
[root@localhost root]# vi /etc/sysconfig/iptables
[root@localhost root]# cat /etc/sysconfig/iptables | grep 9000
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
重启防火墙,使配置生效
[root@localhost root]# service iptables restart


上传svnadmin.war到/home/root
[root@localhost home]# mkdir root
[root@localhost home]# cd /home/root
[root@localhost root]# ls
svnadmin.war

删除tomcat7 webapps中所有内容
[root@localhost root]# cd /usr/local/tomcat7/webapps/
[root@localhost webapps]# rm -rf *

解压war包
[root@localhost webapps]# cp /home/root/svnadmin.war /usr/local/tomcat7/webapps/
[root@localhost webapps]# unzip svnadmin.war -d svnadmin


修改svnadmin的jdbc配置
[root@localhost webapps]# vi svnadmin/WEB-INF/jdbc.properties 
[root@localhost webapps]# cat svnadmin/WEB-INF/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


创建 svnadmin 数据库并导入相应数据(UTF-8 编码) 执行 db/mysql5.sql 和 db/lang/en.sql




启动tomcat7

[root@localhost webapps]# /usr/local/tomcat7/bin/startup.sh start

浏览器打开svnadmin

持续集成篇_02_SVN版本控制系统安装_第2张图片

如输入admin  admin

持续集成篇_02_SVN版本控制系统安装_第3张图片

6.创建库


[root@localhost svn]# cd /svn
[root@localhost svn]# ls
authz  httpd.conf  passwd.http  wsc_edu

这里的httpd.conf和apache中httpd.conf配置是一样的
[root@localhost svn]# cat httpd.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/目录 下会创建 一个wsc_edu的svn库目录 

同时/svn/wsc_edu/authz会出如下内容

[root@localhost svn]# cat authz 
[aliases]
[groups]
wsc_edu_developer=
wsc_edu_manager=admin,yxq
wsc_edu_tester=


[wsc_edu:/]
admin=rw
yxq=rw
@wsc_edu_manager=rw



[root@localhost svn]# 

以上过程其实是调用了svn对应的命令做了相应的操作


配置库目录 权限

[root@localhost svn]# chown -R apache.apache wsc_edu
[root@localhost svn]# chmod -R 777 wsc_edu

(如创建新库,需要对新建的库目录执行以上两步授权操作)

关闭SELinux(linux的访问控制)

修改/etc/selinux/config文件

[root@localhost svn]# vi /etc/selinux/config

SELINUX=enforcing改为SELINUX=disabled

重启机器即可

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

http://tortoisesvn.net/downloads.html

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

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

(1)用户组

(2)用户

(3)授权

(4)导入项目


01.增加项目


02.用户管理,增加用户

持续集成篇_02_SVN版本控制系统安装_第4张图片

查看

[root@yxq ~]# cd /svn
[root@yxq svn]# ls
authz  httpd.conf  passwd.http  wsc
[root@yxq svn]# cat authz 
[aliases]
[groups]
wsc_developer=
wsc_manager=admin,yixq
wsc_tester=


[wsc:/]
admin=rw
yixq=rw

@wsc_manager=rw


[root@yxq svn]# cat passwd.http 
admin:{SHA}0DPiKuNIrrVmD8IUCuw1hQxNqZc=
yixq:{SHA}fEqNCco3Yq9h5ZUglD3CZJT4lBs=

[root@yxq svn]# 

03.设置用户组持续集成篇_02_SVN版本控制系统安装_第5张图片

04.设置权限

持续集成篇_02_SVN版本控制系统安装_第6张图片

05.用新增用户检出项目

持续集成篇_02_SVN版本控制系统安装_第7张图片

06.查看检出结果

你可能感兴趣的:(SVN,svnadmin)