Ubuntu下搭建SVN与Apache权限控制
1. 安装apache+svn
sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn
sudo apt-get install apache2-utils
2. Apache配置
2.1 配置加密
/etc/apache2/mods-enabled/authz_user.load添加
LoadModule authn_file_module /usr/lib/apache2/modules/mod_authn_file.so
LoadModule auth_basic_module /usr/lib/apache2/modules/mod_auth_basic.so
LoadModule auth_digest_module /usr/lib/apache2/modules/mod_auth_digest.so
2.2 配置svn与apache关联
/etc/apache2/mods-enabled/dav.load
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
2.3 设置端口准入,一般默认端口是80
sudo ufw allow 80
3. SVN创建版本库与账号密码管理
3.1 创建版本库
svnadmin create /share/data/svncode/test
3.2 创建用户名和密码,这里用htdigest
htdigest -c /share/data/scm/htdigest/passwd Tina Jacky
3.3 创建权限文件 test.txt
touch /share/data/scm/svnadmin/test.txt
编辑内容如下:
[groups]
admin=svnadmin,Jacky[/]
*=
@admin=rw
4,关联apache和SVN
编辑sudo vim /etc/apache2/conf-enabled/svn.conf
<Location /test>
DAV svn
SVNPath /share/data/svncode/test
AuthType Digest
AuthName "Tina"
AuthUserFile /share/data/scm/htdigest/passwd
Require valid-user
AuthzSVNAccessFile /share/data/scm/svnadmin/test.txt
</Location>
5.重启apache
sudo /etc/init.d/apache2 restart
6. 启动svn
svnserve -d -r /share/data/svncode
需要开机自运行的话写个脚本autosvn.sh,放到/root下内容如下:
#!/bin/bash
svnserve -d -r /share/data/svncode
修改/etc/rc.local
sudo vim /etc/rc.loacl
在exit 0 之前添加/root/autosvn.sh
7. windows安装客户端即可,在客户端输入http://192.168.1.107/test就可访问。同样在浏览器输入对应的IP地址也可访问
8.设置提交格式
修改hooks/pre-commit
SVNLOOK=/usr/bin/svnlookif [ -z "`$SVNLOOK log -t "$TXN" "$REPOS" | grep "Reason:"`" ]; thenecho "Please Refer to the following format:" 1>&2echo "Reason: xxxx" 1>&2echo "Auditor:xxxx" 1>&2exit 1fiif [ -z "`$SVNLOOK log -t "$TXN" "$REPOS" | grep "Auditor:"`" ]; thenecho "Please Refer to the following format:" 1>&2echo "Reason: xxxx" 1>&2echo "Auditor:xxxx" 1>&2exit 1fi
9. 设置权限目录自动更新
9.1 创建权限目录
svnadmin create /share/data/svncode/scm
9.2 创建权限文件
touch /share/data/scm/svnadmin/scm.txt并配置权限参数
9.3 下载权限目录
svn co http://192.168.1.107/scm --username=“Jacky”
9.4 svn.conf配置scm仓库以及权限
9.5 在scm/hookes/post-commit添加
SVN=/usr/bin/svn
scmupdate=/share/data/svn/scm/svmadmin
export LANG=en_US.UTF-8
$SVN up --username Jacky --password passwd--no-auth-cache --non-interactive --force $scmupdate > /dev/null
9.6 重启apache ,这样每次权限目录更新,就会被及时更新
Ubuntu下搭建SVN与Apache权限控制相关推荐
- ubuntu下搭建svn服务器
下载LOFTER客户端 1.首先安装SVN这个软件 apt-get install subversion 2.在home目录下创建一个名为svn的文件夹(文件夹的名字随便起) mkdir /home/ ...
- linux下的svn搭建,Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
- Windows和Linux环境下搭建SVN服务器
--------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...
- 如何在Mac环境下搭建svn服务器端环境
为什么80%的码农都做不了架构师?>>> 在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功 ...
- ubuntu下使用SVN
写在前面的话 我最烦网上写个什么鬼东西,看完一脸懵逼的感觉,这这这写的是啥.这种时候只能靠我们这种每一步都必须弄得非常清楚的女程序员出来撑脸面了. 哈哈哈哈哈哈-. 玩嘛,就是要胆子大就是要不断试错. ...
- Centos6.8下搭建SVN服务器
1.Centos6.8下搭建SVN服务器 Subversion是一个自由,开源的版本控制系统.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一 ...
- Linux下搭建SVN服务器【亲测可用】
Linux下搭建SVN服务器 简介 第一步:通过yum命令安装svnserve,命令如下: 第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置) 第三步:创建svn版本库 第四步:配置修 ...
- CentOS 下搭建svn服务器
CentOS 下搭建svn服务器 安装SVN yum 安装 创建 svn 目录 svn 的目录结构 conf 中的设置[重点] 设置 authz 设置 passwd 设置 svnserve.conf ...
- Ubuntu下搭建postgresql主从服务器(方法1)
Ubuntu下搭建postgresql主从服务器(方法1) 安装略 postgresql主服务器: $ vi /etc/postgresql/9.1/main/postgresql.conf 按a或i ...
最新文章
- 添加商品php,php – 为首次购买者添加商品到购物车
- 也谈ASP.NET页面事件
- eclipse3.4+对的处理插件(附SVN插件安装实例)
- django2.x报错No module named 'django.core.urlresolvers'
- 如何在CentOS上设置MariaDB Galera Cluster 10.0
- 一次执行truncate触发ORA-02266解决过程
- JDK的bug导致Java文件删除不了,必须fgc
- strcpy会覆盖原来的吗_你真的会挂单吗?原来“集合竞价”10分钟竟然隐藏这么多秘密,看懂这些细节,直接精准判整日走势...
- Oracle Library cache 内部机制 说明
- AndroidStudio使用localMaven
- abb机器人goto指令用法_abb机器人编程指令,机器人编程的程序指令
- HDU 5025 Saving Tang Monk
- yandex.com搜索等级、限制设置
- Android通用适配器CommonAdapter
- 微信图片去除马赛克_怎么给图片打上马赛克(模糊处理、涂抹)
- Web APIs day6 | 正则阶段案例
- 海报看起来很普通?数字平原概念设计来制作
- 教育直播APP开发,在线教育系统开发(功能)
- Cadence OrCAD Capture 如何批量替换元器件
- [ISSUE]angularjs resolve: $injector:unpr] Unknown provider:
热门文章
- kali安装中文拼音输入法2
- 光耦电流传输比(CTR)的理解
- ckplayer html5 添加广告,ewebeditor下利用ckplayer增加html5 (mp4)全平台的支持
- 自学习策略和Lévy飞行的正弦余弦优化算法
- JAVA 使用POI读取文档
- ssh_exchange_identification: read: Connection reset by peer
- 下载webStorm,nodejs,git并简单配置,为JavaScript做准备
- 什么是差模干扰、共摸干扰?
- PXIe,PXI,CPCI相互区别和关系,总线之间,几种机箱之间是否兼容?
- CTF Crypto---RSA NC不互素