我有以下问题。 在Ubuntu上安装Apache 2.4.7。 我在目录/ etc / apache2 / sites-available /
中创建了文件<VirtualHost ooo.net:80>
ServerName ooo.net
ServerAlias www.ooo.net
ServerAdmin webmaster@ooo.net
DocumentRoot /home/user/ooo/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
在主持人中
127.0.0.1 ooo.net
127.0.1.1 pc
我访问了ooo.net并看到了以下结果
禁 您无权访问/在此服务器上。 位于localhost端口80的Apache / 2.4.7(Ubuntu)服务器
我做错了什么?
error.log -
[Sat Apr 12 19:30:57.276525 2014] [core:error] [pid 1213:tid 140219565360896] (13)Permission denied: [client 127.0.0.1:37136] AH00035: access to / denied (filesystem path '/home/user/ooo') because search permissions are missing on a component of the path
[Sat Apr 12 19:30:57.539816 2014] [core:error] [pid 1213:tid 140219556968192] (13)Permission denied: [client 127.0.0.1:37136] AH00035: access to /favicon.ico denied (filesystem path '/home/user/ooo') because search permissions are missing on a component of the path
access.log -
127.0.0.1 - - [12/Apr/2014:19:30:57 +0400] "GET / HTTP/1.1" 403 495 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/33.0.1750.152 Chrome/33.0.1750.152 Safari/537.36"
127.0.0.1 - - [12/Apr/2014:19:30:57 +0400] "GET /favicon.ico HTTP/1.1" 403 505 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/33.0.1750.152 Chrome/33.0.1750.152 Safari/537.36"
第一次回答后ls -ltr -
drwxr-sr-x 2 user www-data 4096 апр. 10 20:41 errors
-rwxr-sr-x 1 user www-data 9062 апр. 10 20:41 about.htm
-rwxr-sr-x 1 user www-data 7116 апр. 10 20:41 admin.htm
-rwxr-sr-x 1 user www-data 2884 апр. 10 20:41 admin_art.inc
-rwxr-sr-x 1 user www-data 367112 апр. 10 20:41 ARIAL.TTF
-rwxr-sr-x 1 user www-data 4767 апр. 10 20:41 admin_d2.inc
-rwxr-sr-x 1 user www-data 2958 апр. 10 20:41 admin_exb.inc
-rwxr-sr-x 1 user www-data 2369 апр. 10 20:41 admin_faq.inc
-rwxr-sr-x 1 user www-data 1846 апр. 10 20:41 admin_fbk.inc
-rwxr-sr-x 1 user www-data 1791 апр. 10 20:41 admin_fbk2.inc
-rwxr-sr-x 1 user www-data 2657 апр. 10 20:41 admin_gbk.inc
-rwxr-sr-x 1 user www-data 3881 апр. 10 20:41 admin_frm.inc
-rwxr-sr-x 1 user www-data 2616 апр. 10 20:41 admin_gbl.inc
-rwxr-sr-x 1 user www-data 8197 апр. 10 20:41 admin_img.inc
-rwxr-sr-x 1 user www-data 7352 апр. 10 20:41 admin_new.inc
答案 0 :(得分:12)
问题依赖于Apache默认配置从2.4.3开始受到更多限制。默认情况下禁止默认文档根目录之外的目录,并且必须明确启用。请参阅:Install Apache web server on Ubuntu 13.10
基本上你应该添加:
Require all granted
在Directory指令下的某个地方。
答案 1 :(得分:2)
您的网络服务器正在以www-data身份运行。因此,您需要使用以下命令将拥有新docroot的用户帐户添加到此www-data组。
xxx$ sudo usermod -a -G groupName userName
其中groupname是www-data,userName是拥有docroot的用户名。
您可以参考此SO answer来解释您为何这样做。
最后,我要求你第一次执行该命令,ls -ltr会提供我昨天回答这个问题所需的所有信息。如果您要提问,请在询问时提供详细信息。
希望这有帮助, 专利
答案 2 :(得分:2)
以防万一其他用户遇到同样的问题。从Ubuntu 14.04开始,如果您在/ var / www或/ usr / share之外托管虚拟主机,则需要在/etc/apache2/apache2.conf中添加白名单的路径。在这种情况下,像这样
<Directory /home/user/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
当然,需要像@ptheo建议的那样授予许可
答案 3 :(得分:1)
他们改变了处理文件的方式。默认情况下,apache只能访问/ var / www或/ usr / share中的文件。我只是将我的文件夹更改为/ usr / share以及必要的配置和瞧。 /var/www/html/index.html中的默认index.html文件中有更多指导。希望这会有所帮助。
答案 4 :(得分:0)
<强>尝试强>
sudo chown -R www-data:www-data /home/user/ooo
为DocumentRoot提供正确的权限
答案 5 :(得分:0)
终端命令ubuntu
sudo apt-get update
sudo apt-get install apache2
/etc/apache2/sites-available$ sudo gedit 000-default.conf
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
sudo service apache2 restart`