Наиболее простой и стандартный метод установки 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.*
По итогам работы команды увидим в консоли что-то типа этого.
Таким образом, если все пройдет без ошибок, то в папке нашего будущего сайта /moysite.ru/ появятся файлы фреймворка laravel.
Если мы сейчас перейдем на сайт moysite.ru то увидим ошибку 404 Not Found. Для исправления этого в папку нашего сайта нужно добавить файл .htaccess, в котором прописать:
//содержимое файла .htaccessRewriteEngine 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 и версию PHP сайта. Теперь необходимо произвести базовые настройки конфигурации сайта.
Необходимо перейти в файл .env, который лежит в корне сайта и прописать там настройки сайта и базы данных.
Обратите внимание на строку "MAIL_FROM_ADDRESS" - здесь нужно прописать правильное значение адреса, иначе письма могут не отправляться с сервера или не приходить адресату. Подробнее об этом здесь.
Также необходимо провести настройки конфигурации сайта в папке /config/app.php
Здесь, в частности, рекомендуется обратить внимание на параметр "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 завершена и фреймворк готов к дальнейшей разработке.