Существует менеджер конфигурации для одного сервера?

Добрый день.

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

Знаю, что существуют puppet, saltstack, chef, ansible, но они все выглядят большими монстрами и не подходят для конфигурации "обслужить одну виртуалочку" (как минимум тем, что работают по принципу "клиент-сервер"). Хотелось бы простое решение, чтобы можно было на новый сервер установить одно приложение, загрузить в него конфиги (из гита), и приложение само выполнило бы настройку сервера.
Интересует автоматическая настройка nginx, apache, php, mysql, cron.

Спасибо.
  • Вопрос задан
  • 930 просмотров
Решения вопроса 1
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Все же рекомендую ansible.
Во первых, он не работает как клиент-сервер, а работает полностью по ssh и на стороне сервера ничего устанавливать не нужно.
Во вторых достаточно прост в изучении.
В третьих, поставить ansible - дело 5 минут
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Sanes
@Sanes
Ansible простой, как 3 копейки. Для тиражного развертывания самое то.
Ответ написан
Комментировать
@rustler2000
погромист сикраш
etckeeper же :D
Ответ написан
Комментировать
@rionnagel
ковырятель
Puppet манифесты можно запускать без сервера, это может быть вариантом.
chef тоже можно запускать локально, это может быть вариантом.
ansible плэйбуки можно запускать с локалхоста по ссш до сервера, это может быть вариантом.
Докер может быть ещё одним вариантом.
bash скрипты могут быть вариантом.
Сохраненные конфиги в гите со структурой каталогов и маленьким скриптиком могут быть вариантом.
gitlab-ci может быть вариантом.
С остальными не работал - не могу сказать.

Выбирайте что сердцу мило)

Я бы именно для вашего варианта рекомендовал бы больше всего ansible+gitlab-ci. В пайплайнах ci описать варианты что ставить, редактируем hosts, делаем пуш и в пайплайнах просто нажимаем кнопку что надо с этим сделать. И получаем полный вывод результата в читабельном виде, в реальном времени (если надо можно цепочку тестов делать например). Гитлаб воркер ставится на машину с ансиблом. Да и сразу версионирование получите и историю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы