阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何在RHEL/CentOS上启用Apache Userdir模块

271次阅读
没有评论

共计 3010 个字符,预计需要花费 8 分钟才能阅读完成。

User Directory 或 Userdir 是一个 Apache 模块,它允许使用 http://example.com/~user/ 语法通过 Apache Web 服务器检索特定于用户的目录。

例如,当启用 mod_userdir 模块时,系统上的用户帐户将能够通过 Apache Web 服务器访问其主目录中的内容。

在本文中,我们将向您展示如何使用 Apache Web 服务器在 RHEL,CentOS 和 Fedora 服务器上启用 Apache userdirs(mod_userdir)。

本教程假设您已经在 Linux 发行版上安装了 Apache Web 服务器。如果还没有,可以使用以下步骤安装它 …

第 1 步:安装 Apache HTTP Server

要安装 Apache Web 服务器,请在 Linux 发行版上使用以下命令。

[linuxidc@localhost www.linuxidc.com]$ sudo yum install httpd          [在 CentOS/RHEL 上]
[linuxidc@localhost www.linuxidc.com]$ sudo dnf install httpd          [在 Fedora 上]

如何在 RHEL/CentOS 上启用 Apache Userdir 模块

在 CentOS 7 上安装 Apache

第 2 步:启用 Apache Userdirs

现在,您需要配置 Apache Web 服务器以在配置文件 /etc/apache2/mods-available/userdir.conf 中使用此模块,该文件已配置了最佳选项。

# vi /etc/httpd/conf.d/userdir.conf

然后验证内容如下所示。

# directory if a ~user request is received.
#
# The path to the end user account ‘public_html’ directory must be
# accessible to the webserver userid.  This usually means that ~userid
# must have permissions of 711, ~userid/public_html must have permissions
# of 755, and documents contained therein must be world-readable.
# Otherwise, the client will only receive a “403 Forbidden” message.
#
<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    UserDir enabled linuxidc

    #
    # To enable requests to /~user/ to serve the user’s public_html
    # directory, remove the “UserDir disabled” line above, and uncomment
    # the following line instead:
    #
    UserDir public_html
</IfModule>

#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
<Directory “/home/*/public_html”>
    ## Apache 2.4 users use following ##
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS

## Apache 2.2 users use following ##
        Options Indexes Includes FollowSymLinks       
        AllowOverride All
        Allow from all
        Order deny,allow
</Directory>

如何在 RHEL/CentOS 上启用 Apache Userdir 模块

要允许少数用户访问 UserDir 目录,但不允许其他人访问,请在配置文件中使用以下设置。

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

要允许所有用户访问 UserDir 目录,但对少数用户禁用此功能,请在配置文件中使用以下设置。

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

根据需要进行配置设置后,需要重新启动 Apache Web 服务器以应用最近的更改。

# systemctl restart httpd.service  [在 SystemD 上]
# service httpd restart            [在 SysVInit 上]

第 3 步:创建用户目录

现在,您需要在 user/users 主目录中创建一个 public_html 目录 / 目录。例如,这里我在 linuxidc 的用户主目录下创建一个 public_html 目录。

# mkdir /home/linuxidc/public_html

接下来,在用户 home 和 public_html 目录上应用正确的权限。

# chmod 711 /home/linuxidc
# chown linuxidc:linuxidc /home/linuxidc/public_html
# chmod 755 /home/linuxidc/public_html

另外,为 Apache homedir(httpd_enable_homedirs)设置正确的 SELinux context。

# setsebool -P httpd_enable_homedirs true
# chcon -R -t httpd_sys_content_t /home/linuxidc/public_html

第 4 步:测试启用 Apache Userdir

最后,通过将浏览器指向服务器主机名或 IP 地址,然后是用户名来验证 Userdir。

http://www.linuxidc.com/~linuxidc/

http://IP 地址 /~linuxidc

如何在 RHEL/CentOS 上启用 Apache Userdir 模块

如何在 RHEL/CentOS 上启用 Apache Userdir 模块

如果需要,还可以通过创建以下文件来测试 HTML 页面和 PHP 信息。

使用以下内容创建 /home/linuxidc/public_html/linuxidc.com.html 文件。

<html>
  <head>
    <title>linuxidc.com is Best Site for Linux</title>
  </head>
  <body>
    <h1>linuxidc.com is Best Site for Linux</h1>
  </body>
</html>

如下图:

如何在 RHEL/CentOS 上启用 Apache Userdir 模块

使用以下内容创建 /home/linuxidc/public_html/linuxidc.com.php 文件。

<?php
  phpinfo();
?>

OK,在本文中,我们解释了如何启用 Userdir 模块来允许用户共享来自其主目录的内容。如果您对本文有任何疑问,请在下面的评论部分提出。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3010字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中