在CentOS 8/RHEL 8上安装Apache Subversion(SVN)

时间:2020-02-23 14:31:07  来源:igfitidea点击:

Apache Subversion(SVN)是一个免费的开源版本控制系统,用于管理和跟踪文件和目录中的更改。版本控制功能使我们可以还原到文件的旧状态,并检查一段时间内的更改。 Apache Subversion的替代方法是Git。

本指南将引导我们完成在CentOS 8/RHEL 8上安装SVN服务器的操作。由于Apache Subversion并未附带身份验证系统,因此请使用Apache htpasswd命令添加SVN用户。

在CentOS 8/RHEL 8 Linux上安装Apache Subversion

在CentOS 8/RHEL 8上安装SVN并没有主要的准备工作。只需确保我们的系统已更新,然后在CentOS 8/RHEL 8 Linux上继续安装和配置Apache Subversion(SVN)。

更新系统

更新和升级系统软件包。

sudo yum -y update

升级后必须重新启动。

sudo reboot

在CentOS 8/RHEL 8 Linux上安装Apache Subversion

运行以下命令以在CentOS 8/RHEL 8 Linux机器上安装SVN。

sudo dnf install subversion mod_dav_svn

按y键开始安装。

创建Apache Subversion配置文件

在SVN的httpd配置文件夹中创建一个配置文件。

sudo vi /etc/httpd/conf.d/subversion.conf

将以下粘贴到文件中。

<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn
   AuthType Basic
   AuthName "Apache SVN Repositories"
   AuthUserFile /etc/svn/svn-auth
   Require valid-user
</Location>

创建SVN目录。

sudo mkdir /var/www/svn /etc/svn/

第4步:创建存储库并添加SVN用户

创建第一个SVN存储库。

cd /var/www/svn
sudo svnadmin create myrepo

设定权限

sudo chown -R apache.apache myrepo

还设置适当的SELinux安全上下文。

sudo semanage fcontext -a -t  httpd_sys_content_t "/var/www/svn(/.*)?"

创建SVN HTTP访问认证文件。

sudo touch /etc/svn/svn-auth

添加第一个SVN用户。

$sudo htpasswd -cm /etc/svn/svn-auth theitroad
New password: <Enter-password>
Re-type new password: <Confirm-password>
Adding password for user theitroad

给密码文件适当的权限。

sudo chown root:apache /etc/svn/svn-auth
sudo chmod 640 /etc/svn/svn-auth

要添加其他用户,请使用命令语法。

sudo htpasswd -m /etc/svn/svn-auth user2
sudo htpasswd -m /etc/svn/svn-auth user3
sudo htpasswd -m /etc/svn/svn-auth user4

访问SVN Web门户

启动并启用httpd服务。

sudo systemctl enable --now httpd
sudo systemctl restart httpd

打开防火墙上的http端口。

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

打开Web浏览器,然后输入http://server_ip_or_hostname/svn/myrepo

使用之前在配置过程中提供的凭据登录。有关更多信息,请查看Apache Subversion官方文档。