且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux学习:持续集成篇--svn版本管理系统的安装与使用-02

更新时间:2022-09-28 16:51:04

1、安装Apache

 a、安装,并设置为开机启动

1
2
3
    yum install httpd httpd-devel
    service httpd start
    chkconfig httpd on

 b、将端口改为80

1
2
3
4
    vi /etc/httpd/conf/httpd.conf 
     
    #ServerName www.example.com:80
    ServerName localhost:80

  c、访问http://192.168.175.9/

linux学习:持续集成篇--svn版本管理系统的安装与使用-02


2、安装SVN服务

   a、必须安装mod dav svn模块

1
    yum install mod_dav_svn subversion

 b、安装完svn后要重启apache

1
    service httpd restart

 c、安装完后会如下出现文件

1
2
3
4
5
6
7
    [root@localhost conf.d]# cd /etc/httpd/conf.d/
    [root@localhost conf.d]# ll
    total 12
    -rw-r--r--. 1 root root  392 Jan 12 12:10 README
    -rw-r--r--. 1 root root 1042 Aug 17  2015 subversion.conf
    -rw-r--r--. 1 root root  299 Dec 13 04:27 welcome.conf
    [root@localhost conf.d]#

 d、查看测试是否安装SVN模块

1
    ls /etc/httpd/modules/ | grep svn

   linux学习:持续集成篇--svn版本管理系统的安装与使用-02

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

1
    mkdir /svn/

 f、修改/etc/httpd/conf.d/subversion.conf配置文件,下最下面加入:

1
2
3
4
5
6
7
8
9
10
11
12
    #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/

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

1
2
    touch /svn/passwd.http
    touch /svn/authz

 h、重启apache

1
    service httpd restart

3、安装jsvnadmin

  下载:https://code.google.com/archive/p/jsvnadmin/downloads

      linux学习:持续集成篇--svn版本管理系统的安装与使用-02

 jsvnadmin依赖db,我们这里采用的是MySQL,所有此处还要安装mysql(单独安装,与业务系统的数据库分开)


安装Mysql:http://1754966750.blog.51cto.com/7455444/1887093 


 g、部署svnadmin到tomcat下

  1)、修改配置文件

1
2
3
4
5
6
7
8
9
10
    vi /opt/svnadmin-tomcat/webapps/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=123456
    #下面的删除

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

   执行db/mysql5.sql和db/lang/en.sql

  3)、启动tomcat

   访问:初始账号密码为admin/123456  

    http://192.168.175.9:9000/svnadmin/  

     linux学习:持续集成篇--svn版本管理系统的安装与使用-02

 注意:在测试svnadmin是否运行正常的时遇到 Incorrect string value: '\xE7\x99\xBB\xE5\xBD\x95' for column 'lbl' 错误

 解决:进入svnadmin数据库执行下面的语句

1
    ALTER TABLE i18n MODIFY COLUMN lbl VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;

4使用jsvnadmin

 a)、创建库

    linux学习:持续集成篇--svn版本管理系统的安装与使用-02

  创建完成后,/svn下会多出两个文件liuy目录

   linux学习:持续集成篇--svn版本管理系统的安装与使用-02

接下来一步我们进入库URL里面(发现目前是认证失败的情况,可能是由于我们当前的用户admin,没有对这个库的任何操作权限,我们添加一下权限,如下图(1)、(2)、(3)、(4)、(5):

 linux学习:持续集成篇--svn版本管理系统的安装与使用-02(1)

 linux学习:持续集成篇--svn版本管理系统的安装与使用-02        (2)

 设置用户组,把admin用户设置进来!

  linux学习:持续集成篇--svn版本管理系统的安装与使用-02                                               (3)


  linux学习:持续集成篇--svn版本管理系统的安装与使用-02                                     (4)

 admin用户有对bhz资源的读写权限了

  linux学习:持续集成篇--svn版本管理系统的安装与使用-02(5)

 还是认证失败,解决:需要进行文件夹赋权

1
2
3
    [root@localhost svn]# cd /svn/
  [root@localhost svn]# chown -R apache.apache liuy
  [root@localhost svn]# chmod -R 777 liuy

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

关闭SELinux(Linux的访问控制):修改/etc/selinux/config文件

1
2
    #将SELINUX的值改为disabled
    SELINUX=disabled


重启reboot


效果:

 linux学习:持续集成篇--svn版本管理系统的安装与使用-02

本文转自我爱大金子博客51CTO博客,原文链接http://blog.51cto.com/1754966750/1909192如需转载请自行联系原作者


我爱大金子