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

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

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

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

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

  1. избавился от общей папки, перемещая ее содержимое в корневую папку и обновляя индекс.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, но не смог.

действительно apprecite любую помощь.

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

4 ответов


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


  1. Я создаю новую папку с именем "protected"
  2. переместить все, кроме папки "public" в папку "protected"
  3. переместить все внутри" общедоступной " папки в root
  4. индекс редактирование.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. уже дал ответ.
но он пропустил некоторые другие файлы, такие как composer и package.
Отформатированный ответ:

  1. переместить каждый файл в общую родительскую папку.
  2. обновить пути в индекс.РНР.
  3. добавьте следующую строку .реврайт:
    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