在Ubuntu 14.04上安装Apache 2.4.7

我有一个以下的问题。 在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,看到下面的结果

禁止您无权访问/在此服务器上。 本地端口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 

这个问题依赖于Apache的默认配置从2.4.3开始有更多的限制。 缺省文档根目录之外的目录是默认禁止的,必须显式启用。 请参阅: 在Ubuntu 13.10上安装Apache Web服务器

基本上你应该添加:

 Require all granted 

在Directory指令下的某处。

您的网络服务器正在以www-data的形式运行。 因此,您需要使用以下命令将拥有新的docroot的用户帐户添加到此www-data组。

 xxx$ sudo usermod -a -G groupName userName 

其中groupname是www-data,userName是拥有docroot的用户名。

你可以参考这个答案 ,解释你为什么这样做。

最后,那个命令我让你第一次执行,ls -ltr会提供我昨天需要的所有信息。 如果您要提出问题,请在提问时提供所要求的详细信息。

希望这有助于,帕特

以防万一其他用户有同样的问题。 从Ubuntu 14.04开始,如果您在/ var / www或/ usr / share之外托管虚拟主机,则需要在/etc/apache2/apache2.conf中将路径添加到白名单。 在这种情况下,就像这样

 <Directory /home/user/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> 

当然,需要像@ptheo建议一样授予权限

他们改变了处理文件的方式。 默认情况下,apache只能访问/ var / www或/ usr / share中的文件。 我只是把我的文件夹改成了/ usr / share和必要的配置文件。 在/var/www/html/index.html的默认index.html文件中有更多的指导。 希望这可以帮助。

尝试

 sudo chown -R www-data:www-data /home/user/ooo 

给予DocumentRoot正确的权限

终端命令ubuntu

安装Apache

sudo apt-get update

sudo apt-get install apache2

/etc/apache2/sites-available$ sudo gedit 000-default.conf

在该文件中,您将找到<VirtualHost *:80>。</ VirtualHost>。 行内

 <Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> 

重启Apache。

sudo服务apache2重启