Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 18.07.2014 19:27:56

Ошибка 403 из за отсутвия index.php

У меня вот такая проблема
Раньше работал на винде и использовал OpenServer
Потом поставил линукс и решил как истинный джедай сам собрать связку apache + php + mysql
Вроде как-то собрал.
Но когда я поставил Laravel при попытки захода на главную страницу мне выдается ошибка "403 - Forbidden"

В логе ошибок написанно следующеие

[Sun Jul 13 03:22:03.532705 2014] [autoindex:error] [pid 29735] [client 127.0.0.1:37242] AH01276: Cannot serve directory /home/volk/web/vi.dev/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive

Как я понял это ларавель жалуется на отсутствие индексных файлов
Но ведь когда я точно таким же способом устанавливал на laravel на OpenServer и там тоже не было индексных файлов, но всё равно все работало.

У меня когнитивный диссонанс, по логике вещей лаверль без index.php не должен был работать и на OpenServer.

Конфигурация виртуального хоста выглядит вот так.

<VirtualHost *:80>
    ServerName vi.dev
    ServerAlias www.vi.dev
    DocumentRoot /home/volk/web/vi.dev
    ServerAdmin webmaster@localhost
    ErrorLog ${APACHE_LOG_DIR}/error.log
    <Directory "/home/volk/web/vi.dev">
        Require all granted
        DirectoryIndex index.php index.html
    </Directory>    
</VirtualHost>

Подскажите что за колдовская сила заставляет ларваель работать без index.php в корневой папке сайта?

И каким образом сделать чтобы он заработал и у меня?

Не в сети

#2 18.07.2014 19:38:40

Re: Ошибка 403 из за отсутвия index.php

  1. Как я понял это ларавель жалуется на отсутствие индексных файлов

Это стандартная ошибка (на самом деле предупреждение) Apache, говорит о том, что в папке, куда ты зашёл через браузер без указания файла (http://foo/folder/), нет index.html/php, поэтому он не может что-либо отобразить.

  1. там тоже не было индексных файлов

Как же не было, public/index.php не в счёт?

  1. DocumentRoot /home/volk/web/vi.dev

Неверно — у тебя корень сайта — корень фреймворка, а это должна быть папка public. Именно там находится Laravel-овский index.php. <Directory>, кстати, лишняя — обычно эти настройки уже и так заданы по умолчанию.

Не в сети

#3 19.07.2014 19:48:16

Re: Ошибка 403 из за отсутвия index.php

Спасибо, я использовал вот такую конифигурацю

<VirtualHost *:80>
    ServerName vi.dev
    ServerAlias www.vi.dev
    DocumentRoot /home/volk/web/vi.dev/public
    ServerAdmin me@localhost
    <Directory "/home/volk/web/vi.dev">
        Require all granted
    </Directory>
</VirtualHost>

и кажется проблема с 403 исчезла. Теперь вместо неё сообщение Mcrypt PHP extension required.
сейчас буду разбираться как приделать mcrypt к php.

P.S.
Directory все таки важна, так как по умолчанию apache хочет чтобы сайты были вот тут /var/www/html, а я хочу чтобы они лежали в ~/web (созданная мной папка), чтобы каждый раз не заморачиваться с sudo при работе с сайтами.

Не в сети

#4 28.04.2016 12:14:00

Re: Ошибка 403 из за отсутвия index.php

Да, но что делать, если это обычный хост и нет доступа к конфигу апача?

Не в сети

#5 01.05.2016 14:10:08

Re: Ошибка 403 из за отсутвия index.php

caper87 пишет:

Да, но что делать, если это обычный хост и нет доступа к конфигу апача?

1. Заказать VPS/VDS.
2. Не использовать фреймворк.
3. Залить Laravel в корень (туда, где лежит public_html, htdocs или www) и попробовать поставить симлинк между public_html и public.

Не в сети

#6 02.05.2016 23:13:04

Re: Ошибка 403 из за отсутвия index.php

Понял, значит пряморукого решения с хостом нет. Печально.
Благодарю за ответ

Не в сети

#7 11.05.2016 19:02:07

Re: Ошибка 403 из за отсутвия index.php

Пряморукое решение есть - просто настроить Apache так, как вам нужно. Все эти директории (www, html и т.п.) настраиваются в конфиге. Так что смело изучайте конфиг и документацию.

Не в сети

Подвал раздела