/ 中存储网

SVN+Apache服务环境的安装与配置

2013-10-14 15:43:01 来源:itjs.cn

目的:

可以通过apache记录svn操作相关日志,增加安全性

apache2+svn1.6,svn+apache文档与svn文档安装无差异,只是在于多安装一个apache以及多了apache中的配置.

1.安装相关包

yum install httpd subversion cronolog

cronolog[日志截获指令,在lighttpd日志中有介绍]

2.建立一个svn库

mkdir -p /www/svndata/

svnadmin create /www/svndata/MY9

[以上配置可以与svn安装篇一致,即直接将svn安装上,apache只是起到一个http支持.]

3.配置apache

vi /etc/httpd/conf/httpd.cnf

<VirtualHost *:8080>

ServerAdmin [email protected]

<Location /svn> 

  DAV svn 

  SVNPath /www/svndata/MY9 

  AuthType Basic 

  AuthName “svn repos” 

  AuthUserFile /www/svndata/MY9/conf/passwd   #可以将这两个改成与svn配置时一致目录

  AuthzSVNAccessFile /www/svndata/MY9/conf/authz    #可以将这两个改成与svn配置时一致目录

  Satisfy Any 

  Require valid-user 

</Location>

ErrorLog /www/var/log/httpd/error.log  #目录可以自己行定义

CustomLog “|/usr/sbin/cronolog /www/var/log/apache2/%Y_%m_%d.access.log” combined    #[日志截获命令可以通过whereis查看,再写]

</VirtualHost>

#上面日志使用cronolog进行分割,每天1个,svn相关操作会记录到日志文件

修改/www/svndata/MY9该仓库下的conf下的svnserve.conf文件,

修改为:

anon=read

auth=write

password-db=passwd

4.删除默认的dav_svn.conf

/etc/httpd/mods-available/dav_svn.conf

/etc/httpd/mods-enabled/dav_svn.conf

5.为http访问增加用户

htpasswd -c /www/svndata/My9/conf/passwd yingzi

添加多个用户,这时不需要-c选项

htpasswd  /www/svn/web/conf/passwd shengchao

如果需要使用到sudo时,增加如下2行,不用到的话,无视

vi /etc/sudoers

%www-data ALL=(ALL) NOPASSWD: /usr/bin/svn

%www-data ALL=(ALL) NOPASSWD: /bin/chown

6.目录权限控制

vi /www/svn/web/conf/authz

[groups]

admin = yingzi

opx = yingzi,shengchao

idc = shengchao

[/]

@admin = rw

* =

####

[/MY9/aa]

@idc = rw

* =

[/MY9/bb]

@main = rw

@idc = rw

* =

#####

7.重启apache

service httpd restart

svnserve -d -r –port=8888 /www/svndata/MY9

增加sudo权限,不需要输入密码

9.使用svn

svn checkout地址  http://ip:8080/svn/

为使用http://访问时中密码如下

htpasswd  /www/svndata/My9/.passwd    poweryingzi 回车之后需要输入两次密码即可

以后通过http访问则使用poweryingzi