您好我一直在浏览互联网文章论坛以解决我的问题,到目前为止它一直无济于事。我正在尝试为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
答案 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
完成所有这些事后
通过运行
重启Apachesudo /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站点上提到的。值得一读!