Laravel по-русски

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

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

#1 21.07.2016 17:58:27

Не получается установить Laravel 5 на VPS

Добрый день!
Начал изучать этот прекрасный фреймворк, учусь и тестирую на локальной машине в опенсервере.
Сегодня попытался воспроизвести установку на VPS через композер. В итоге все файлы залились, но сайт не работает.
http://iqplanets.ru/blog/public/

Вот данные php:
http://iqplanets.ru/info.php

.htaccess оставил как было при установке:
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>


попробовал через консоль запустить артизан и вот что получил:
--------------------------------------------
[root@thelh blog]# php artisan clear-compiled
PHP Warning:  require(/var/www/admin/data/www/iqplanets.ru/blog/bootstrap/../ven                                                      dor/autoload.php): failed to open stream: No such file or directory in /var/www/                                                      admin/data/www/iqplanets.ru/blog/bootstrap/autoload.php on line 17
PHP Fatal error:  require(): Failed opening required '/var/www/admin/data/www/iq                                                      planets.ru/blog/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/pe                                                      ar:/usr/share/php') in /var/www/admin/data/www/iqplanets.ru/blog/bootstrap/autol                                                      oad.php on line 17
[root@thelh blog]# php artisan
PHP Warning:  require(/var/www/admin/data/www/iqplanets.ru/blog/bootstrap/../ven                                                      dor/autoload.php): failed to open stream: No such file or directory in /var/www/                                                      admin/data/www/iqplanets.ru/blog/bootstrap/autoload.php on line 17
PHP Fatal error:  require(): Failed opening required '/var/www/admin/data/www/iq                                                      planets.ru/blog/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/pe                                                      ar:/usr/share/php') in /var/www/admin/data/www/iqplanets.ru/blog/bootstrap/autol                                                      oad.php on line 17
--------------------------------------------


Буду признателен, если кто подскажет как запустить Laravel!
Спасибо!

Не в сети

#2 21.07.2016 20:12:11

Re: Не получается установить Laravel 5 на VPS

1. вебсервер должен смотреть в папку public а не в корень проекта.

2. установку _СТОИТ_ производить по методу laravel new blog, описанному в документации по установке. Так как оно само все права на файлы выставит и настроит "коробочку".

Не в сети

#3 21.07.2016 21:33:11

Re: Не получается установить Laravel 5 на VPS

Спасибо, что так быстро отреагировали на вопрос!

Хотел вначале именно первым способом установить, но не понял, как вот это необходимо сделать:
"Не забудьте поместить каталог ~/.composer/vendor/bin в вашу переменную PATH, чтобы исполняемый файл laravel мог быть найден вашей системой."

нужно в терминале перейти по этому пути и выполнить от туда команду laravel new blog?

Вот что я проделал:
-------------------------
[root@thelh iqplanets.ru]# php composer.phar global require "laravel/installer" Changed current directory to /root/.composer
Using version ^1.3 for laravel/installer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing symfony/process (v3.1.2)
    Downloading: 100%

  - Installing symfony/polyfill-mbstring (v1.2.0)
    Downloading: 100%

  - Installing symfony/console (v3.1.2)
    Downloading: 100%

  - Installing guzzlehttp/promises (1.2.0)
    Downloading: 100%

  - Installing psr/http-message (1.0)
    Downloading: 100%

  - Installing guzzlehttp/psr7 (1.3.1)
    Downloading: 100%

  - Installing guzzlehttp/guzzle (6.2.1)
    Downloading: 100%

  - Installing laravel/installer (v1.3.3)
    Downloading: 100%

symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing psr/log (For using the console logger)
Writing lock file
Generating autoload files
[root@thelh iqplanets.ru]# laravel new crm
-bash: laravel: command not found
[root@thelh iqplanets.ru]# ^C
[root@thelh iqplanets.ru]# cd /root/.composer/vendor/bin
[root@thelh bin]# ls
laravel
[root@thelh bin]# laravel new crm
-bash: laravel: command not found
[root@thelh bin]# php laravel new crm
Crafting application...
sh: composer: command not found
Application ready! Build something amazing.
--------------------------


Вроде в конце надпись "Application ready! Build something amazing." но я не нашел куда оно поставилось если поставилось))))

Подскажите, пожалуйста, где ошибся?

Не в сети

#4 21.07.2016 21:39:31

Re: Не получается установить Laravel 5 на VPS

Нашел, куда он установил))))
/root/.composer/vendor/bin/ вот сюда
вместо
/var/www/admin/data/www/iqplanets.ru

Осталось понять, как указать ему место установки...

Не в сети

#5 21.07.2016 22:05:37

Re: Не получается установить Laravel 5 на VPS

И понял как устанавливать нужную директорию)))
Может таким же нубам как я пригодится:
в терминале нужно запустить: export PATH="$PATH:$HOME/.composer/vendor/bin"
потом перейти в директорию где вы хотите создать сайт и указать название далее по инструкции.

Как рекомендовали (https://laravel.ru/forum/viewtopic.php?id=728), создал еще в корне .htaccess и прописал в нем
Options Indexes FollowSymLinks
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ public/ [L]
    RewriteRule (.*) public/$1 [L]
</IfModule>


В итоге после этих манипуляция получилось поставить ларавель по инструкции, но результат не сколько не изменился -  сайт не пашет и та же самая ошибка - Internal Server Error 500. Фиг знает куда рыть, есть еще какие идеи?

Не в сети

#6 21.07.2016 22:56:56

Re: Не получается установить Laravel 5 на VPS

из под рута работать нельзя, это супер-пользователь. им управлять системой надо, а не сайты вертеть.
создай пользователя и из под него всё делай.

Не в сети

#7 22.07.2016 08:44:07

Re: Не получается установить Laravel 5 на VPS

повторил все от пользователя, эффекта не дало(

Не в сети

#8 26.07.2016 10:31:36

Re: Не получается установить Laravel 5 на VPS

Все норм, разобрался)))
Перставил Ununtu, поставил по инструкции ларавел, выставил права и все заработало.
Для смены public на корень изменил настройки в конфиге апач. Нужно дописать public в DocumentRoot.

Остался один вопрос, может кто сталкивался:
В дефолтном .htaccess есть строка:
Options -MultiViews

Если ее оставить, то ларавел не работает, если закомментировать, то все ок. На сколько критично оставлять включенной опцию MultiViews и если критично, то как ее выключить, так как через htaccess не выходит.

Не в сети

#9 26.07.2016 11:03:32

Re: Не получается установить Laravel 5 на VPS

убей строку, или разбирайся с директивой AllowOverride all

Не в сети

#10 26.07.2016 11:12:33

Re: Не получается установить Laravel 5 на VPS

hzone пишет:

убей строку, или разбирайся с директивой AllowOverride all

Это я понял, что можно ее просто убить)))) Но на сколько я понял могут быть тогда проблемы с безопасность. Я верно понял или я слишком заморачиваюсь и стоит реально просто ее убить?

Не в сети

#11 26.07.2016 13:42:57

Re: Не получается установить Laravel 5 на VPS

Вроде разобрался. Вот что нагуглил:
"Ошибка там вылезает т.к., скорее всего, MultiViews вообще нет на сервере, поэтому выключить его нельзя.

А раз нет на сервере, то отключать не нужно и строку Options -MultiViews
можно попытаться убрать и проверить все ли там будет работать. Предположительно, должно работать."

Источник - https://nulled.in/threads/143436/

Не в сети

#12 26.07.2016 15:41:39

Re: Не получается установить Laravel 5 на VPS

есть он на сервере, но до него надо добраться ещё. просто убей директиву. жить не мешает.
а лучше вообще апачем не пользуйся.

Не в сети

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