我有一台 Linux 服务器和一台 Windows 服务器,其中有一个外部驱动器用于存放我的网站文件。问题只存在于 Linux Apache 配置中,我无法访问位于外部驱动器上的网站文件。
这是我的外部驱动器的结构:
/media/mintmate/NewVolume/Site
有两个文件夹,一个带有Accept
,另一个是Testing
,两个文件夹都有相同的网站文件夹,如website a
,website b
测试文件夹带有测试前缀。
这是我目前所做的:我使用以下配置创建了一个文件“ sites.conf
” :/etc/apache2/sites-available
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /media/mintmate/NewVolume/Site
</VirtualHost>
并启用它sudo a2ensite sites.conf
apache2.conf
然后我使用以下设置编辑文件:
<Directory /media/mintmate/NewVolume/Site>
AllowOverride None
Require all granted
Allow from localhost
</Directory>
保存这些文件后,我重新启动了服务(sudo service apache2 reload
和sudo service apache2 restart
)
当我进入localhost
服务器时,我收到此消息“禁止访问,您无权访问此服务器上的/”。我也尝试过,http://localhost/Testing/test-a/
但http://localhost/Testing/test-a/index.php
仍然出现相同的错误消息。
这是输出ls -al /media/mintmate/NewVolume/Site
:
total 10
drwxrwxrwx 1 mintmate mintmate 4096 Sep 25 18:57 .
drwxrwxrwx 1 mintmate mintmate 4096 Sep 25 18:57 ..
drwxrwxrwx 1 mintmate mintmate 0 Sep 21 15:35 Accept
-rwxrwxrwx 1 mintmate mintmate 912 Sep 24 19:20 index.html
drwxrwxrwx 1 mintmate mintmate 0 Sep 21 15:35 Testing
我已经尝试过这里的所有步骤:如何更改 apache 服务器的根目录?和错误消息“禁止您无权访问此服务器上的/”但仍然没有成功。我做错了什么?
答案1
您是否尝试过将 Apache 用户和组更改为 mintmate?错误明确指出用户无权访问文件或文件夹。您必须授予 apache 用户权限才能访问网站文件。
答案2
Allow from
是 Apache 2.2 的配置语法。Apache 2.4 基本上可以使用 2.2 的语法,但是当你混合使用这两种语法时结果不一定如你所愿。
改变
Allow from localhost
到
Require ip 127.0.0.1
另一方面,您可以省略该行,Require all granted
已经允许从任何地方访问,包括本地主机。
答案3
备查:
我已更改下一项apache2.conf
:
<Directory /media/NewVolume/Site>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Require all granted
</Directory>
还有这个000-default.conf
:
DocumentRoot /media/NewVolume/Site
之后,我按照@antony_sebastian 建议的方式更改了用户的文件夹权限。
sudo chown -R mintmate:www-data /media/NewVolume/Site/
和
sudo chmod -R 777 /media/NewVolume/Site/