搭建 Subversion 服务器
安装SVN
sudo apt-get install subversion
创建目录
sudo mkdir /home/svn
cd /home/svn
sudo mkdir project
建 SVN 文件仓库:
sudo svnadmin create /home/svn/project
进入/home文件夹
ls -l
查看/svn目录的创建者是否为root,若为root,则更改权限,
sudo chown username /home/svn -R
否则在以后Check in的时候会出现错误:
Can’t open ‘/home/svn/project/db/txn-current-lock’: Permission denied
进入修改 /home/svn/fitness目录下:
编辑svnserve.conf文件,把如下两行取消注释
# [general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,
但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。
编辑passwd文件
[users]
a = 123456
b = 123456
c= 123456
按以上格式添加用户。
编辑authz文件
[groups]
project_admin = a,b //按以上格式将已存在的用户a, b归为project_admin组
# [repository:/baz/fuz]
# @harry_and_sally = rw
[/] //要设置权限的目录,这里是当前根目录,可设置为/project_1等
@project_admin = rw //给组赋权限
c = rw //给单个用户赋权限
* = r // 默认权限
启动SVN服务
svnserve -d -r /home/svn
在客户端利用
svn://localhost/project 即可访问SVN服务器。
http访问形式
通过 WebDAV 协议访问支持 Subversion 的 Apache 2 Web 服务器
安装Apache
sudo apt-get install libapache2-svn
sudo apt-get install apache2-mpm-worker
进入修改 /etc/apache2/httpd.conf文件
DAV svn
SVNparentPath /home/svn
AuthType Basic
AuthuserFile /etc/subversion/passwd //用户信息文件
Require valid-user
添加用户
sudo htpasswd -c /etc/subversion/passwd user_name
将改为用户名,再输入两次密码即可
重启Apache
sudo /etc/init.d/apache2 restart