Установка Laravel на хостинге timeweb

 

Наиболее простой и стандартный метод установки Laravel на наш взгляд - это установка из Composer.

Предполагается, что на хостинге timeweb в материнском каталоге уже установлен Composer свежей версии. Т.е. в материнском каталоге уже лежит файл composer.phar.

Также у нас должна быть готова папка нашего будущего сайта /moysite.ru/ в которую мы будем устанавливать Laravel.

Стоит отметить, что папка должна быть пустой, иначе композер выдаст ошибку о том, что папка не пустая и прекратит работу. По умолчанию при создании нового сайта (в нашем случае moysite.ru) на хостинге timeweb в папке (/moysite.ru/) сайта создается папка /public_html/. ЕЕ нужно удалить перед запуском установки Laravel выше обозначенной команды.

Следующим этапом будет распаковка дистрибутива Laravel командой:

    //вызывается из консоли (SSH)
    
  // команда запускается из материнского каталога. 
  //Laravel в данном случае будет установлен в папку /moysite.ru/
  //Версия Laravel будет 8.6 и выше
  //Запуск композера происходит от имени PHP версии 7.4 с увеличением лимита памяти
     /opt/php74/bin/php -d memory_limit=4024M composer.phar create-project laravel/laravel moysite.ru 8.6.*

   

По итогам работы команды увидим в консоли что-то типа этого.

 

Установка Laravel

 

Таким образом, если все пройдет без ошибок, то в папке нашего будущего сайта /moysite.ru/ появятся файлы фреймворка laravel.

 

Файлы Laravel

 

Если мы сейчас перейдем на сайт moysite.ru то увидим ошибку 404 Not Found. Для исправления этого в папку нашего сайта нужно добавить файл .htaccess, в котором прописать:

    //содержимое файла .htaccess

    
        RewriteEngine On
        RewriteCond %{REQUEST_URI} !^public
        RewriteRule ^(.*)$ public/$1 [L]
    

   

Теперь при заходе на сайт мы увидим ошибку 500 Internal Server Error. Это происходит из-за того, что мы ранее удалили папку /public_html/. Нужно создать символическую ссылку на эту папку с папки /public/ в которой лежат публичные файлы Laravel командой:

    //вызывается из консоли (SSH)

    ln -s ~/moysite.ru/public ~/moysite.ru/public_html

   

После этого наш сайт заработает, и мы увидим первичную базовую статическую главную страницу Laravel. Выглядит она так:

 

Базовая первичная страница Laravel

 

Здесь можно увидеть версию установленного Laravel и версию PHP сайта. Теперь необходимо произвести базовые настройки конфигурации сайта.

Необходимо перейти в файл .env, который лежит в корне сайта и прописать там настройки сайта и базы данных.

 

Базовые настройки конфигурации Laravel в файле .env

 

Обратите внимание на строку "MAIL_FROM_ADDRESS" - здесь нужно прописать правильное значение адреса, иначе письма могут не отправляться с сервера или не приходить адресату. Подробнее об этом здесь.

Также необходимо провести настройки конфигурации сайта в папке /config/app.php

 

Настройки конфигурации файла app Laravel

 

Здесь, в частности, рекомендуется обратить внимание на параметр "timezone" и сразу установить требуемое значение, чтобы фреймворк корректно вычислял время на сайте. Так, к примеру, если сайт живет по московскому времени, то этот параметр должен выглядеть так.

    //содержимое файла app.php
    /*
    |--------------------------------------------------------------------------
    | Application Timezone
    |--------------------------------------------------------------------------
    |
    | Here you may specify the default timezone for your application, which
    | will be used by the PHP date and date-time functions. We have gone
    | ahead and set this to a sensible default for you out of the box.
    |
    */

    //'timezone' => 'UTC',
    'timezone' => 'Europe/Moscow',

   

На этом базовая первоначальная настройка Laravel завершена и фреймворк готов к дальнейшей разработке.

Кейсы