如何在基于 RHEL 的 Linux 发行版上安装 SVN
Apache Subversion(通俗地缩写为 SVN)采用 C 编程语言编写,是一个免费的开源版本控制系统,可跟踪历史版本文件和目录的版本。
简而言之,SVN 只是一个版本跟踪器,允许用户将对文件所做的更改发送到存储库,该存储库跟踪谁对每个文件进行了更改。存储库类似于文件服务器。不同之处在于它跟踪更改并允许您恢复旧版本的代码或探测文件更改的历史记录。
在本文中,我们重点介绍如何在基于 RHEL 的 Linux 发行版上安装 SVN,例如 CentOS、Fedora、Rocky Linux、 和AlmaLinux。
第 1 步:在 Linux 中安装 Apache Subversion (SVN)
我们首先安装 Subversion 及其关联的软件包,如图所示。
sudo dnf install mod_dav_svn subversion
该命令还会安装 Apache HTTP Web 服务器(如果之前未安装)。您可以启动Apache并检查其状态,如下所示。
sudo systemctl start httpd
sudo systemctl status httpd
步骤 2:创建并配置本地 SVN 存储库
安装SVN后,下一步将是创建用于存储文件和代码的存储库。
首先,创建用于存储代码的 SVN 目录。
sudo mkdir -p /var/www/svn
接下来,导航到目录并使用 svadmin create 命令创建存储库:
cd /var/www/svn/
sudo svadmin create demo_repo
接下来,为 SVN 目录分配权限。
sudo chown -R apache.apache /var/www/svn
步骤 3:创建 Subversion 配置文件
我们需要创建一个 Subversion 配置文件。
sudo vim /etc/httpd/conf.d/subversion.conf
添加以下行。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Subversion repo"
AuthUserFile /etc/svn-auth-users
Require valid-user
</LimitExcept>
</Location>
保存更改并退出。
步骤 4:创建授权 Subversion 用户
下一步是创建 Subversion 用户,即有权访问 Subversion 存储库的用户。要创建第一个用户,请使用带有 -cm
选项的 htpasswd 命令。密码保存在 /etc/svn-auth-users 文件中。
sudo htpasswd -cm /etc/svn-auth-users svnuser1
要创建后续用户,请省略 -c
选项,仅使用 -m
选项。
sudo htpasswd -m /etc/svn-auth-users svnuser2
sudo htpasswd -m /etc/svn-auth-users svnuser3
要应用所做的更改,请重新启动 Apache 网络服务器。
sudo systemctl restart httpd
步骤 5:为 SVN 配置防火墙和 SELinux
配置防火墙以允许防火墙上的 HTTP 流量,如下所示:
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
此外,请在存储库上应用以下 SELinux 规则。
sudo chcon -R -t httpd_sys_content_t /var/www/svn/demo_repo
sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/demo_repo
第6步:从浏览器访问SVN
要从浏览器访问您的 SVN 存储库,只需转到 URL。
http://server-ip/svn/demo_repo
使用 SVN 存储库
要开始使用 SVN 存储库,您需要使用 svn checkout 命令在当前工作目录中创建 SVN 存储库的工作副本。
svn checkout URL
要添加一些文件,请导航到克隆的目录:
cd demo_repo
创建一些演示文件:
touch file1.txt file2.txt file3.txt
将文件添加到 SVN。
svn add file1.txt file2.txt file3.txt
然后将文件提交到存储库,如下所示:
svn commit -m "Adding new files" file1.txt file2.txt file3.txt
使用您的凭据进行身份验证,文件将添加到存储库中。
您可以通过返回浏览器来确认这一点。
我们关于如何在 RHEL、CentOS、Fedora、Rocky Linux 和 Linux 上安装 SVN 的指南到此结束。强>AlmaLinux。