最新消息:运维之路

Centos 下搭建SVN + Apache 服务器

系统运维 admin 156浏览 0评论

hpindncu

记录一下工作中达到两种验证体系情况下的SVN服务搭建需求

一边走Apache控制体系另外一遍SVN账户控制体系

首先还是吐槽下这次源码编译 各种模块需求 版本和版本之间还得一致才能安装好   后面 我果断选择yum安装了  简单粗暴强大.

首先安装相关软件包

yum install httpd
yum install mod_dav_svn
yum install subversion

SVN仓库的创建
mkdir /var/www/svn
cd /var/www/svn
svnadmin create repo1
ls /var/www/svn/repo1
conf db format hooks locks README.txt

仓库目录说明

hooks目录:放置hook脚本文件的目录
locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

配置svn服务

配置文件svnserver.conf文件

vi /svn/project/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = /var/www/svn/repo1/conf/passwd
authz-db = /var/www/svn/repo1/conf/authz
realm = My Frist Repos #这是个提示信息

添加两个访问用户及口令

vi /svn/project/conf/passwd

[users]
test1 = 123456
test2 = 123456
注意:对用户配置文件的修改立即生效,不必重启svn服务。
配置新用户的授权文件

vi /svn/project/conf/authz

[groups]
admin = xiaoran.shen,test1
user = test2
[/]
@admin = rw
@user = r
* =
启动svn服务

svnserve -d -r /var/www/svn/

默认svn服务器端口是3690。

那么至此 SVN基本可正常使用了     接下来设定Apache的

Apache配置
授权文件和密码文件配置

 

Apache配置
授权文件和密码文件配置

htpasswd /var/www/svn/apache.passwd  user1
输入前面SVN配置的密码,生成账号
将svn关联到apache上:

vi /etc/httpd/conf.d/subversion.conf

<Location /repos>
DAV svn
SVNParentPath /var/www/svn

#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
AuthType Basic
AuthName “Authorization SVN”
AuthzSVNAccessFile /var/www/svn/conf/authz
AuthUserFile /var/www/svn/apache.passwd
Require valid-user
#   </LimitExcept>
</Location>

SVNParentPath:顾名思义仓库父目录,也即如上图/home/svn/目录是所有仓库的父目录,里面可添加许多仓库。它和<Location /svn>是映射关系,即http访问/svn,也就是访问/home/svn
AuthType Basic: 基本认证,具体说明见官方
AuthUserFile: 存储用户名和密码的文件
AuthzSVNAccessFile:配置用户权限文件,可访问哪些仓库、哪些目录
Require valid-user: 有效用户

 

接着重启 apache   然后设定下iptables即可啦

转载请注明:DevOps » Centos 下搭建SVN + Apache 服务器

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址