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:
[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
如输入admin admin
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.用户管理,增加用户
查看
[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]#
04.设置权限
05.用新增用户检出项目
06.查看检出结果