Разверните Laravel 5, используя только FTP на общем хостинге

Мне нужно развернуть проект laravel 5 на хосте клиента.

План моего клиента — базовый хостинг: Linux + MySql без cpanel или аналогичный (т.е. без админ-панели).

У меня есть доступ только через FTP и только к папке с именем www.mycustomerweb.com. Это означает, что я не могу создать каталог на том же уровне папки www.mycustomerweb.com. Только внутри (думаю, это называется виртуальный хостинг).

Год назад я развернул проект, созданный с помощью Laravel 4, следующим образом:

  1. избавился от общедоступной папки, перенеся ее содержимое в корневую папку и обновив index.php и bootstrap.php
  2. закончил весь проект в localhost (с Xampp)
  3. загрузил все файлы на www.myclientweb.com через ftp.

Мои вопросы:

  1. Я все сделал правильно с проектом Laravel 4? Могу ли я столкнуться с проблемами безопасности (я имею в виду, безопасен ли сайт)?

  2. Как развернуть проект Laravel 5 на том же сайте? В Laravel 5 я не могу избавиться от публичной папки, как я это делал с Laravel 4.

Прямо сейчас я установил новую версию Laravel 5 на localhost, а затем загрузил все файлы в папку www.myclientweb.com через ftp:

Конечно, это не правильный путь …

У меня был долгий поиск по сети и Stackoverflow без удачи.

Очень признателен за любую помощь.

Спасибо за прочтение.

18

Решение

Нет разницы между L4 и L5, поэтому сделайте то же самое, что вы сделали для L4.

1

Другие решения

  1. Я создаю новую папку с именем «защищенный»
  2. Переместить все, кроме «публичной» папки в «защищенную» папку
  3. Переместить все внутри «публичной» папки в корень
  4. Отредактируйте файл index.php в корневой папке (из общей папки),

редактировать require __DIR__.'/../bootstrap/autoload.php';
в require __DIR__.'/protected/bootstrap/autoload.php';

также редактировать $app = require_once __DIR__.'/../bootstrap/app.php';
в $app = require_once __DIR__.'/protected/bootstrap/app.php';

10

ОБНОВИТЬ

Это рискованный процесс. Используя это, вы даете злоумышленникам права на поиск ошибок. лайк, Http: //project-url/storage/logs/laravel.log все еще открыт

Предыдущий ответ:

Те, кто с трудом проверяет комментарии,
@ Андрей Ф. уже дал ответ.

но он пропустил некоторые другие файлы, такие как композитор и пакет.

Отформатированный ответ:

  1. переместить каждый файл публично в родительскую папку.
  2. обновить пути в index.php.
  3. добавьте следующую строку в .htaccess:
    RewriteRule ^ (server \ .php | gulpfile \ .js | \ .env | composer. * | Package. *) - [F, L, NC]
8

Если вы пытаетесь запустить Laravel 5.1 в общедоступном хостинг-пространстве или вы пытаетесь поместить ваш laravel 5 / 5.1 в подкаталог вашего общего хостинга, чтобы вы могли получить к нему доступ следующим образом:

http://mywebsite.com/mylaravel/

Так что этот ответ для вас, прежде всего, убедитесь, что вы встречаете

Требования Laravel 5.1:

- PHP 5.5
- PHP extension Mcrypt
- PHP extension Mbstring
- PHP extension OpenSSL

Вот два урока для вас:

Ссылка 1

Ссылка 2

2
По вопросам рекламы [email protected]