CentOS上SVN服务器端程序的安装与使用教程
cnblogs 发布时间:2016-06-27 11:28:12 作者:霍啸林 我要评论
SVN是一款高人气的软件项目版本控制系统,由于其在Windows的客户端的简易操作,在Git的浪潮中仍然保有很多的用户数量,这里我们就来看一下CentOS上SVN服务器端程序的安装与使用教程
1.环境
centos6.4
2.安装svn
复制代码
代码如下:yum -y install subversion
3.配置
建立版本库目录
复制代码
代码如下:mkdir /www/svndata
svnserve -d -r /www/svndata
4.建立版本库
创建一个新的Subversion项目
复制代码
代码如下:svnadmin create /var/www/svndata/njlrxx
配置允许用户jiqing访问
复制代码
代码如下:cd /var/www/svndata/njlrxx/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错
复制代码
代码如下:vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
jiqing=123456
5.客户端连接
复制代码
代码如下:svn co svn://ip/njlrxx
用户名:jiqing
密码:123456
6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
(1)设置WEB服务器根目录为/var/www/webroot
(2)checkout一份SVN
复制代码
代码如下:svn co svn://localhost/njlrxx /var/www/webroot/njlrxx
修改权限为WEB用户
复制代码
代码如下:chown -R apache:apache /var/www/webroot/njlrxx
(3)建立同步脚本
复制代码
代码如下:cd /var/www/svndata/njlrxx/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
复制代码
代码如下:REPOS="$1"
REV="$2"
BASEPATH=/var/www/webroot/njlrxx
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache
增加脚本执行权限
复制代码
代码如下:chmod +x post-commit
最后操作是关闭服务然再打开服务:
svn服务的关闭:
复制代码
代码如下:killall svnserve
svn开启:
复制代码
代码如下:svnserve -d -r /var/www/svndata
7.如何支持匿名用户访问
方法一:
在svn安装目录下找到,conf/httpd.conf文件,如果是手动集成apache的则找到apache的配置文件。
找到中的
复制代码
代码如下:Require valid-user
改为
复制代码
代码如下:<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。
缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。
方法二:
在配置文件中加入
复制代码
代码如下:Satisfy Any
加入了Satisfy Any的设置,其表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。
Satisfy Any表示允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。
PS:SVN自动同步程序执行流程:
1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本
2、在post-commit版本文件中使用php_script.php执行PHP脚本
3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本
4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理
相关文章
- 虚拟机安装CentOS后没有网络了不能上网,该怎么设置网络呢?下面我们就来看看这个问题的解决办法,详细请看下文图文介绍2024-01-18
虚拟机怎么安装CentOS? 安装CentOS操作系统的保姆级图文教程
虚拟机想要安装CentOS操作系统,但是CentOS操作系统已经停止维护了,该怎么安装呢?详细请看下文图文教程2024-01-18Centos7.8怎么更新openssh? Centos升级openssh的技巧
Centos7.8怎么更新openssh?Centos7.8系统想要安装openssh,该怎么安装呢?下面我们就来看看Centos升级openssh的技巧2023-09-02Centos7.8怎么更新openssl? CentOS升级OpenSSL的技巧
Centos7.8怎么更新openssl?Centos7.8系统想要升级OpenSSL,该怎么升级呢?详细请看下文介绍2023-09-02- centos7没有图形化操作可能对很多人来说都不太习惯,下面我们来为centos7安装图形化界面,本文以安装 GNOME 图形化为例,需要的朋友可以参考下2023-06-29
- 今天小编在安装RHEL7的时候,一步留神没有安装图形化桌面,下面分享一下安装图形化桌面的过程,需要的朋友可以参考下2023-06-29
CentOS7各个版本镜像下载地址及版本说明(包括Everything版)
下载CentOS-7.0-1406的时候,有很多可选则的版本,对于普通用户来说,不知道选择哪个好,下面做一下简单介绍,需要的朋友可以参考下2023-06-01Centos 7怎么手动配置ip地址? Centos7配置IP地址的技巧
Centos 7怎么手动配置ip地址?Centos 7系统想要自己配置ip地址,该怎么操作呢?下面我们就来看看Centos7配置IP地址的技巧2023-05-17- 这篇文章主要介绍了Centos 7 压缩与解压缩命令小结,需要的朋友可以参考下2023-03-28
- 由于centos8 在2022年停止服务,后继版本为8-steam。在使用阿里云的 centos8 的 yum 时报错,这篇文章主要介绍了CentOS8使用阿里云yum源异常的解决方法,需要的朋友可以参考2022-04-19
最新评论