Ubuntu 安装 subversion

本文详细介绍了在Linux环境下如何安装并集成Subversion与Apache,包括安装步骤、配置Apache以支持Subversion访问控制、创建SVN仓库、添加项目、用户管理及权限分配等关键步骤。

1. 安装Subversion

 

sudo apt-get install subversionsudo apt-get install subversion-tools

 

2. 安装Apache

 

sudo apt-get install apache2sudo apt-get install libapache2-svn

sudo apt-get install apache2-utils  //在添加用户时需要用到

 

 

3. ApacheSubversion的集成

 

查看/etc/apache2/mods-enabled/dav_svn.load文件,有mod_dav_svn.somod_authz_svn.so这两个动态库说明apache已经加载了Subversion的访问控制模块。如果没有,手动添加。

添加mod_authz_svn.so则是sudo  gedit /etc/apache2/mods_enables/dav_svn.load

然后:LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

 

4.编辑/etc/apache2/mods-enabled/dav_svn.conf文件,在最后加入下述内容:

<Location /svn>DAV  svnSVNParentPath  /home/svnAuthType  BasicAuthName  "Subversion Repository"AuthUserFile  /etc/subversion/dav_svn.passwordAuthzSVNAccessFile  /etc/subversion/dav_svn.authz
Require  valid-user</Location>

 

5.

Sudo touch /etc/subversion/dav_svn.password

Sudo touch /etc/subversion/dav_svn.authz来创建这2个不存在的文件。

/etc/subversion目录为项目配置目录,其公共数据可存放到此目录

 

6.在添加了上述内容后,必须重启Apache2 HTTP服务器

 

Sudo /etc/init.d/apache2 restart

 

 

 

7.创建 SVN 仓库

 

sudo addgroup subversionsudo usermod -G subversion -a www-data

Sudo adduser xxx subversion (xxx:当前用户)

 

结果看上去,像这样。

$ cat /etc/group|grep subversionsubversion:x:1002:www-data,exp

 

Sudo mkdir /home/svnsudo mkdir /home/svn/repository

Cd /home/svn

sudo chown -R root:subversion repository

 

下面的命令用于创建 SVN 文件仓库:

Sudo svnadmin create  /home/svn/repository

 

赋予组成员对所有新加入文件仓库的文件拥有相应的权限:

$ sudo chmod -R g+rws repository

 

查看txn-current-lock文件的权限和用户以及组信息,应该类似于:

$ls -l /home/svn/repos/db/txn-current-lock
-rw-rwSr-- 1 root subversion  0  2009-06-18  15:33  txn-current-lock

除了权限以外,用户及其组如果不对,则仍然会遇到上述问题,可以再次运行命令:

$ sudo chown -R root:subversion repository

 

8. Subversion添加项目

管理员必须考虑的问题是,将每一个项目分别放在不同的版本库里面,还是将它们放在统一的版本库里面。统一的版本库可以让管理员更加容易的升级和备份,不过,由于访问权限控制是针对整个版本库的,所以,统一的版本库也为不同项目配置不同的访问权限带来了麻烦。所以,管理员应该根据实际情况权衡考虑。
我以统一的版本库为例,添加三个项目businessdevelopproject。首先在一个临时目录下,根据 Subversion 版本控制的一般布局结构,创建出三个项目的主要目录树,如下:

然后用 svn import 命令导入已有的目录树。

svn import /home/svn/tmp/ file:///home/svn/repository/ --message "init"

可以用 svn list 确认导入的项目是否正确:

svn list --verbose file:///home/svn/repository/

如果要查看最新修订版本的信息,可以使用 svnlook info 命令:

svnlook info /home/svn/repository/

还可以在命令后面接上 “--revision 版本号” 来指定某一个修订版的显示。

还可以用如下命令来显示版本库的具体树形结构,后面的 “--show-ids” 选项指定显示每一个显示元素的修改版本 ID

svnlook tree /home/svn/repository/ --show-ids

 

9. Subversion添加用户

添加第一个用户,要加参数-c。以后不用加。

Sudo htpasswd -c /etc/subversion/dav_svn.passwd  lezg

Subversion追加用户:

Sudo htpasswd /etc/subversion/dav_svn.passwd yang

passwd.conf文件的生成内容是用户名加上密码的 MD5 密文。

 

10. Subversion分配用户权限

新添加的用户是不能访问Subversion的,还要为他分配权限。编辑/etc/subversion/dav_svn.authz文件,例:

[groups]vip = wangadmin = wangqixuan, yangdevelop-manager = zhongbusiness-manager = shideveloper = ma, hu, zhou, cen, huang [repository:/]

@admin = rw

* = r [repository:/develop/xxx]

@vip =rw

@admin = rw

@develop-manager = rw

* =r

其中* = 表示其它所有用户都没有任何权限。

 

11. Subversion启动

Sudo svnserve -d -r /home/svn

 

下面命令可检查是否成功启动:

ps -ef | grep svn

或者

ps -aux | grep svn

 

 

 

 

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值