2013-05-03 2 views
2

Здравствуйте, я просматривал форумы интернет-статей, чтобы решить мою проблему, и до сих пор это было бесполезно. Я пытаюсь настроить виртуальный хост Apache для разработки FuelPHP на localhost, но я все время получаю сообщение об ошибке 403. Вот моя текущая настройка.Запрещенная ошибка в настройке виртуального хоста apache

#/etc/apache2/sites-enabled/000-default 
NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    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 на общую папку внутри моего топливного проекта. Кроме того, чтобы убедиться, что Apache имеет доступ к файлам сервера, я устанавливаю разрешения для всех файлов рекурсивно для чтения, записи и выполнения, чтобы быть на 100% безопасным. Какие-нибудь подсказки относительно того, что еще может пойти не так?

PS: Я бегу убунту рвения (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

Пожалуйста, разместите свои журналы Apache, чтобы мы могли правильно помочь, я как-то догадался, что может быть проблемой, поэтому вы отправляете сообщение об ошибке, проверяя его. –

+1

Отключить тему. Попробуйте serverfault.com. – EJP

+0

@ user1000232 Ваша проблема решена. Если да, пожалуйста, примите ответ, который вы знаете правила SO, которые вы должны принять. если нет, напишите свой вопрос. –

ответ

0

Конфигурация, которую я опубликовал, работает. Проблема заключалась в разрешении. Я установил только мою папку с топливным проектом на разрешение 777, но по какой-то причине apache хотел получить доступ ко всем папкам, содержащим его. Weird Я знаю, но установив все разрешения 777, это сработало. Чтение darn apache-журнала наверняка помогло. Если у вас есть аналогичная проблема, я предлагаю найти журнал apache и ACTUALLY READ IT

+0

тоже здесь ... свежие загруженные файлы не получили разрешения на чтение ... после установки 777 все сработало – Umingo

+9

Надеюсь, что люди не будут этого делать в своей производственной среде. – r4ccoon

3

Вот правильный способ добавления ВХоста для применения fuelphp или любого другого приложения PHP

<VirtualHost *:80> 
    ServerName localhost.home 
    DocumentRoot /home/supercomputer/Desktop/PHP/fuelProject/public 
    ServerAdmin [email protected] 
    <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-данных

sudo adduser yourUserName www-data 
+0

После изменения моего DocumentRoot с по умолчанию '/ var/www' на что-то пользовательское и добавление соответствующего правила Directory в мой конфигурационный файл Apache, я получал запрещенную ошибку на localhost. Добавив запись, которую вы предложили '/ etc/hosts', и перезапустив Apache, она исправила ее для меня. – Dennis

0

Testeed on Ubuntu 14.04: Я сделал все выше, но я не работал. Я пропустил, чтобы разрешить доступ к каталогу в моем apache2.conf. Это необходимо, если вы не используете стандартный каталог, например/var/www или/usr/share /.

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

Об этом упоминалось на сайте PHP по умолчанию. Это стоит прочитать!

Смежные вопросы