Skip to content

【SVN教程】(1)搭建SVN服务器

安装步骤

安装环境

  • 系统: Ubuntu 24.04.1

1.安装apache2和svn server

shell
sudo apt install subversion apache2 libapache2-mod-svn

2.创建svn版本库

shell
sudo mkdir -p /var/svn/repos
sudo svnadmin create /var/svn/repos/test-repo

3.配置authz和passwd

  • 复制一份到svn目录,统一管理
shell
cd /var/svn
sudo cp repos/test-repo/conf/authz authz
sudo cp repos/test-repo/conf/passwd passwd
  • 配置authz和passwd: 根据自己的需要配置

4.配置svnserve.conf

ini
[general]
anon-access = none
auth-access = write
password-db = ../../../passwd
authz-db = ../../../authz

5.配置目录权限

shell
sudo chown -R www-data:www-data /var/svn/repos
sudo chmod -R 755 /var/svn/repos

6.启动svnserve服务

shell
sudo svnserve -d -r /var/svn/repos

7.配置apache2的svn

shell
sudo vim /etc/apache2/mods-available/dav_svn.conf
xml
<Location /svn>
    DAV svn
    SVNParentPath /var/svn/repos
    SVNAdvertiseV2Protocol Off
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /var/svn/pwdfile
    AuthzSVNAccessFile /var/svn/authz
    Require valid-user 
</Location>

8.配置http的密码

  • 注意需要和authz的相同
shell
sudo htpasswd -c /var/svn/pwdfile admin

9.重启apache服务

shell
sudo service apache2 restart

10.访问

配置开机自启

1.创建新的服务文件

shell
sudo vim /etc/systemd/system/svnserve.service
  • 配置内容如下
ini
[Unit]
Description=Subversion Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/svnserve -d -r /var/svn/repos
ExecStop=/bin/kill -TERM $MAINPID

[Install]
WantedBy=multi-user.target

2.启用服务

shell
sudo systemctl daemon-reload
sudo systemctl enable svnserve
sudo systemctl start svnserve
sudo systemctl status svnserve

上次更新于: