在 Red Hat Linux 服务器上为用户创建 public_html

在 Red Hat Linux 服务器上为用户创建 public_html

我只是想在 Red Hat Linux 服务器上以我的用户名创建一个 public_html 文件夹(这一切都有点令人头疼)。

我创建了文件夹并将权限设置为 755。
我不确定如何处理 Apache(并且不可否认,由于目录布局非常规,找到 httpd.conf 文件是一场噩梦),但现在我找到了它,我不知道该怎么做。

我见过这个问题;为 Linux 机器的每个用户设置单独可访问的 public_html,但我不明白答案。我该如何“使用 mod_userdir”(我对这些都很陌生)。

我已经看过这个了;
http://httpd.apache.org/docs/2.0/mod/mod_userdir.html

我是否应该在“httpd..conf 文件”中添加一些内容?

我尝试将“UserDir enabled username”附加到顶部,然后重新启动 Apache,但仍然找不到页面;
domain.com/~username/

问题可能出在哪里?
我是否错误地使用了 mod_userdir?(我甚至不知道如何使用它)

谢谢!

答案1

您安装了哪个版本的 RedHat?在 RedHat 6.x 上,这非常简单:

1)假设我有一个ec2-user创建了主目录的用户/home/ec2-user

2) 创建一个目录,并/home/ec2-user/public_html确保该目录的权限至少为 0711(可执行位设置为其他意味着运行 apache2 web 服务器的用户将有权进入这些目录)。此外,该目录的任何内容都必须对用户可读。/home/ec2-user/home/ec2-user/public_htmlapacheapache

3) 在 apache2 web 服务器配置中启用UserDir模块,该模块位于文件中/etc/httpd/conf/httpd.conf。注释掉该行UserDir disabled并取消注释该行UserDir public_html

<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 disabled

    #
    # 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>

4)使用 测试 apache2 web 服务器配置httpd -t,它应该返回Syntax OK,否则会出错

5)重新启动 apache2 web 服务器service httpd restart,并可选择chkconfig httpd on在启动时启用该服务

enforcing6)最后,如果你在模式下启用了 selinux - 你可以使用以下命令进行检查sestatus- 你必须运行此命令setsebool -P httpd_read_user_content=on以允许 apache2 web 服务器读取用户内容

7)测试它,例如从服务器运行w3m http://localhost/~ec2-user,如果有任何错误,它们应该记录到日志文件中/var/log/httpd/error_log

相关内容