安装Subversion
# Ubuntu
apt install subversion apache2 libsvn-dev libapache2-mod-svn subversion-tools
配置服务
1、配置apache
vim /etc/apache2/mods-enabled/dav_svn.conf
内容如下:
<Location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /svn/authz
AuthUserFile /svn/passwd
Require valid-user
</Location>
2、配置apaches.conf
vim /etc/apache2/apache2.conf
User apache
Group apache
#可以添加到文件末尾
ServerName 127.0.0.1
3、创建目录svn父目录及svn库
mkdir /svn
svnadmin create /svn/repo
useradd -r -m -s /bin/bash apache
chown -R apache.apache /svn/repo
4、创建用户及配置svn库(上例中的repo库)
注意:尽量不要使用网络磁盘(oss或nfs),否则会存在权限问题。
安装htpasswd工具
# ubuntu
apt-get install apache2-utils
# Fedora/Centos
yum install httpd-tools
创建用户和密码文件
# 使用-c参数表示,创建用户liyanqiao,并且同时创建文件passwd(这个文件在apache中设置过,要与AuthUserFile /svn/passwd这个文件名的设置保持一致)
htpasswd -c /svn/passwd bigqiao
# 如果该文件已经存在,想添加新用户请用-m参数
htpasswd -m /svn/passwd bigqiao
创建权限文件
# 这个文件在apache中设置过,要与AuthzSVNAccessFile /svn/authz这个文件名的设置保持一致
vim /svn/authz
# 内容如下:
[groups]
admin = user1, user2, testuser
devgroup = user5, user6
[repo:/] //项目名
@admin = rw
@devgroup = r
bigqiao = rw //权限
# admins have control over every project - and can list all projects on the root point
[/]
@admin = rw
管理apache服务
# 启动服务
systemctl enable apache2
systemctl start apache2
systemctl restart apache2
启动服务后,使用浏览器输入服务器地址,即可访问:

查看日志
tail -f /var/log/apache2/error.log
tail -f /var/log/