本文主要介绍如何在CentOS7环境下集成Apache和SVN,完成后可以通过浏览器访问SVN仓库.

1.查看系统环境,关闭防火墙和SELinux.

 [root@Docker /]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld()
[root@Docker /]# getenforce
Disabled
[root@Docker /]# uname -a
Linux Docker 3.10.-693.21..el7.x86_64 # SMP Wed Mar :: UTC x86_64 x86_64 x86_64 GNU/Linux
[root@Docker /]# cat /etc/redhat-release
CentOS Linux release 7.4. (Core)
[root@Docker /]#

2.安装软件包和Apache SVN模块.

  yum install httpd mod_dav_svn subversion

3. 验证安装结果.

 [root@Docker /]# httpd -version
Server version: Apache/2.4. (CentOS)
Server built: Apr ::
[root@Docker /]# svnserve --version
svnserve, version 1.7. (r1542130)
compiled Apr , ::

4.验证Apache SVN模块是否安装成功,需要检查mod_dav_svn.so和mod_authz_svn.so文件.

 [root@Docker modules]# pwd
/etc/httpd/modules
[root@Docker modules]# ll | egrep "mod_dav_svn.so|mod_authz_svn.so"
-rwxr-xr-x root root Apr : mod_authz_svn.so
-rwxr-xr-x root root Apr : mod_dav_svn.so

5.使用svnadmin命令创建SVN仓库repos.

 [root@Docker /]# mkdir /var/www/svn
[root@Docker /]# cd /var/www/svn/
[root@Docker svn]# svnadmin create repos
[root@Docker svn]# tree -d repos/
repos/
├── conf
├── db
│   ├── revprops
│   │   └──
│   ├── revs
│   │   └──
│   ├── transactions
│   └── txn-protorevs
├── hooks
└── locks directories

6.修改repos目录属主和属组为apache.

 [root@Docker svn]# chown -R apache:apache repos/
[root@Docker svn]# ll
total
drwxr-xr-x apache apache May : repos

7.复制/var/www/svn/repos/conf 下的权限管理文件authz到 /var/www/svn下,并创建用户认证文件passwd,并且设置隐藏属性.

 [root@Docker svn]# cp /var/www/svn/repos/conf/authz /var/www/svn/
[root@Docker svn]# cd /var/www/svn/repos
[root@Docker repos]# touch .passwd

8.通过htpasswd命令建立SVN用户svnuser并将用户信息保存在passwd文件中.

 [root@Docker repos]# htpasswd ./.passwd svnuser
New password:
Re-type new password:
Adding password for user svnuser
[root@Docker repos]# cat .passwd
svnuser:$apr1$ThE7aO2O$CQo.OIs.8TOqUFaFr7b3H0

9.修改authz文件并设置相应权限:

在[groups]下添加组

[/] 相当于/var/www/svn这个目录,赋予权限给用户组

[repos:/] 是指repos库

[repos:/desgin]是repos下的desgin目录

rw是指可读写权限

 [root@Docker svn]# vim authz
[root@Docker svn]# grep -v "^#" authz [groups]
admin_group=svnuser,svnuser2
project_group=svnuser3,svnuser4
project2_group=svnuser5,svnuser6 [/]
@admin_group=rw [repos:/]
@project_group=rw [repos:/desgin]
@project_group=rw [repos2:/]
@project2_group=rw

10.关联Apache与SVN,创建subversion.conf文件.Locaion后的名字可以自定义,不需要与仓库名一致,这里我们定义为/documents,这样后面访问时直接输入http://x.x.x.x/documents即可打开仓库

[root@Docker /]# vim /etc/httpd/conf.d/subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so <Location /documents>
DAV svn
SVNParentPath /var/www/svn
SVNListParentPath On
AuthType Basic
AuthName "Project SVN"
AuthUserFile /var/www/svn/repos/.passwd
Require valid-user
AuthzSVNAccessFile /var/www/svn/authz
</Location>

11.启动Apache,在浏览器中输入http://x.x.x.x/documents弹出认证窗口,输入用户认证信息即可看到SVN仓库repos.

 [root@Docker /]# systemctl start httpd.service

CentOS7集成Apache和SVN的更多相关文章

  1. Apache Project SVN Download Sit

    apache project svn download sit : http://svn.apache.org/repos/asf 如果想要研究相关项目的源码的话.或者想要成为某个项目的开发者, 就可 ...

  2. linux上nginx+apache 搭建 svn服务器

    众所周知,nginx目前是不支持svn的,并且由于机房网络只开了80和22(ssh)端口,所以这时候就没法单独在服务器上搭建apache+svn .所以就产生了 nginx + apache + sv ...

  3. Apache 下SVN项目管理使用说明

    Apache 下SVN项目管理使用说明 (1)Apaceh和SVN先要装好. (2)在apache的目录下找到httpd.conf文件,在最后一行增加如下配置 Include conf/svn.pro ...

  4. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  5. Linux整合Apache和SVN

    1.安装APR-1.2.7和APR-util-1.2.7  (下载地址:http://apr.apache.org/) #tar zxvf  apr-1.2.7.tar.gz #cd   apr-1. ...

  6. 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器

    #!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...

  7. CentOS7安装 Apache HTTP 服务器

    CentOS7安装 Apache HTTP 服务器 时间:2015-05-02 00:45来源:linux.cn 作者:linux.cn 举报 点击:11457次 不管你因为什么原因使用服务器,大部分 ...

  8. centos7.3给搭建SVN服务器

    centos7.3给搭建SVN服务器 1 安装svnserver yum install subversion 2 查看版本 svnserve --version 3 创建版本库 3.1 运行以下命令 ...

  9. centos7安装apache http server启动失败--Failed to start The Apache HTTP Server.

    centos7安装apache http server启动失败     除了nginx可以开启http服务外,apche http server也可以开启http服务,安装过程如下:1. 首先,检测是 ...

随机推荐

  1. 懒散的态度就是一剂慢性毒药——《我是一只IT小小鸟》读后感(第四周)

    进度拖延是所有团队项目的噩梦,有效的进度管理也许能够解决问题,但我认为更根本的是整个团队的工作态度.大家都希望能够加入一个人人都认真负责积极完成任务的团队,但比如何找这样一个团队更重要的是如何将自己变 ...

  2. 获取表SQLSERVER 的表结构信息(字段名,长度,精度,类型,NULL,ID,PRI)

    select sys.columns.name, sys.types.name, sys.columns.precision,sys.columns.scale, sys.columns.is_nul ...

  3. 自动化测试基础篇--Selenium框架设计(POM)

    一.自动化测试框架 感谢木棉花的漂泊分享,内容转自链接:http://www.cnblogs.com/fengyiru6369/p/8053035.html 1.什么是自动化测试框架 简单来说,自动化 ...

  4. 数据分析之scipy常用方法(五)

    1 Scipy简介 Scipy依赖于Numpy Scipy提供了真正的矩阵 Scipy包含的功能:最优化.线性代数.积分.插值.拟合.特殊函数.快速傅里叶变换.信号处理.图像处理.常微分方程求解器等 ...

  5. Effective C++(4) 确定对象被使用前已先被初始化

    危害:读取未初始化的值会导致不明确甚至是半随机化的行为. 最佳处理办法:永远在使用对象之前先将它初始化:确保每一个构造函数都将对象的每一个成员初始化. 1 注意区分赋值和初始化: 从初始化的角度而言, ...

  6. December 19th 2016 Week 52nd Sunday

    Truth and roses have thorns about them. 真理和玫瑰,身边都有刺. Either truth or roses, they all have thorns aro ...

  7. [EffectiveC++]item3:尽可能使用const

    将某些东西声明为const可以帮助编译器检测出错误用法,const 编译器强制实施bitwise constness,但是你code的时候应该使用“概念上的常量性” 当const和non-const成 ...

  8. [DP]洛谷P1115最大子段和

    题目来源 https://www.luogu.org/problemnew/show/P1115 题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 第一行是一 ...

  9. 12、Node.js 路由

    这里实现的好像就是把路由和服务器相结合起来.具体需要引入 url 模块和 http 模块为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码需要 ...

  10. VM安装CentOs7虚拟机后无法上网之解决方法

    最近在研究DC/OS的安装,读了很多安装方法后决定先从docker的安装入手,由于DC/OS的安装必须在CentOs7版本以上,所以就在VM下安装了CentOs7,殊不知安装后并不能上网,于是乎又转到 ...