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

本文详细介绍如何在Ubuntu 12.04 LTS系统环境中搭建SVN版本控制系统服务器,包括安装所需工具、创建版本仓库、配置Apache访问及权限管理等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统环境: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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值