SVN服务器搭建、授权及http访问设置(CentOS 7)

环境:

svnserve, version 1.7.14,CentOS 7

摘要说明:

svn服务器往往是在window系统下使用VisualSVN搭建服务器;本篇文章主要讲述在liunx下如何搭建svn服务器及相关授权管理和http访问设置;

步骤:

1.搭建SVN服务器

a.安装SVN服务

使用yum命令安装svn服务:

yum install subversion

查看是否安装成功:

svnserve --help

b.创建repository

创建repository目录:

mkdir -p /home/svn/svnrepos

使用svnadmin命令创建repository:

svnadmin create /home/svn/svnrepos

打开该目录查看目录结构:

cd /home/svn/svnrepos
ls
conf  db  format  hooks  locks  README.txt

2.创建账户及授权

a.创建用户

在上述目录下通过编辑/conf/passwd来添加用户:

vi /conf/passwd
cc=111111
即创建好用户cc密码为111111

b.用户授权

通过编辑/conf/authz来进行用户授权:

vi /conf/authz
[/]
cc=rw

即授权用户cc读写权限:rw-读写;r-只读;

[/]是授权根目录,

其他可参考authz.config文件:

[groups]为组定义,可以在该组下加很多用户,以,分割,

但是该用户数据必须在/homd/svn/conf/pwd.conf中定义好,

[/]表示根目录以下的权限定义

[repos1:/]表示仓库下的权限定义

如果要分项目,则以此规则类推:

如:[repos1:/aaa]则表示仓库下的aaa项目的权限定义。

@admin表示admin这个组下的用户权限。

user1=r表示user1这个用户的权限。

c.svn配置

通过编辑/conf/svnserve.conf来进行用户授权,可将下面几个选项根据情况设置:

anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn/svnrepos # 认证空间名,版本库所在目录

3.启动svn

通过命令svnserve -d -r启动svn服务:

svnserve -d -r /home/svn/svnrepos

停止svn服务:

killall svnserve

svn默认端口为3690;

阿里云可通过设置该端口对外即可访问;其他服务器可通过设置防火墙开启访问:

vi /etc/sysconfig/iptables-config
-A INPUT -i eth0 -p tcp -m tcp --dport 3690 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 3690 -j ACCEPT 

保存配置,重启防火墙:

service iptables save
service iptables restart
但此时只能够通过svn://ip访问;

4.配置Apache

a.安装apache及module

安装apache(httpd):

yum install httpd

安装必备组件:

yum install mod_dav_svn
yum install mod_authz_svn

b.创建加密授权

创建加密授权(因上述svn的授权未加密,如httpd的授权不符):

先创建授权文件

touch /home/svn/svnrepos/conf/accesspwd

再创建用户,创建用户后重复输入密码:

htpasswd /home/svn/svnrepos/conf/accesspwd xx

c.配置代理

配置https代理文件:

touch /etc/httpd/conf.d/subversion.conf
使用vi命令写入:
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /home/svn/
AuthType Basic
AuthName "Subversion repos"
AuthzSVNAccessFile /home/svn/svnrepos/conf/authz
AuthUserFile /home/svn/svnrepos/conf/accesspwd
Require valid-user
</Location>
启动svn:
service httpd restart
使用http://xxx.xxx.xxx.xxx/svn/访问

猜你喜欢

转载自blog.csdn.net/u010904188/article/details/80939740