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

use*_*232 3 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>
Run Code Online (Sandbox Code Playgroud)

我已将我的文档根目录指向 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
Run Code Online (Sandbox Code Playgroud)

ara*_*ara 5

这是为 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>
Run Code Online (Sandbox Code Playgroud)

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

NameVirtualHost *:80
Run Code Online (Sandbox Code Playgroud)

完成上述所有操作后,向您的计算机添加一个主机条目以执行此操作

sudo vi /etc/hosts
Run Code Online (Sandbox Code Playgroud)

添加虚拟主机的条目

127.0.0.1  localhost.home
Run Code Online (Sandbox Code Playgroud)

做完所有这些事情之后

通过运行重新启动 Apache

sudo /etc/init.d/apache2 restart 
Run Code Online (Sandbox Code Playgroud)

只需在浏览器中加载http://localhost.home,您就应该能够看到您的站点已启动并正在运行。

如果您仍然收到禁止错误。您需要授予整个应用程序文件夹的权限

按照运行这些命令来执行此操作

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

sudo chmod -R 775 /home/supercomputer/Desktop/PHP
Run Code Online (Sandbox Code Playgroud)

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

sudo adduser yourUserName www-data
Run Code Online (Sandbox Code Playgroud)