Поиск…
замечания
Чтобы получить дополнительную информацию о развертывании проекта Laravel на общем хостинге, посетите этот репозиторий Github.
Приложение Laravel 5 для совместного хостинга на Linux Server
По По умолчанию проекта Laravel в public
каталог раскрывает содержание приложения , которые могут быть запрошены из любого места кто - либо, остальная часть коды приложения является невидимым или недоступным для тех , кто без соответствующих разрешений.
После разработки приложения на вашей машине разработки его нужно отправить на производственный сервер, чтобы он мог получить доступ через Интернет из любого места - правильно?
Для большинства приложений / веб-сайтов первым выбором является использование совместного пакета хостинга от хостинг-провайдеров, таких как GoDaddy, HostGator и т. Д. В основном из-за низкой стоимости.
Обратите внимание : вы можете попросить своего провайдера вручную изменить document_root , так что вам нужно только загрузить ваше приложение Laravel на сервер (через FTP), запросить изменение root в {app} / public, и вы должны быть хорошими.
Такие пакеты общедоступного хостинга, однако, имеют ограничения с точки зрения доступа к терминалу и разрешений файлов. По умолчанию необходимо загрузить их приложение / код в папку public_html
на своей учетной записи общего хостинга.
Поэтому, если вы хотите загрузить проект Laravel на общедоступную учетную запись хостинга, как вы это сделаете? Если вы загрузите все приложение (папку) в папку public_html
на своей учетной записи общего хостинга? - Конечно, НЕТ
Потому что все в папке public_html
доступно «публично, то есть кем угодно», что было бы большой угрозой безопасности.
Шаги по отправке проекта на общедоступную учетную запись - путь Laravel
Шаг 1
Создайте папку laravel (или что угодно) на том же уровне, что и папка public_html
.
Eg:
/
|--var
|---www
|----laravel //create this folder in your shared hosting account
|----public_html
|----log
Шаг 2
Скопируйте все, кроме public
папки с вашего Laravel проекта (на машине развития) в laravel
папке (на сервере хоста - общий хостинг аккаунт).
Ты можешь использовать:
- C-панель: это будет самый медленный вариант
- FTP-клиент: например, FileZilla для подключения к вашей учетной записи с общим хостингом и передачи файлов и папок через FTP-загрузку
- Map Network Drive: вы также можете создать подключенный сетевой диск на своей машине разработки, чтобы подключиться к корневой папке вашей учетной записи общего доступа, используя « ftp: // your-domain-name » в качестве сетевого адреса.
Шаг 3
Откройте public
папку вашего проекта Laravel (на машине разработки), скопировать все и вставить в public_html
папку (на сервере хоста - общий хостинг аккаунт).
Шаг 4
Теперь откройте файл index.php
в папке public_html
на учетной записи общего хостинга (в редакторе cpanel или любом другом подключенном редакторе) и:
Изменить:
require __DIR__.'/../bootstrap/autoload.php';
Для того, чтобы:
require __DIR__.'/../laravel/bootstrap/autoload.php';
И Изменить:
$app = require_once __DIR__.'/../bootstrap/app.php';
Для того, чтобы:
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
Сохрани и закрой.
Шаг 5
Теперь перейдите в папку laravel
(на сервере общедоступного хостинга - сервер) и откройте файл server.php
+ Изменить
require_once __DIR__.'/public/index.php';
Для того, чтобы:
require_once __DIR__.'../public_html/index.php';
Сохрани и закрой.
Шаг 6
Задайте разрешения для laravel/storage
(рекурсивно) и всех файлов, подпапок и файлов внутри них на учетной записи общедоступного хостинга - от сервера до 777
.
Примечание. Будьте осторожны с правами доступа к файлам в Linux, они похожи на двуствольный меч, если они не используются правильно, они могут сделать ваше приложение уязвимым для атак. Для понимания прав доступа к файлам Linux вы можете прочитать https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions
Шаг 7
Поскольку файл .env
локального / сервера разработки игнорируется git, его следует игнорировать, поскольку он имеет все переменные среды, включая APP_KEY, и его нельзя публиковать, перетаскивая его в репозитории ». Вы также можете увидеть, что файл .gitignore
имеет .env
поэтому он не будет загружать его в репозитории.
После выполнения всех вышеописанных действий сделать .env
файл в папке Laravel и добавить все переменные окружения , которые вы использовали от локального / сервер разработки в .env
файл в .env
файл производственного сервера.
Даже есть файлы конфигурации, такие как app.php
, database.php
в папке config приложения laravel, которая определяет эти переменные по умолчанию во втором параметре env()
но не жестко кодирует значения в этих файлах, так как это повлияет на файлы конфигурации пользователей, которые вытаскивают ваш репозиторий. Поэтому рекомендуется создать файл .env
вручную!
Также laravel дает .env-example
который вы можете использовать в качестве ссылки.
Вот и все.
Теперь, когда вы посещаете URL-адрес, который вы настроили как домен с вашим сервером, ваше приложение laravel должно работать так же, как оно работало на вашей машине для создания localhost, в то же время код приложения безопасен и недоступен для всех без надлежащих прав доступа к файлам.