HCRM博客

如何在CentOS上安装和配置Apache与SVN?

在 CentOS 7 上部署 Apache Subversion(SVN)服务器是一个常见的任务,尤其是在需要版本控制系统来管理代码和文档的环境中,以下是详细的步骤,包括安装、配置和启动 SVN 服务器的全过程:

先决条件

1、CentOS 7:最小化安装即可,但非必需。

如何在CentOS上安装和配置Apache与SVN?-图1
(图片来源网络,侵权删除)

2、sudo 用户登录:直接使用 root 亦可。

3、非 root 用户:请在命令前加 sudo。

安装 Apache

1、使用 YUM 安装 Apache

   sudo yum install y httpd

2、检查 Apache 是否安装成功

   httpd version
   # Server version: Apache/2.4.6 (CentOS)

3、删除 Apache 的默认欢迎页面

   sed i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

4、防止 Apache 在/var/www/html 目录中显示文件

如何在CentOS上安装和配置Apache与SVN?-图2
(图片来源网络,侵权删除)
   sed i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

三、安装 SVN 和 mod_dav_svn 模块

1、安装 subversion 和 mod_dav_svn

   sudo yum install y subversion mod_dav_svn

2、检查 svnserve 是否安装成功

   svnserve version
   # svnserve, version 1.7.14 (r1542130)

配置 SVN

1、修改 SVN 配置文件

   vim /etc/httpd/conf.modules.d/10subversion.conf

2、添加以下内容到配置文件

   <Location /svn>
       DAV svn
       SVNParentPath /svn
       AuthName "SVN Repos"
       AuthType Basic
       AuthUserFile /etc/svn/svnauth
       AuthzSVNAccessFile /svn/authz
       Require validuser
   </Location>

3、创建 SVN 仓库

如何在CentOS上安装和配置Apache与SVN?-图3
(图片来源网络,侵权删除)
   mkdir /svn
   cd /svn
   svnadmin create repo1
   chown R apache:apache repo1

4、设置 SVN 用户帐号

   mkdir /etc/svn
   htpasswd cm /etc/svn/svnauth user001
   chown root:apache /etc/svn/svnauth
   chmod 640 /etc/svn/svnauth

5、为用户设置权限

   cp /svn/repo1/conf/authz /svn/authz
   vim /svn/authz

假设:用户 user001 是管理员,用户 user002 具有读写权限,用户 user003 只能读,可以修改以下设置:

   [groups]
   admin=user001
   repo1_user=user002
   repo1_trainee=user003
   
   [/]
   @admin=rw
   [repo1:/]
   @repo1_user=rw
   @repo1_trainee=r

启动 Apache 并修改防火墙规则

1、启动 Apache

   sudo systemctl start httpd.service
   sudo systemctl enable httpd.service

2、打开 HTTP 服务端口

   sudo firewallcmd zone=public permanent addservice=http
   sudo firewallcmd reload

访问 SVN 仓库

使用以下路径从 SVN 客户端访问服务器上的 SVN repo repo1:

http://<yourserverip>/svn/repo1/

FAQs

1、问题:如何为 SVN 仓库添加更多用户?

解答:可以使用htpasswd 命令来添加更多用户,要添加用户 user002 和 user003,可以运行以下命令:

   htpasswd m /etc/svn/svnauth user002
   htpasswd m /etc/svn/svnauth user003

注意:不要使用c 标志,否则会重建身份验证文件,并清除之前设置的所有用户帐户。

2、问题:如何配置用户的读写权限?

解答:可以通过编辑/svn/authz 文件来配置用户的读写权限,假设用户 user001 是管理员,user002 具有读写权限,user003 只能读,则可以修改以下设置:

   [groups]
   admin=user001
   repo1_user=user002
   repo1_trainee=user003
   
   [/]
   @admin=rw
   [repo1:/]
   @repo1_user=rw
   @repo1_trainee=r
分享:
扫描分享到社交APP
上一篇
下一篇