apache虚拟主机设置中的禁止错误

时间:2013-05-03 22:44:21

标签: apache ubuntu apache2 fuelphp

您好我一直在浏览互联网文章论坛以解决我的问题,到目前为止它一直无济于事。我正在尝试为localhost上的FuelPHP开发设置一个Apache虚拟主机,但我不断收到错误403消息。这是我目前的设置。

#/etc/apache2/sites-enabled/000-default
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    DocumentRoot "/home/supercomputer/Desktop/PHP/fuelProject/public"
    ServerName   localhost.home
    <Directory "/home/supercomputer/Desktop/PHP/fuelProject/public" >
        Options Indexes FollowSymLinks MultiViews Includes ExecCGI
        AllowOverride All
        Order Allow,Deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

我已将我的Docroot指向我的fuelProject中的公共文件夹。另外,为了确保Apache能够访问服务器文件,我将递归读取,写入和执行所有文件的权限设置为100%安全。关于还有什么可能出错的任何线索?

PS:我正在运行ubuntu raring(13.04)

PSS:我正在尝试访问localhost.home和localhost.home / index.php。重启服务器时,我也收到以下警告

* Restarting web server apache2                                                apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Fri May 03 15:46:58 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Fri May 03 15:46:59 2013] [warn] NameVirtualHost *:80 has no VirtualHosts

3 个答案:

答案 0 :(得分:3)

以下是为fuelphp应用程序或任何其他php应用程序添加Vhost的正确方法

<VirtualHost *:80>
    ServerName localhost.home
    DocumentRoot /home/supercomputer/Desktop/PHP/fuelProject/public
    ServerAdmin webmaster@localhost
    <Directory /home/supercomputer/Desktop/PHP/fuelProject/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

并且下面的行不是必需的我不知道你为什么添加

NameVirtualHost *:80

完成上述操作后,在您的计算机上添加一个主机条目来执行此操作

sudo vi /etc/hosts

添加虚拟主机的条目

127.0.0.1  localhost.home

完成所有这些事后

通过运行

重启Apache
sudo /etc/init.d/apache2 restart 

只需在浏览器中加载http://localhost.home,您就可以看到自己的网站正常运行。

如果仍然出现禁止错误。您需要授予整个应用程序文件夹

的权限

按照这些命令运行

sudo chown -R www-data:www-data /home/supercomputer/Desktop/PHP

sudo chmod -R 775 /home/supercomputer/Desktop/PHP

最后将自己添加到www-data组

sudo adduser yourUserName www-data

答案 1 :(得分:0)

我发布的配置正在运行。问题在于权限。我只将我的含燃料项目文件夹设置为权限777但由于某种原因,apache想要访问几乎所有包含它的文件夹。奇怪我知道但是将所有权限设置为777,它确实有效。阅读darn apache日志确实有帮助。如果您遇到类似的问题,我建议找到apache日志并实际阅读

答案 2 :(得分:0)

在Ubuntu 14.04上测试:我做了以上所有事情,但我没有工作。我错过了允许访问 apache2.conf 中的目录。如果您不使用/ var / www或/ usr / share /等标准目录,则需要这样做。

<Directory /usr/local/vufind>
    Options Indexes FollowSymLinks
    AllowOverride All 
    Require all granted
</Directory>

这是在4个默认的PHP站点上提到的。值得一读!