搭建一个 SVN(Subversion)服务器的过程可以分为几个主要步骤。以下是一个基本的指南,适用于在类 Unix 系统(如 Linux)上搭建 SVN 服务器:
1. 安装 SVN
在 Debian/Ubuntu 上:
sudo apt update sudo apt install subversion
在 CentOS/RHEL 上:
sudo yum install subversion
2. 创建 SVN 仓库
选择一个目录来存储你的 SVN 仓库,并创建一个新的仓库。例如:
sudo svnadmin create /path/to/repository
3. 配置访问权限
你可以通过修改 SVN 仓库目录下的 conf
文件夹中的配置文件来设置访问权限。
-
svnserve.conf
:配置 SVN 服务的基本设置,如访问权限、匿名访问等。打开并编辑文件
svnserve.conf
:sudo nano /path/to/repository/conf/svnserve.conf
修改如下设置:
[general] anon-access = read #该配置项控制匿名用户(没有登录的用户)对 SVN 仓库的访问权限。 auth-access = write #该配置项控制已认证用户(需要登录的用户)对 SVN 仓库的访问权限。 password-db = passwd #该配置项指定了存储用户认证信息的密码数据库文件的路径。这个文件用于存储用户名和密码。
-
passwd
:设置用户和密码。打开并编辑文件
passwd
:sudo nano /path/to/repository/conf/passwd
添加用户和密码:
[users] username = password
4. 启动 SVN 服务
有两种主要的方式来启动 SVN 服务:通过 svnserve
或使用 Apache。
使用 svnserve
:
svnserve -d -r /path/to/repository
-d
表示以守护进程模式运行。-r
指定根目录。
使用 Apache:
安装 Apache 的 mod_dav_svn
模块并配置。
-
安装
mod_dav_svn
:sudo apt install libapache2-svn
-
配置 Apache:
编辑 Apache 配置文件,例如/etc/apache2/mods-available/dav_svn.conf
,并添加如下配置: -
<Location /svn> DAV svn SVNPath /path/to/repository AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/subversion/passwd Require valid-user </Location>
创建用户密码文件并添加用户:
sudo htpasswd -cm /etc/subversion/passwd username
重启 Apache:
sudo systemctl restart apache2
5. 访问 SVN 仓库
-
通过
svnserve
访问:svn://hostname/repository
-
通过 Apache 访问:
http://hostname/svn/repository
6. 使用 SVN 客户端
你可以使用 SVN 客户端工具(如 svn
命令行工具或 GUI 工具)来检出、提交和更新你的代码库。