Разверните 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:

  • Я вижу приветственную страницу laravel по адресу http://www.myclientweb.com/public .
  • Я ничего не вижу на http://www.myclientweb.com/
  • А также я МОГУ СМОТРЕТЬ .env CONTENT AT http://www.myclientweb.com/.env ???????

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

У меня долгий поиск в Интернете и Stackoverflow без везения.

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

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

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

  1. Я создаю новую папку с именем "protected"
  2. Переместить все, кроме «общедоступной» папки в папку «protected»
  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';

ОБНОВИТЬ
Это рискованный процесс. Используя это, вы даете вредоносным пользователям разрешения на обнаружение ошибок. например, http: //project-url/storage/logs/laravel.log по-прежнему открыт.

Предыдущий ответ:
Те, кто почти не замечают комментарии, @ Andrew F. уже дали ответ.
но он пропустил некоторые другие файлы, такие как композитор и пакет.
Отформатированный ответ:

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

Если вы пытаетесь запустить 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