Найти в Дзене

Локальный web сервер для разработки у себя дома

Оглавление

В этом посте я расскажу о своём опыте создания и работы с локальным сервером для DEV копий сайтов.

Содержание

  • Что сподвигло на создание локального сервера
  • Цели и задачи
  • Выбор железа, операционной системы и софта
  • Трудности с которыми пришлось разбираться
  • Почему не облако или готовый хостинг?
  • Выводы

Что сподвигло на создание локального сервера

Все очень просто, ошибки прошлых лет и желанию спокойно жить и не переживать, что на боевом сайте заказчика все будет скакать чехордой во время разработки заставляют задуматься о том, где же можно развернуть копию сайта для спокойной работы. И как оказалось вариантов у нас, обычных разработчиков, не так уж много. Да, если пользоваться линуксовой операционкой то можно поднять все необходимые службы локально и настроить прямо на своём компе сервер MySQL, PHP, NGINX и все остальные примочки, но я понял, что мне для других потребностей нужна винда и придётся придумать что-то подходящее, чтобы обеспечить полноценный хостинг для своих сайтов.

Цели и задачи локального хостинга

Цель – быстро и без особых заморочек разворачивать локальные копии сайтов заказчиков для полноценной работы с кодом.

Задачи:

  1. Создать сайт на поддомене своего домена.
  2. Полноценная рабочая среда с возможностью тонкой настройки хоста и установкой необходимых дополнительных модулей.
  3. FTP, SSH доступы.
  4. Внешний доступ с HTTP авторизацией, чтобы DEV сайт не мешал SEO продвижению основного сайта.
  5. Выпуск SSL сертификатов Let’s Encript для поддоменов.

Выбор железа, операционной системы и софта

Попытки поднять сервер на локально на компе с ОС Windows

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

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

IIS тоже попробовал, но в виду сложности настройки на не серверной версии винды отказался от этой затеи.

Стало ясно, что нужно что-то на основе Linux системы.

Виртуальная машина

Следующим шагом попытался поднять виртуальный сервер с Linux системой. Сказано – сделано. Виртуальный на VMware Player отлично проработала больше года и на ура справлялась со всеми поставленными задачами. Однако в какой-то момент мне захотелось сделать автономную машинку с автозапуском после потери питания.

Выбор железа для локального хостинга

Хотелось чтобы сервер был бюджетным, компактным и максимально тихим, поэтому выбор пал на неттопы в качестве сервера. Немного пришлось поковыряться в документации, чтобы найти вариант с возможностью в настройках биоса выставить функцию автозапуска по восстановлению питания. В Итог оптимальный вариант у меня получился ASrock ion. Процессор Intel Atom D525, 4GB оперативной и SSD диском.

На этой железке вполне себе нормально завёлся Ubuntu Server. Хотя, если буду переустанавливать операционку поставлю Debian.

Панель управления хостингом

Как только начал работать с линуксовым сервером сразу стало понятно, что настраивать все через конфиги просто лень и хочется заиметь панель управления с визуальный интерфейсом управления сервером. В поисках бесплатной панели управления хостингом накопил несколько вариантов и поначалу выбор пал на ПУ BrainyCP. С этой панелью проработал больше года на виртуалке и проблем не испытывал ни разу. Богатый функционал из коробки и очень гибкие настройки для каждого сайта. Вообще панель управления очень зашла, и при переходе на физический хостинг вопроса о выборе другой ПУ не стояло. Однако, на физическом сервере начались странные глюки, сайты на битриксе через один не зародилась и то и дело вываливается в ошибки. Одн сайт так и не получилось поднять совсем. Причём, на виртуальном хостинге тоже начали вылезать такие же ошибки после обновления движка битрикса до последней версии. Такие танцы с бубном мне совсем не нужны, поэтому отправился вновь на поиски стабильно решения.

Изучив что на текущий момент в тренде, решил попробовать ПУ хостингом Fastpanel. Как оказалось это вполне адекватный вариант доя поставленных целей и задач. Настроек в разы меньше чем в BrainyCP, но все что нужно для повседневных рутинных задач есть и работает стабильно. Битриксовые сайты завелись, но тоже после небольших танцев с бубном. Как оказалось нужно в конфигах NGINX каждого сайта на битриксе добавить пару строк, но это вполне приемлемые заморочки. В остальном все больше чем устраивает.

Трудности и дополнительные задачи, с которыми пришлось столкнуться

  1. Пришлось углубляться в изучение Linux систем и научиться уверенно владеть CLI.
  2. Бесплатные решения часто не имеют ответов на простые проблемные моменты, приходится разбираться шаг за шагом углубляться в проблему.
  3. Нужно правильно настроить проброс портов на роутере, чтобы сайты стали доступны из внешнего интернета, а не только из локальной сети.
  4. Нужен статичный IP адрес

Почему не облако или готовый хостинг?

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

Ответ прост – стоимость.

Конечно, когда есть лишние деньги, то можно позволить себе арендовать VPS или любой готовый хостинг, но как известно деньги лишними не бывают, а ресурсов порой нужно прилично и все это выливается в приличные регулярные затраты затраты. Как пример, ели арендовать хостинг за 5000 руб в месяц, то за год мы получаем 60000 руб. За эти деньги можно купить на Авито более или менее адекватный комп и провести себе в гараж выделенную линию интернета. Короче говоря, все нужно считать и принимать решение исходя из собственных задач и потребностей.

Выводы

Сервер работает! И этим все сказано, ведь поставленные задачи он выполняет на 100%. Да, для полноценного хостинга такой сервер не тянет, мощи процессора Intel Atom не хватает для Битрикса, сервер заметно притормаживает на сложных запросах, но для разработки ресурсов вполне хватает.

Затраты:

  • Неттоп – 3000 руб
  • SSD диск – нашёл в забежал
  • Статичный IP – 150 руб/мес.
  • 4 дня танцев с бубном и изучения сотни статей в поисках решения проблем и альтернативных решений.
  • 2 дня финишной настройки с переносом копий сайтов.

И это все! По сути это меньше одного месяца аренды VPS сервера с похожими ресурсами.