Развертывание Laravel 5 с использованием только FTP на общем хостинге
Мне нужно развернуть проект laravel 5 на клиентском хосте.
план моего клиента-базовый хостинг: Linux + MySql без cpanel или аналогичного (т. е. без админ-панели).
У меня есть доступ только через ftp и только к папке с именем www.mycustomerweb.com - ... Это означает, что я не могу создать каталог на том же уровне www.mycustomerweb.com папка. Только внутри него (я думаю, это называется shared hosting).
год назад, я развернул проект, сделанный с Laravel 4 таким образом:
- избавился от общей папки, перемещая ее содержимое в корневую папку и обновляя индекс.php и bootstrap.в PHP
- закончил весь проект в localhost (с Xampp)
- загружены все файлы в www.myclientweb.com через ftp.
мои вопросы:
Я сделал все в порядке с проектом laravel 4? Возможно, я попал в проблемы безопасности (я имею в виду, это сайт безопасно)?
Как развернуть проект laravel 5 на том же сайте? В Laravel 5 я не могу избавиться от общей папки, как это было с Laravel 4.
прямо сейчас я установил новую установку Laravel 5 на localhost, а затем загрузил все файлы в www.myclientweb.com папка через ftp:
- Я вижу хорошо встречную страницу laravel в http://www.myclientweb.com/public.
- Я не вижу что-нибудь в http://www.myclientweb.com/
- а также я могу видеть .содержание env наhttp://www.myclientweb.com/.env ???????
конечно, это не правильный путь...
У меня был долгий поиск в интернете и StackOverflow, но не смог.
действительно apprecite любую помощь.
Спасибо за чтение.
4 ответов
- Я создаю новую папку с именем "protected"
- переместить все, кроме папки "public" в папку "protected"
- переместить все внутри" общедоступной " папки в root
- индекс редактирование.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.
Отформатированный ответ:
- переместить каждый файл в общую родительскую папку.
- обновить пути в индекс.РНР.
- добавьте следующую строку .реврайт:
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
вот два учебника для вас: