Логотип

Развёртывание сайта на Ларавель в интернете

Для чего статья?

Вот ты сделал на локалке сайт на Ларавеле и пришло время выложить его в интернеты, желательно малой кровью.

Но тут есть есть свои сложности. Код Ларавеля находится ниже публичной папки сайта. И тут встаёт первая проблема, ты же хотел просто на хостинг с виртуалкой выложить, а зачастую они не дают возможность править сайты ниже этой папки. Значит нам нужно какое-то другое решение.

Плюс тебе нужна работа с композером и миграциями, а для этого скорее всего придётся пинать хостера и учиться писать bash-скрипты.

После недолгих поисков вы наверняка натыкались на forge.laravel . На Ларакасте есть хорошие уроки по этой теме, но русскоязычного материала слишком мало. Я в своё время решил попробовать этот способ и в этой статье я расскажу про то как выложить сайт на Ларавеле через этот сервис.

Почему Фордж?

Какое-то время я изучал вопрос, спрашивал на форумах. Я хотел не самые тривиальные вещи, хотя ничего сверхъестественного: автодеплой, возможность работы с папкой ниже публичной, работу с композером и файлами окружения. То есть одним словом то, что предоставляет фордж. Плюс в этом сервисе много чего ещё удобного из коробки, например можно подключить бесплатный https за несколько кликов.

Но мне в нём не нравились цена (фордж 15$, digitalocean от 5$, совсем не 300 рублей за виртуалку). И то что он американский, это влечёт за собой проблемы. Во-первых, в языке и подходах, а также при оплате, например, DO не принимает дебетовые карты.

Другие разработчики, если что-то и предлагали, то это был набор где-то 5 или больше инструментов. Мне совсем не хотелось заниматься девопсом и я решил попробовать Фордж, тем более, что Джеффри Вей с Ларакастса просто души в нём не чает.

Подготовка

Ваш сайт должен быть целиком под контролем версий. Сейчас это негласное правило, но лучше лишний раз напомнить.

Также вам нужно заранее зарегистрироваться на https://forge.laravel.com и https://www.digitalocean.com и соответственно они должны быть активными, скорее всего на момент прочтения статьи там есть демо-периоды.

Шаг 1. Создаём сервер

Прямо из forge, я выбрал digitalocean. Кстати, на стороне последнего это называется droplet. На скрине настройки, которые я указывал.

Новый сервер на forge.laravel

Шаг 2. Создаём сайт

Также, никуда не выходя, не думаю, что к форме нужны пояснения.

Новый сайт на forge.laravel

После этого просто подтягиваем репозиторий.

Указание репозитория в forge.laravel

Сайт готов, вы можете увидеть его по IP указанном у вас на странице вверху (не у меня на скрине).

Поправить переменные окружения можно на вкладке Environment. Я не буду показывать свои настройки из-за того, что там почти всё приватное, плюс вы должны знать как там всё выглядит. Главное не забудьте указать APP_ENV=production.

Шаг 3. Домен

Домен я покупал в России у обычного регистратора. На Ларакастсе показано как привязывать домен, но это не подходит под нашу действительность, где ты прописываешь днс у регистратор, а потом выполняешь необходимые настройки у хостера.

Но на деле процесс не отличался. У регистратора пропишите ns-сервера, а по этой кнопке увидите знакомые поля для настройки домена.

Домен на digitalocean

Шаг 4. Почта

Большой проблемой было настроить отправку почты.

Я использовал postfix, вот здесь есть хорошая статья, которой я пользовался, в итоге мне хватило её.

Https

Подключить https здесь невероятно легко. Просто кликаем на эту кнопку (на скрине ниже) и всё. И это ещё и бесплатно.

LetsEncrypt на forge.laravel

Вместо заключения

Я писал статью по памяти, поэтому что-то мог забыть. Если что-то осталось непонятным или я где-то ошибся, напишите, пожалуйста, в комментариях и я дополню статью. Также, если вы знаете другой способ, то я с радостью рассмотрю его.

Написать комментарий

Внимание!

Этот сайт использует технологию "cookies" и интернет-сервисы для сбора технических данных!

Условия использования и другие юридические моменты можно найти в пользовательском соглашении и в политике конфиденциальности.

Цель - получение статистической информации и возможность работы множества сервисов на страницах сайта и самого сайта.

Если Вы не согласны на обработку данных на указанных выше условиях, покиньте сайт.