本文主要介绍如何在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. python oop常用术语 继承 多态 封装

    面向对象优点 1.通过封装明确了内外 2.通过继承+多态在语言层面支持了归一化设计 抽象/实现 抽象指对现实世界问题和实体的本质表现,行为和特征建模,建立一个相关的子集,可以用于 绘程序结构,从而实现 ...

  2. 六、angular 生成二维码

    首先需要安装angular-qrcode : bower install monospaced/angular-qrcode npm install angular-qrcode 如何使用? 在相应的 ...

  3. oracle基础之游标的理解与使用

    关于游标,首先要知道游标的定义. 游标,是内存中的一款区域,用来存放select的结果集 游标用来处理从数据库中检索的多行记录(使用select语句).利用游标,程序可以逐个的处理和遍历一次索引返回的 ...

  4. hive 历史拉链表的处理

    1. CREATE TABLE lalian_test(id int,col1 string,col2 string,dt string)--测试表COMMENT 'this is a test2'  ...

  5. linux 命令行模式下,浏览网页方法

    Ubuntu自带最新版的Gnome桌面,拥有大量的服务和桌面应用程序,让您仅通过一张安装光盘就可以体验到无比舒适的操作环境.下文介绍的在ubuntu下使用终端命令行上网的方法. 第一步,需要安装一个名 ...

  6. [翻译] MSAlertController

    MSAlertController You can use AlertController in iOS7!! 你可以在iOS中使用AlertController了 MSAlertController ...

  7. cocos2d::CCFileUtils::sharedFileUtils()->getFileData(szFile, "r", &bufferSize) 不同平台返回值不一样

    string pathKey = CCFileUtils::sharedFileUtils()->fullPathForFilename(fileName); unsigned char* pB ...

  8. 【NOI2008】假面舞会

    题目描述 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会. 今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具.每个面具都有一个编号,主办方会把此编号 ...

  9. python中的类(二)

    python中的类(二) 六.类的成员 字段:普通字段,静态字段 eg: class Province(): country=’中国’ #静态字段,保存在类中,执行时可以通过类或对象访问 def __ ...

  10. AttributeError: 'module' object has no attribute get'

    最近在写python requests相关内容易,突然报错AttributeError: 'module' object has no attribute 'get'" 脚本肯定没问题 怎么 ...