为什么访问我的 Apache 服务器时会出现 403 错误?

为什么访问我的 Apache 服务器时会出现 403 错误?

我在一个具有 2 GB RAM 和 500 GB HDD 的系统上运行 Ubuntu 12.04 LTS。

我的硬盘有 4 个分区:

  • 分区 1 = 40 gb Windows(NTFS,标签 = win32)
  • 分区 2 = 320 gb Windows(FAT 标签 = 通用)
  • 分区 3 = 40 gb Ubuntu (EXT4)

我安装了apached2。然后,为了更改其默认www目录,我运行gksu gedit /etc/apache2/sites-enabled/000-default并在编辑器中将位置更改为/media/common/www

之后我在终端中运行了以下命令:

chmod 777 /media/common/www 
chmod 777 /media/common/www/*.*

之后我跑了:firefox 127.0.0.1/index.php

它说:

Forbidden
You don't have permission to access / on this server.
Apache/2.2.22 (Ubuntu) Server at 127.0.0.1 Port 80

在我进行更改之前,它运行良好。

我如何运行我的网站?

答案1

我猜,您的common分区可能是ntfsfat分区,您只是通过单击 nautilus 侧栏图标来挂载该分区。这样做不会以权限挂载分区executable,而这是 Firefox 执行文件所必需的。

解决方案:

不使用/etc/fstab文件的最简单的解决方案是:

  • 打开终端并输入sudo blkid,输入密码。

  • 从命令的输出中,通过查看相应的标签来了解分区的类型,即common

  • 如果common分区恰好是/dev/sda2,则使用以下命令挂载该分区:

      udisks --mount /dev/sda2 --mount-options umask=022  
    

    /dev/sda2用实际的分区号替换。

您现在应该能够使用“Firefox”执行/运行这些文件。

笔记:使用该命令之前,您应该卸载分区。您可以通过右键单击分区图标来卸载它,然后从选项中选择“卸载”

答案2

嗯,据我所知,chmod 无法像您使用的那样在目录上工作 - 您确实应该尝试chmod -R 777 /path/to/main/directory/使其递归。再说一次,对于大多数事情,您不希望使用 777 - 但确切的权限级别取决于您的设置 - 我只是将所有权移交给 www-data 并使用 755 运行 - 这不允许非所有者写入,但赋予完全的读取/执行权限。

有趣的是,错误消息应该已经泄露了大部分信息。有关如何设置权限的更好说明,请参阅此问题网站管理员

相关内容