1.环境:
linux: 3.10.0-514.10.2.el7.x86_64
svn: 1.7.14 (r1542130)
http: 2.4.6-67
2.软件安装
yum install httpd
yum install subversion
yum install mod_dav_svn
3.创建版本库
mkdir -p /var/www/svn/hdplib
svnadmin create /var/www/svn/hdplib
4.修改配置文件
/var/www/svn/hdplib/conf/authz 用户权限控制 格式:用户=权限,最后一行新增
[/]
admin=rw
client=r
/var/www/svn/hdplib/conf/passwd 用户和密码控制 格式:用户=密码
admin = adminpasswd
client = clientpasswd
/var/www/svn/hdplib/conf/svnserve.conf 配置文件
# anon-access = read 匿名用户不可读 注释
auth-access = write 授权用户可写
password-db = /var/www/svn/passwd
authz-db = /var/www/svn/authz 授权文件名
realm = /var/www/svn/hdplib 仓库路径
复制配置文件到/var/www/svn下,实现多个仓库可共享用户密码
cp /var/www/svn/hdplib/conf/passwd /var/www/svn
cp /var/www/svn/hdplib/conf/authz var/www/svn
创建apache认证用户和密码
htpasswd -cm /var/www/svn/http_passwd admin
输入两次密码即可
htpasswd -m /var/www/svn/http_passwd client
注意首次创建时加上-c选项,后续新增个或修改用户时不要加,否则原用户会被清除
新增配置文件 vi /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNParentPath /var/www/svn/
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /var/www/svn/authz
AuthUserFile /var/www/svn/http_passwd
Require valid-user
</Location>
修改路径权限
chmod 755 /var/www/svn
chmod 644 /var/www/svn/http_passwd
chmod 644 /var/www/svn/authz
chmod 644 /var/www/svn/passwd
chmod -R 755 /var/www/svn/hdplib
注:若不修改权限,可能导致报错 Could not open the requested SVN filesystem [500, #13]
5.启动svn
svnserve -d -r /var/www/svn/hdplib
6.启动http
systemctl restart httpd.service
之后可通过http访问仓库,添加、修改和删除文件与svn相同,不再赘述。
7.其他
若有报错Unknown DAV provider: svn则需要安装mod_dav_svn