在 Linux 上启动 Subversion (SVN) 服务器,可以通过以下步骤实现。这里假设你已经安装好 Subversion 以及相关包,如 Apache HTTP Server 和 `mod_dav_svn` 模块。以常见的 Debian/Ubuntu 系统为例。

步骤
1. 安装 SVN 和 Apache:
如果还没有安装 SVN 和 Apache HTTP Server,可以使用以下命令来进行安装:
sh
sudo apt update
sudo apt install subversion apache2 libapache2-mod-svn libapache2-mod-authz-svn
2. 创建 SVN 库:
创建一个新的 SVN 库,例如在 `/srv/svn/myrepo` 目录:
sh
sudo svnadmin create /srv/svn/myrepo
3. 配置 Apache 以支持 SVN:
编辑 Apache 的 SVN 配置文件,通常位于 `/etc/apache2/mods-available/dav_svn.conf` 或者你可以创建一个新的配置文件来进行配置。
编辑或创建 `/etc/apache2/mods-available/dav_svn.conf` 文件,并添加以下内容:
apache
DAV svn
SVNParentPath /srv/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
4. 设置访问权限:
使用`htpasswd`命令创建一个密码文件来管理用户访问:
sh
sudo htpasswd -c /etc/apache2/dav_svn.passwd yourusername
如果你想添加其他用户,不需要使用 `-c` 选项:
sh
sudo htpasswd /etc/apache2/dav_svn.passwd anotheruser
5. 启用相关模块和配置文件:
启用 Apache 的相关模块和配置文件:
sh
sudo a2enmod dav
sudo a2enmod dav_svn
sudo a2enmod authz_svn
sudo a2ensite dav_svn
6. 重启 Apache 服务:
sh
sudo systemctl restart apache2
7. 验证 SVN 服务:
你现在可以通过浏览器访问 `http://your-server-ip-or-domain/svn/myrepo` 来验证 SVN 服务是否启动。如果需要在防火墙中开启HTTP(80端口)或者HTTPS(443端口)访问权限。
其他操作
- 启动服务:
如果需要手动启动 Apache 服务:
sh
sudo systemctl start apache2
- 停止服务:
如果需要停止 Apache 服务:
sh
sudo systemctl stop apache2
注意事项
- 确保文件和目录权限正确,以便 Apache 能够访问和修改 SVN 仓库。
- 根据需要,你可以进一步配置权限控制文件 (`authz`) 以管理用户对不同版本库的访问权限。
这样,SVN 服务就会在 Linux 上运行,你可以通过网络访问你的 SVN 仓库。

查看详情

查看详情