2.8.4.2.2. Перенос Laravel на хостинг

Внимание!

Информация в этой статье носит исключительно ознакомительный характер. Перенос на хостинг проекта на Laravel достаточно сложен и имеет определённые нюансы, которые может предусмотреть только его разработчик.

Для переноса проекта на Laravel в первую очередь нужно загрузить файлы на сервер любым из способов:

  • При использования Git можно подключиться к хостингу по SSH и клонировать проект:
    git clone http://github.com/example/example_site/
  • Загрузить файлы проекта на сервер.

После загрузки файлов на сервер подключитесь по SSH и выполните следующие действия:

  1. Настройте подключение к базе данных.
  2. Перейдите в каталог с загруженным проектом:
    cd ~/example.com/www/
  3. Обновите зависимости и все пакеты:
    PATH=/usr/local/php70/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
    composer install
  4. Выполните команду:
    /usr/local/php70/bin/php artisan migrate
  5. Файлы проекта обычно находятся в каталоге public, поэтому измените корневой каталог сайта одним из способов:
    Измените корневой каталог сайта так, чтобы он указывал на каталог public.
    Добавьте или отредактируйте два файла .htaccess:
    1. В корневом каталоге сайта:
      <IfModule mod_rewrite.c>
      RewriteEngine on
      RewriteRule ^$ public/ [L]
      RewriteRule ((?s).*) public/$1 [L]
      </IfModule>
    2. В каталоге public:
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
      </IfModule>
  6. Если необходимо, создайте символическую ссылку, ведущую от public/storage к storage/app/public. Это можно сделать двумя способами:
    1. Перейдите в каталог /storage/app/ в вашем проекте и создайте символическую ссылку, ведущую на каталог public.
    2. Вставьте созданную символическую ссылку в каталог public/storage в корневом каталоге проекта.
    1. Подключитесь к хостингу по SSH.
    2. Создайте символическую ссылку:
      ln -s /home/example/example.com/www/public/storage /home/example/example.com/www/storage/app/public

      В команде вместо /example/example.com/www/ указывайте корневой каталог сайта, в котором размещен ваш проект.

  7. Проверьте работу сайта.

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

Содержание

    (2)

    Комментарии

    krikunenko.m.v
    UPD від 02.12.2024 | Laravel 11

    Додатково потрібно в налаштуваннях сайту змінити "Кореневий каталог" вказати "public" повна існтрукція
    https://www.ukraine.com.ua/uk/wiki/hosting/sites/my-sites/site-settings/root-dir/#change

    Для
    роботи з "storage" треба створити окремо символьне посилання

    Перейдіть у директорію /storage/app в файл-менеджері, натисніть правою кнопкою миші там на папку public і оберіть опцію "Створити сімлінк".
    Далі перейдіть в директорію /public і вставте там сімлінк правою кнопкою миші.

    Повна інструкція: https://www.ukraine.com.ua/wiki/hosting/files/file-manager/symlink/
    verliber
    Дякуємо за інформацію, додали її до інструкції.