apache - 尝试对 var/www/html 使用符号链接(symbolic link)

标签 apache amazon-ec2

这就是我想要完成的:从 var/www/html 创建符号链接(symbolic link)到主 ( ~ ) 文件夹中的目录。我试图符号链接(symbolic link)到的目录( ~ )是一个 git 存储库,如果这有什么不同的话。我在这个目录中有一个 index.html 文件。

我使用以下命令在 Amazon EC2 实例上创建了指向 var/www/html 的符号链接(symbolic link):ln -s ~/dirIWant/ html ,但是当我尝试访问我的网页时,这会导致以下错误:403 Forbidden "You don't have permission to access / on this server."我正在使用 Apache 。

有没有其他人试图做类似的事情并让它发挥作用?

目前,当我访问我的网站 www.blah.com 时,它会显示此 403 错误。我尝试使用 sudo chown -h apache:apache 更改权限但这似乎没有帮助。你还有其他建议吗?

最佳答案

这是因为 apache 以 apache 用户身份运行,/var/www/html在 Amazon Linux AMI 中归 root 所有。您可以按照 Frank 的建议更改所有权/权限,或使用 用户目录 .

在我看来,您希望可以从您的主目录 (~) 方便地访问网络服务器的文件夹。我想在我的 EC2 上使用类似的东西,并决定使用每用户 Web 目录 (mod_userdir)。

此功能允许您将部分 HTTP 服务器空间保留在用户拥有的目录中。每个用户都有自己的目录,默认位于 /home/username/public_html .该目录中的页面、脚本和其他文件可通过附加 /~username 访问 Internet。到您的域。此外,您可以从 public_html 更改 httpd.conf 中该文件夹的名称。到别的东西,比如 gitRepo .在这种情况下,如果您有 index.html文件在 /home/ec2-user/gitRepo/index.html ,公众可通过 http://ec2-hostname.aws.amazon.com/~ec2-user/index.html 访问归ec2-user所有,方便用户级别的文件编辑。

要在 EC2 上进行设置(假设您要使用的文件夹名称为“gitRepo”),请使用 nano /etc/httpd/conf/httpd.conf打开 Apache 配置文件并向下滚动直到看到 <IfModule mod_userdir.c> .然后将此部分更改为如下所示:

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

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

</IfModule>

之后您应该一切顺利,但请确保权限设置正确:
chmod 711 /home/ec2-user
chmod 755 /home/ec2-user/gitRepo
chown -R ec2-user /home/ec2-user/gitRepo

最后像这样重新加载网络服务器:
sudo service httpd reload

关于apache - 尝试对 var/www/html 使用符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11730186/

相关文章:

apache - mod_headers 不工作

apache - 如何以非 root 用户身份安装 Apache httpd?

python - Apache/mod_wsgi/django/arch linux 自 64 位升级以来陷入困境,尽管能够导入所有库

amazon-ec2 - EC2 : EBS device id confusion (/dev/sdf vs./dev/xvdf)

amazon-web-services - 在 EC2 机器启动时获取用户数据

python - 在 Amazon Linux (EC2) 上安装 pyOpenSSL

process - Top & httpd - 揭秘实际运行的内容

regex - 301/302 从斜杠根重定向到特定主页 url

amazon-web-services - AWS Elasticbeanstalk 多容器 - 实例未在允许的命令超时内响应

amazon-web-services - 如何让应用程序长期部署在 EC2 服务器上?