В этом посте я расскажу о своём опыте создания и работы с локальным сервером для DEV копий сайтов.
Содержание
- Что сподвигло на создание локального сервера
- Цели и задачи
- Выбор железа, операционной системы и софта
- Трудности с которыми пришлось разбираться
- Почему не облако или готовый хостинг?
- Выводы
Что сподвигло на создание локального сервера
Все очень просто, ошибки прошлых лет и желанию спокойно жить и не переживать, что на боевом сайте заказчика все будет скакать чехордой во время разработки заставляют задуматься о том, где же можно развернуть копию сайта для спокойной работы. И как оказалось вариантов у нас, обычных разработчиков, не так уж много. Да, если пользоваться линуксовой операционкой то можно поднять все необходимые службы локально и настроить прямо на своём компе сервер MySQL, PHP, NGINX и все остальные примочки, но я понял, что мне для других потребностей нужна винда и придётся придумать что-то подходящее, чтобы обеспечить полноценный хостинг для своих сайтов.
Цели и задачи локального хостинга
Цель – быстро и без особых заморочек разворачивать локальные копии сайтов заказчиков для полноценной работы с кодом.
Задачи:
- Создать сайт на поддомене своего домена.
- Полноценная рабочая среда с возможностью тонкой настройки хоста и установкой необходимых дополнительных модулей.
- FTP, SSH доступы.
- Внешний доступ с HTTP авторизацией, чтобы DEV сайт не мешал SEO продвижению основного сайта.
- Выпуск 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 каждого сайта на битриксе добавить пару строк, но это вполне приемлемые заморочки. В остальном все больше чем устраивает.
Трудности и дополнительные задачи, с которыми пришлось столкнуться
- Пришлось углубляться в изучение Linux систем и научиться уверенно владеть CLI.
- Бесплатные решения часто не имеют ответов на простые проблемные моменты, приходится разбираться шаг за шагом углубляться в проблему.
- Нужно правильно настроить проброс портов на роутере, чтобы сайты стали доступны из внешнего интернета, а не только из локальной сети.
- Нужен статичный IP адрес
Почему не облако или готовый хостинг?
Вопрос сам собой напрашивается глядя на те тернии, через которые пришлось пройти, чтобы все красиво работало.
Ответ прост – стоимость.
Конечно, когда есть лишние деньги, то можно позволить себе арендовать VPS или любой готовый хостинг, но как известно деньги лишними не бывают, а ресурсов порой нужно прилично и все это выливается в приличные регулярные затраты затраты. Как пример, ели арендовать хостинг за 5000 руб в месяц, то за год мы получаем 60000 руб. За эти деньги можно купить на Авито более или менее адекватный комп и провести себе в гараж выделенную линию интернета. Короче говоря, все нужно считать и принимать решение исходя из собственных задач и потребностей.
Выводы
Сервер работает! И этим все сказано, ведь поставленные задачи он выполняет на 100%. Да, для полноценного хостинга такой сервер не тянет, мощи процессора Intel Atom не хватает для Битрикса, сервер заметно притормаживает на сложных запросах, но для разработки ресурсов вполне хватает.
Затраты:
- Неттоп – 3000 руб
- SSD диск – нашёл в забежал
- Статичный IP – 150 руб/мес.
- 4 дня танцев с бубном и изучения сотни статей в поисках решения проблем и альтернативных решений.
- 2 дня финишной настройки с переносом копий сайтов.
И это все! По сути это меньше одного месяца аренды VPS сервера с похожими ресурсами.