我们最近将快盘上的东西迁移到了svn上,因为快盘总是不会不小心删掉或者修改了某些文件。为了能保留历史记录我们统一迁移到svn上。为了方便权限管理,我对比了几个svn的权限管理工具,最后觉得还是usvn功能最强大。可以将权限按组分配,且每个组内可以有组长去管理组内资源。

 
usvn  依赖很多库
 
yum install -y mysql-server
yum install -y php
yum install -y mod_dav_svn.x86_64
 
1、下载usvn,解压后放到web根目录下
2、配置Apache目录允许重写
vim /etc/httpd/conf/httpd.conf 
文件最后加入
<Directory "/var/www/html/">
        AllowOverride all
        Order allow,deny
        Allow from all
</Directory>
 
重启Apache service  httpd restart
3、http://ip/usvn/public/install.php 开始安装
安装到最后一步会提示你将类似如下内容添加到/etc/httpd/conf/httpd.conf 中,并重启
<Location /usvn/public/svn/>
        ErrorDocument 404 default
        DAV svn
        Require valid-user
        SVNParentPath /var/www/html/usvn/files/svn
        SVNListParentPath off
        AuthType Basic
        AuthName "USVN"
        AuthUserFile /var/www/html/usvn/files/htpasswd
        AuthzSVNAccessFile /var/www/html/usvn/files/authz
</Location>
4、安装到最后遇到一个头痛的问题,当目录出现中文时无法设置目录权限
解决方法:
4.1、设置系统编码:vim /etc/sysconfig/i18n  改成如下
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
4.2、修改USVN语言环境:vim /var/www/html/usvn/app/bootstrap.php
在文件最前面加上
setlocale(LC_ALL, 'zh_CN.UTF-8');
 
5、提交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

USVN的更多相关文章

  1. CentOS 6.3 + Subversion + Usvn 搭建版本管理服务器

    一. Subversion 简介 Subversion是一个自由,开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像 ...

  2. Usvn迁移

    近期由于公司需要整理所有的服务器资源进行统一管理,因此需要迁移原usvn到新环境,但是在网上查找有关usvn的迁移信息没有结果,故整理自己的通过测试的迁移方案共享给大家 迁移列表 原服务器 软件 目标 ...

  3. Centos apache + mysql + usvn 配置svn 服务器

    1.遇到问题 提交异常:'svn/!svn/me'path not found http://www.myexception.cn/cvs-svn/1262826.html 更改http.conf 配 ...

  4. NFS服务器配置文档

    Server:192.168.1.206/WindowsClient:192.168.1.208/CentOS一.搭建windows NFS服务:1.安装NFS服务器:打开"服务管理器&qu ...

  5. 用Perl编写Apache模块续二 - SVN动态鉴权实现SVNAuth 禅道版

    代码地址:https://code.csdn.net/x3dcn/svnauth 以禅道项目管理系统的数据库结构为标准,实现了可用的svn authz验证功能. 以用户名.密码.项目的acl开发程度o ...

  6. 用Perl编写Apache模块续 - SVNAuth

    目标:以整合各类项目管理系统中的用户体系及权限体系为目标,实现SVN的集成式动态鉴权 支持平台:usvn.禅道等 - 开发中,本文仅对前期的探索工作做点整理 开发环境: Windows.XAMPP 1 ...

  7. Python Backup Files

    近来书写 Python 脚本进行替换以前的 shell 脚本,发现 Python 优于 shell 的最直观的一点Python 结构明了,可读性高(本人认为)在此做一些记录 本次记录利用 Python ...

  8. SVN管理工具Cornerstone之:创建分支、提交合并

      创建工程的分支: 步骤: 1.选择左下角仓库repositories中的工程名->选择trunk->点击Branch->在提示框里填写分支名称create, 2.在做上角work ...

  9. 3、easyUI-创建 CRUD可创建展开行明细编辑dataGrid(表格)

    同样在上一节中讲到可以编辑的表格,现在讲一般用到的最后一个datagrid(表格)相关的展开明细可编辑的表格: 第三中表格主要应用场景在:列出表格信息,然后点击可以查看详细信息(此处是全部可以编辑,可 ...

随机推荐

  1. nginx做nodejs(express等通用)反向代理

    首先配置环境nginx+nodejs...(没有请看我的其他文章,此处不重复) cd 到nginx的site-available目录 ubuntu的在 cd /etc/nginx/site-avail ...

  2. 安装XAMPP后APACHE不能启动解决方法

    自己的xampp中的apache启动失败,在网上找到了一篇文章,感觉不错,原文如下: Xampp的获得和安装都十分简单,你只要到以下网址: http://www.apachefriends.org/z ...

  3. Struts2框架下表单数据的流向以及映射关系

    本例框架很简单:默认页面为用户登录界面login.jsp,提交后由action类LoginAction.java来判断成功或失败,登录结果分别由success.jsp和failure.jsp呈现. 一 ...

  4. TextFieldDelegate

    #import "AppDelegate.h" @interface AppDelegate ()<UITextFieldDelegate> @end @impleme ...

  5. CSS元素定位6-10课

    <精通CSS.DIV网页样式与布局>视频6-10课总结图: 元素定位 (1)float:left/right; 左浮动:脱离普通文档流向左浮动(即向左对齐):float属性必须应用在块级元 ...

  6. 【JS】点击目标外事件与IFRAM自适应高度

    一.点击目标外事件 $(document).mouseup(function(e){ var _con = $('.dropdown-multiSelect-list'); // 设置目标区域 if( ...

  7. 当padding,margin,top为百分比值,具体数值如何计算

    padding以及margin的四个方向设置值为百分数的时候,是以父元素的宽度为基数来进行计算. (为了保持横向和纵向方向上的margin/padding一致,但是其实也不是一定以父元素的宽度为参照物 ...

  8. ASCII电脑编码

    Bin Dec Hex 缩写/字符 解释 0000 0000 0 00 NUL(null) 空字符 0000 0001 1 01 SOH(start of headline) 标题开始 0000 00 ...

  9. js 获取小数点位数方法及 字符串与数字之间相互转换方法

    1.获取小数点位数方法 a. 使用 js 中 subsrting,indexOf,parseFloat三个函数,代码如下: var s = "22.127456" ;//s 为 字 ...

  10. Visual Studio 创建C++或C#Windows程序

    使用工具Visual Studio,创建一个C++或C#Windows程序,在主窗口中显示“Hello World”,用户可以用鼠标拖动“Hello World”在主窗口中移动 首先创建一个项目​ 选 ...