码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS 6.8 + Subversion + Usvn 搭建版本管理服务器

时间:2017-12-07 17:28:23      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:strong   火墙   授权   float   centos 6   版本库   常见   director   设置   

snailshadow 标签:

一. Subversion 简介


Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。

二. 环境准备CentOS 6.8

1,操作系统内核版本

[root@localhost ~]# uname -r
2.6.32-642.el6.x86_64

2,关闭selinux

[root@localhost ~]# vim /etc/selinux/config

SELINUX=disabled

3,关闭防火墙

[root@localhost ~]#service iptables stop

[root@localhost ~]#chkconfig iptables off

4,配置yum源(这里使用163yum源和epelyum源)

[root@localhost ~]#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo

[root@localhost ~]#rpm -ivh http://mirrors.yun-idc.com/epel//6/x86_64/epel-release-6-8.noarch.rpm

修改配置文件

#vim /etc/yum.repos.d/CentOS-Base.repo

:%s/$releasever/6/g

yum clean all

yum makecache

搞定!!!

 

三、安装

1. 安装所需软件

[root@localhost ~]#yum install subversion httpd mod_dav_svn php php-mysql mysql-server perl-DBI perl-DBD-mysql mysql-devel mod_auth_mysql 

2,查看 subversion 是否安装成功

[root@localhost ~]#svnserve --version
svnserve,版本 1.6.11 (r934486)

------略

3,启动httpd、mysqld服务

[root@localhost ~]#service httpd start

[root@localhost ~]#service mysqld start

[root@localhost ~]#chkconfig httpd on

[root@localhost ~]#chkconfig mysqld on

[root@localhost ~]# chkconfig svnserve on

 

4,设置mysqld密码和访问权限

[root@localhost ~]#mysqladmin -u root password 123456

[root@localhost ~]#mysql -uroot –pcoship

mysql> grant all on *.* to ‘root‘@‘%‘ identified by 123456 WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

四.配置Usvn

1,从GitHub下载Usvn

[root@localhost ~]#wget https://github.com/usvn/usvn/archive/1.0.7.tar.gz

2,安装配置Usvn

[root@localhost ~]#tar -zxvf 1.0.7.tar.gz

[root@localhost ~]#mv usvn-1.0.7/ /var/www/html

[root@localhost ~]#chown -R apache:apache /var/www/html/usvn

3,配置Apache目录允许重写(默认已经配好)

vim /etc/httpd/conf/httpd.conf 

文件最后加入

<Directory "/var/www/html/">

        AllowOverride all                                 ---此项需要修改,否则后面会报错

        Order allow,deny

        Allow from all

</Directory>

4,重启apache服务

[root@localhost ~]#service httpd restart

5,浏览器输入http://ip/usvn/public/install.php 开始安装

技术分享图片

一直点击下一步,如果出现这个报错,就说明httpd.conf配置文件中,根目录的AllowOverride没有配置为yes

技术分享图片

选择时区和语言:

技术分享图片

设置svn根目录,我这里使用默认配置

创建版本库路径

[root@localhost ~]#mdkir /home/subversion/

创建密码文件和权限文件路径

[root@localhost ~]#mdkir /home/subversion/passwd

给目录授权

chown apache:apache –R /home/subversion/

技术分享图片

配置数据库

技术分享图片

创建管理员,其中密码必须8位以上(admin/1qaz2wsx)

技术分享图片

最后一步将生成的配置,添加到httpd.conf文件结尾

技术分享图片

重启httpd服务

[root@localhost ~]#service httpd restart

 

创建项目,用户组,用户(略)

客户端连接项目:http://10.80.0.161/usvn/public/svn/docs/       docs为项目名称

 

五.常见问题

1、安装到最后遇到一个头痛的问题,当目录出现中文时无法设置目录权限

解决方法:

  • 设置系统编码:vim /etc/sysconfig/i18n  改成如下

       LANG="zh_CN.UTF-8"

        SYSFONT="latarcyrheb-sun16"

  • 修改USVN语言环境:vim /var/www/html/usvn/app/bootstrap.php

       在文件最前面加上

       setlocale(LC_ALL, ‘zh_CN.UTF-8‘);

2、提交log不能为空

vim ${svn_dir}/hooks/pre-commit

#!/bin/sh
REPOS="$1"
TXN="$2"

# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" |    grep "[a-zA-Z0-9]" > /dev/null
#|| exit 1

#commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 10 ];
then
    echo -e "svn log cann‘t less than 10 character" 1>&2
    exit 1
fi
# All checks passed, so allow the commit.
exit 0
chown apache:apache  pre-commit
chmod +x pre-commit

CentOS 6.8 + Subversion + Usvn 搭建版本管理服务器

标签:strong   火墙   授权   float   centos 6   版本库   常见   director   设置   

原文地址:http://www.cnblogs.com/snailshadow/p/7999486.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!