您的位置:首页 > 运维架构 > Apache

Ubuntu搭建svn服务器(Subversion+Apache配置)

2015-01-25 14:58 525 查看
系统环境:Ubuntu12.04LTS

安装如下工具:

sudo apt-get install subversion

sudo apt-get install apache2

sudo apt-get install libapache2-svn

创建文件夹:

sudo mkdir /home/svn

sudo mkdir /home/svn/project

创建版本仓库:

sudo svnadmin create /home/svn/project/

版本仓库目录授权给apache读写:

sudo chown -R www-data:www-data /home/svn/project/

打开apache配置文件:

sudo vi /etc/apache2/mods-available/dav_svn.conf

加入如下内容:

<Location /project>

DAV svn

SVNPath /home/svn/project

AuthType Basic

AuthName "Subversion Repository"

AuthUserFile /home/svn/project/conf/svn.passwd

#<IfModule mod_authz_svn.c>

AuthzSVNAccessFile /home/svn/project/conf/svn.authz

#</IfModule>

#<LimitExcept GET PROPFIND OPTIONS REPORT>

Require valid-user

#</LimitExcept>

</Location>

location说的是访问地址,比如上述地址,访问的时候就是
http://192.168.1.101/project
其中有两行被注释掉了,以保证每次都需要用户名密码

增加对AuthzSVNAccessFile的支持

修改::/etc/apache2/mods-enabled/dav.load 

sudo vi /etc/apache2/mods-enabled/dav.load

增加以下内容

LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

创建账户及访问权限文件

sudo touch /home/svn/project/conf/svn.passwd

sudo touch /home/svn/project/conf/svn.authz

添加账户ivansun

第一次添加带-c参数,后面再添加用户切记不要-c,否则所以账户将会被清零

sudo htpasswd -c /home/svn/project/conf/svn.passwd ivansun

-c 参数会清空以前所有帐号信息

如果要添加其他的帐号

sudo htpasswd /home/svn/project/conf/svn.passwd test

编辑用户访问权限:

 

sudo vi /home/svn/project/conf/svn.authz

如添加用户访问权限:

[groups]

group_admin=ivansun

group_se=test

[project:/]

*=r

@group_admin=rw

[project:/OpenSource]

@group_se=rw

以上配置表示,group_admin分组中,对project文件及其子文件具备读写权限,其他人具备只读权限;group_se 分组中,对OpenSource文件及其子文件具备读写权限。

重启apache就可以了。

sudo /etc/init.d/apache2 restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: