本文主要介绍如何在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. The formal parameters of the method

    package basic.java; public class ParametersOfTheMethod { public static void main(String[] args) { in ...

  2. C/C++标准有哪些?

                        1. C 时间 名称 标准制定组织 事件 1978 K&R标准 K&R <The C Programming Language>   ...

  3. Windows10禁用update

    1.运行 gpedit.msc 或搜索 组策略 ,点 计算机配置—管理模板—Windows组件—Windows更新—配置自动更新 ,设置“已禁用”.2.点 控制面板—系统和安全—管理工具 ,点 服务 ...

  4. windows 下 gdb 的安装

    在 windows 下 gcc/g++ 的安装 这篇文章中已经提到,用MinGW Installation Manager可以方便地管理 MinGW 组件,因此使用该软件安装 gdb . 打开 Min ...

  5. 乘风破浪:LeetCode真题_011_Container With Most Water

    乘风破浪:LeetCode真题_011_Container With Most Water 一.前言 下面我们继续进行编程练习,可以说对于实际问题的活学活用是非常重要的.比如我们这次的题目,就需要从中 ...

  6. 记录windows下编译chromium,备忘

    编译windows下chromium,时间:20170619, 官方地址:https://chromium.googlesource.com/chromium/src/+/master/docs/wi ...

  7. 二进制安装mariaDB

    1.获取二进制安装包 获取二进制格式MariaDB安装包,可去官网下载. 因为是实验环境,所以选择了最新版. mariadb-10.2.12-linux-x86_64.tar.gz 2.解压 解压到 ...

  8. python使用SQLAlchemy对mysql操作

    安装SQLAlchemy pip install sqlalchemy 在MySQL的test数据库中创建的user表,用SQLAlchemy来试试 数据库连接 第一步,导入SQLAlchemy,并初 ...

  9. (转)如何解决VC中的警告warning C4251 needs to have dll-interface

    这通常是由于以数据成员方式在DLL导出类中使用了模板类造成的.比如: #include <iostream> #include <vector> using namespace ...

  10. nginx+lvs+keepalived安装

    安装nginx 配置文件和之前的一样 user nobody nobody;    #定义Nginx运行的用户和用户组 worker_processes 4;    #nginx进程数,建议设置为等于 ...