搭建Subversion
目录
注意
本文最后更新于 2024-06-18,文中内容可能已过时。
0.1 安装 apache 服务
apt -y install apache2
检查 apache 是否安装成功
systemctl status apache2.service
0.2 安装 svnserve 服务
apt -y install subversion
检查 svnserve 是否安装成功
svnserve --version
安装 mod_dav_svn
mod_dav_svn 是 apache 服务器访问 svn 的一个模块。
apt install libapache2-mod-svn
0.3 创建 svn 仓库
mkdir /data/svn
svnadmin create /data/svn/project
chown -R www-data.www-data /data/svn
0.4 配置 SVN
修改 svnserve.conf
删除以下配置注释
anon-access = none #关闭匿名访问
auth-access = write #验证用户可写
password-db = passwd #指向验证用户名密码的数据文件 passwd
auth-db=authz #指向验证用户的权限配置文件 authz
这里不使用 svn 的用户管理
0.5 配置权限
创建用户密码文件
# 创建用户文件
touch /data/svn/htpasswd
# 创建用户 admin
htpasswd /data/svn/passwd admin
# 创建用户 user1
htpasswd /data/svn/passwd user1
创建权限文件 authz
cp /data/svn/project/conf/authz /data/svn/authz
配置 apache
vi /etc/apache2/mods-available/dav_svn.conf
<Location />
DAV svn
SVNPath /data/svn
AuthType Basic
AuthName "Subversion repos"
AuthUserFile /data/svn/htpasswd
AuthzSVNAccessFile /data/svn/authz
Require valid-user
</Location>
<Location /project>
DAV svn
SVNPath /data/svn/project
AuthType Basic
AuthName "Subversion repos"
AuthUserFile /data/svn/htpasswd
AuthzSVNAccessFile /data/svn/authz
Require valid-user
</Location>
重启 apache 服务
systemctl restart apache2.service
客户端使用 http://ip/repo 就可以访问刚才建立的svn仓库了。
启动 svnserver,不使用 svn 协议非必要
svnserve -d -r /data/svn