centos 7 搭建svn 并添加http访问

环境为centos7

1.首先 看看机器上安装了svn了没有 

rpm -qa |grep svn

2.如果没有安装 执行

yum -y install subversion 

3.安装好了之后 新建一个svn目录

mkdir /home/svn

4.新建一个版本仓库

svnadmin create /home/svn/repo

红色部分是版本仓库名 在配置文件中会使用的

5.将你需要放在svn上的工程 放进repo目录中

6.初始化一下你的版本仓库

svn import 需要放到svn上的文件夹/ file:///home/svn/repo -m “版本说明” --username xx --password xx

这里需要注意的是  如果后边不加用户名和密码 可能导致 客户端在使用的时候 update时 不需要输入用户名和密码就可以update

7.添加用户

要添加SVN用户非常简单,只需在/home/svn/repo/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:

[users]

# harry = harryssecret

# sally = sallyssecret

root = root123

8.修改用户访问策略

/home/svn/repo/conf/authz记录用户的访问策略,以下是参考:

[groups]

project_p = root

#[project:/] 如果你的仓库下边就一个版本的话 就不需要使用xxx 直接一个斜杠就完事

#[project:/xxx] 如果你的仓库下边有多个版本的话xxx就是那个文件夹的名字

#上边这2个根据自己情况选一个

@project_p = rw

* =

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

9.修改svnserve.conf文件,让用户和策略配置升效.

svnserve.conf内容如下:

[general]

anon-access = none

auth-access = write

password-db = /home/svn/repo/conf/passwd

authz-db = /home/svn/repo/conf/authz

10.启动服务器

# svnserve -d -r /home/svn

注意:如果修改了svn配置,需要重启svn服务,步骤如下:

# ps -aux|grep svnserve

# kill -9 ID号

# svnserve -d -r /home/svn

11.测试服务器

# svn co svn://192.168.x.x/repo

12.到此为止 独立svn服务器就建立好了  

需要注意的是  如果客户端想要使用的话

url地址一定是这个样子的   svn://192.168.x.x/repo看好了  不是htttps的头

如果想要使用http的头的话  需要配置SVN服务器的HTTP支持

下面介绍支持http訪問配置

前提条件:

请先关闭防火墙或者selinux,当然你也可以进行相应的配置,让某些端口通过

我比较暴力,采用关闭处理

systemctl disable firewalld

systemctl stop firewalld

disable是让其不下次开机启动,stop是结束它。

对于selinux

改/etc/selinux/config文件的”SELINUX=enforcing”为”SELINUX=disabled”

然后执行”setenforce 0″不用重启地关闭selinux

一、安装相应的软件

#apache服务器,让我们的svn 服务器支持http协议访问,而不仅是svn://协议

yum install httpd

#apache操作svn模块

yum install mod_dav_svn

二、修改配置文件

修改/etc/httpd/conf.d/subversion.conf(没有则新建),內容为

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

DAV svn

SVNListParentPath on

SVNParentPath /home/svn/repo

AuthType Basic

Satisfy Any

AuthName "Subversion repos"

AuthUserFile /home/svn/accesspwd

AuthzSVNAccessFile /home/svn/authz

Require valid-user

DAV svn

SVNListParentPath on

SVNParentPath /home/svn

AuthType Basic

Satisfy Any

AuthName "Subversion repos"

AuthUserFile /home/svn/accesspwd

AuthzSVNAccessFile /home/svn/authz

Require valid-user


 /home/svn/authz文件内容为:

[groups]

testgroup = root

[/]

root=rw

[repo:/]

root=rw

三、创建accesspwd 文件

htpasswd -c -m /home/svn/accesspwd root

按提示输入两次密码,我们就创建了一个’root’,

四、 让apache用户对”/home/svn/repo″目录拥有写权限。

#将用户apache加入root组

usermod -a -G root apache

#让group对/home/svn/repo目录也有写权限

chmod -R g+w /home/svn/repo

#查看apache用户属于的组

groups apache

五、测试

systemctl start httpd.service

htpasswd -b accesspwd dyh dengyh 新增用户

现在就可以通过”http://ip/repo″来访问我们的svn服务器了

你可能感兴趣的:(centos 7 搭建svn 并添加http访问)