本文系统:Centos6.5_x64 本地lamp环境 ip:192.168.184.129

一、搭建svn,实现svn方式访问、本地用户认证

二、实现http方式访问、apache本地文件认证

subversion目录说明:
*dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据
*db目录:就是所有版本控制的数据存放文件
*hooks目录:放置hook脚本文件的目录
*locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
*format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
*conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

一、搭建svn服务;

1、搭建svn服务;

[root@Aries ~]# yum install ntsysv vim-enhanced subversion  mod_perl  gcc-c++ make unzip -y

2、新建一个目录用于存储SVN所有文件、创建版本仓库

[root@Aries ~]# mkdir /opt/svn
[root@Aries ~]# svnadmin create /opt/svn/svn

3、初始化版本仓库中的目录;

仓库目录结构说明:

[root@Aries ~]# mkdir svn svn/dev svn/qa svn/ops svn/pub svn/ops/web svn/ops/wap
[root@Aries ~]# tree svn
svn
├── dev   #研发目录
├── ops   #运维目录
│   ├── wap  #工程目录
│   └── web
├── pub  #公共目录
└── qa   #测试目录6 directories, 0 files

导入仓库:

[root@Aries ~]# svn import svn/ file:///opt/svn/svn/ -m "init svn repo"
增加           svn/ops
增加           svn/ops/wap
增加           svn/ops/web
增加           svn/qa
增加           svn/pub
增加           svn/dev提交后的版本为 1。
[root@Aries ~]# rm -rf svn/

4、添加用户

要添加SVN用户非常简单,只需在/opt/svn/svn/conf/passwd文件添加一个形如“username=password”的条目就可以了。

[root@Aries conf]# pwd
/opt/svn/svn/conf
[root@Aries conf]# cat passwd  |grep -v ^#[users]
admin = admin     #管理员
dev = dev         #研发测试账号
qa = qa
ops = ops
zq = zq          #普通个人账号

5,修改用户访问策略
/opt/svn/opt/conf/authz记录用户的访问策略,

[root@Aries conf]# cat authz[groups]
g_admin = admin
g_dev = dev
g_qa = qa
g_ops = ops,zq[svn:/]
@g_admin = rw
* =
[svn:/dev]
@g_admin = rw
@g_dev = rw
@g_qa = r
* =
[svn:/qa]
@g_admin = rw
@g_qa = rw
@g_dev = r
@g_ops = r
* =
[svn:/ops]
@g_admin = rw
@g_ops = rw
@g_qa = r
* =
[svn:/pub]
@g_admin = rw
@g_ops = rw
@g_qa = rw
@g_dev = rw
* =

说明:以上信息表示,只有admin用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!

6,修改svnserve.conf文件,让用户和策略配置生效。

[root@Aries conf]# cat svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/svn/conf/passwd
auth-db = /opt/svn/svn/conf/authz
[sasl]

anon-access 控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none" 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:read
auth-access 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:write
password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf 目录的相对路径。缺省值:passwd
authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。缺省值:authz

7、启动svn服务

[root@Aries ~]# svnserve -d -r /opt/svn

8、测试服务

[root@Aries ~]#  svn co svn://192.168.184.129/svn --no-auth-cache --username username --password passwd

测试提交

二、实现http方式访问、apache本地文件认证

由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。

1、安装apache svn 集成依赖包,会产生两个so文件,

LoadModule dav_svn_module  modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
[root@Aries ~]# yum install mod_dav_svn -y

2、将svn的用户配置转换为http认证文件

以下为一个小脚本;方便转换

[root@Aries conf]# pwd
/opt/svn/svn/conf
[root@Aries conf]# cat stoh.pl
use warnings;
use strict;
open (FILE, "passwd") or die ("Cannot open the passwd file!!!n");open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!n");
close (OUT_FILE);
foreach (<FILE>) {
if($_ =~ m/^[^#].*=/) {
$_ =~ s/=//;
`htpasswd -b webpasswd $_`;
}
}

进行转换;

[root@Aries conf]# perl stoh.pl
Adding password for user admin
Adding password for user dev
Adding password for user qa
Adding password for user ops
Adding password for user zq

3、修改httpd.conf,添加关于SVN服务器的内容

[root@Aries conf]# vim /etc/httpd/conf/httpd.conf
#add for svn
<Location /svn>
DAV svn
SVNPath /opt/svn/svn/
AuthType Basic
AuthName "Authentication for svn"
AuthUserFile /opt/svn/svn/conf/webpasswd
AuthzSVNAccessFile /opt/svn/svn/conf/authz
Satisfy all
Require valid-user
</Location>

重启服务

[root@Aries conf]# /etc/init.d/httpd restart

4、进行页面测试;

切换账号测试

转载于:https://blog.51cto.com/lansgg/1602593

Centos实现svn本地认证apache认证相关推荐

  1. Apache认证、授权和访问控制

    Apache认证.授权和访问控制 http://tech.it168.com/o/2007-08-21/200708211031890.shtml 转载于:https://www.cnblogs.co ...

  2. NGINX 配置本地HTTPS(双向认证)

    一.SSL协议加密方式 SSL协议即用到了对称加密也用到了非对称加密(公钥加密),在建立传输链路时,SSL首先对对称加密的密钥使用公钥进行非对称加密,链路建立好之后,SSL对传输内容使用对称加密.  ...

  3. Linux下SVN服务器支持Apache的http和svnserve独立服务器

    2019独角兽企业重金招聘Python工程师标准>>> 说明 服务器操作系统:CentOS 6.6 关闭防火墙,SElinux 实现 1.在服务器上安装配置SVN服务: 2.SVN服 ...

  4. centos 安装 svn

    centos 安装svn服务 1. # yum install subversion 2.然后检查下安装的版本号 因为版本号不同可能会出现不同的情况 版本 信息 [root@VM_137_37_cen ...

  5. linux svn 可视化工具,CentOS 安装SVN以及可视化管理工具iF.SVNAdmin

    一.安装Apache和PHP 由于iF.SVNAdmin使用php写的,因此我们需要安装php yum install httpd php 二.安装SVN服务器 subversion即SVN,mod_ ...

  6. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步) 1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: # ...

  7. CentOS 7 源码安装 apache 及配置

    CentOS 7 源码安装 apache 及调试 作者:闫涛 E-mail:coderyantao@qq.com 备注:实验环境为selinux关闭.firewalld已关闭.生产环境不得关闭fire ...

  8. 翻译:WebApi 认证--用户认证Oauth解析

    The Web API v2用户认证模板提供了流行的应用用户认证场景,如.使用本地帐号的用户名密码认账 (包括创建用户.设置和修改密码)以及使用第三方的认证方式,如facebook,google等等– ...

  9. lamp php5.5,CentOS 5.5快速搭建Apache+PHP5+MySQL完美Web服务器(LAMP)

    CentOS 5.5快速搭建Apache+PHP5+MySQL完美Web服务器(LAMP) By sole | Friday, May 13, 2011 在网上看了很多,修改多次,也试验多次,均没有问 ...

最新文章

  1. corrplot包绘制相关性图
  2. iphone尺寸_iPhone折叠机概念图:屏幕双打孔,iPhone折叠机有多优秀!
  3. android 网络通信框架volly
  4. 【Spring学习】spring依赖注入用法总结
  5. linux信号学习02
  6. eval()解析JSON
  7. pytorch 模型同一轮两次预测结果不一样_2020年的最新深度学习模型可解释性综述[附带代码]...
  8. java时间格式化yyyy
  9. spring学习笔记(六)
  10. 牛逼!IDEA不愧为神器,结合Groovy脚本,简直天下无敌!
  11. 再续前缘 阿里云基础设施网络团队ACM SIGCOMM 2021续创佳绩
  12. Flutter封装加载状态视图,加载中、加载成功、加载失败、加载无数据
  13. OSMDroid —— 开源的 Android 地图开发库
  14. 微信逆向:如何统计好友添加数据和聊天记录数据?
  15. [从零开始学习FPGA编程-10]:快速入门篇 - 操作步骤2-2- Verilog HDL语言Module与硬件电路对应关系快速概览
  16. Activity七大生命周期详解
  17. 创建多媒体APP 之 音频播放:管理音频焦点
  18. 谷歌表格_如何计算Google表格中的空白或空单元格
  19. 创业教父YC创始人Paul Graham就很烦鼓动年轻创业的
  20. Android Google Services Framework Google Play

热门文章

  1. 不浮躁的社会是什么样的?
  2. 百度知道回答的依赖注入
  3. MDK linker和debug的设置以及在RAM中调试
  4. 第六集 MSF构思阶段项目团队的组建
  5. oracle使用sql文件创建表,使用SQL*Loader创建外部表之一
  6. mysql getcolumnname_jdbc-mysql基础 ResultSetMetaData getColumnName getColumnLabel 得到列的名字和别名...
  7. mac idea在mybatis xml文件里引入全限定类名报红解决
  8. Mac查看本机ip地址
  9. 计算机部分选择怎么操作,计算机基础试题选择题部分
  10. 虚拟化运维工具医院解决方案