Поиск…


замечания

Чтобы получить дополнительную информацию о развертывании проекта 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, в то же время код приложения безопасен и недоступен для всех без надлежащих прав доступа к файлам.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow