Debian Liunx(5.x / 6.x) + apache2(2.2.16)+ Subversion(1.6.12)
二,配置:
1,apt-get 安装 apache
2, openssl(https) 和 svn reistlin:~# apt-get install apache2 apache2-mpm-worker openssl subversion libapache2-svn
2,新建 svn 目录(/home/svn),配置目录所有者(www-data)以及权限 reistlin:~# mkdir /home/svn
reistlin:~# chown www-data:www-data -R /home/svn/
reistlin:~# chmod 770 -R /home/svn/
3,创建 svn 用户密码配置文件:/etc/apache2/dav_svn.passwd reistlin:~# /usr/bin/htpasswd -c /etc/apache2/dav_svn.passwd admin
New password:
Re-type new password:
Adding password for user admin
密码文件默认加密方法:CRYPT encryption,密码文件格式:用户名:密码
基于安全考虑,建议加密方法使用 SHA encryption:htpasswd -s 用户名
reistlin:~# cat /etc/apache2/dav_svn.passwd
admin:{SHA}0DPiKuNIrrVmD8IUCuw1hQxNqZc=
reistlin:{SHA}QL0AFWMIX8NRZTKeof9cXsvbvu8=
test1:{SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=
test2:{SHA}Y2fEjdGT1W6nsLqtJbGUVeUp9e4=
4,创建 svn 目录权限配置文件:/etc/apache2/dav_svn.authz reistlin:~# cat /etc/apache2/dav_svn.authz
[groups]
admin=admin,reistlin
guest=test1,test2
[reistlin:/] # 版本库 reistlin 权限配置
*= # 默认禁止所有用户访问
@admin=rw # admin 组有 rw 权限
test1=r # 用户 test1 有 r 权限
5,配置 /etc/apache2/mods-available/dav_svn.conf reistlin:~# vim /etc/apache2/mods-available/dav_svn.conf
创建 svn location,指定 svn 目录,认证方式,认证信息;
指定 dav_svn.passwd 用户密码配置文件路径;
指定 dav_svn.authz 目录权限配置文件路径。
<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>
6,创建 svn 版本库(reistlin) reistlin:~# su - www-data
reistlin:~$ svnadmin create /home/svn/reistlin
7,配置完成,重新启动 apache2 服务 reistlin:~$ su - root
reistlin:~# /etc/init.d/apache2 restart
8,启动浏览器,访问 http://localhost/svn/reistlin
三,管理:
1,新建用户(htpasswd SHA 加密方法,参数:-s)
reistlin:~$ sudo /usr/bin/htpasswd -s /etc/apache2/dav_svn.passwd 用户名
2,删除用户(vi/vim 编辑)
reistlin:~$ sudo vim /etc/apache2/dav_svn.passwd
查找指定用户名:/用户名
删除用户指定行:dd
保存退出::wq
3,Subversion 客户端 [TortoiseSVN](开源软件:支持英文/简体中文/繁体中文)