Между мной и сетевым архитектором мы управляем множеством веб-серверов (FreeBSD).Он отвечает за все, что связано с сервером / сетью (IP-адреса, межсетевые экраны, пользователи / группы и т. Д.), А я отвечаю за все, что связано с сетью (Apache, PHP, MySQL).Иногда обязанности перекрываются.
Несколько раз случалось, что в конфигурационные файлы были внесены некоторые изменения, которые более или менее повлияли на сервер, и мы не смогли выяснить, кто из нас внес изменения и почему.
Я - веб-разработчик - думаю, что было бы неплохо поставить файлы под контроль версий (в настоящее время мы используем Subversion), чтобы при каждом изменении чего-либо нам приходилось комментировать изменения.Это решит все проблемы с вопросом, кто что сделал и почему.
Конкретные файлы конфигурации, о которых я думал, были:
- конфигурация брандмауэра
- конфигурация apache(с дополнениями)
- php config (php.ini)
- MySQL config (my.conf)
Я уже знаю, что идея контроля версий сервераКонфигурационные файлы - звуковые, основанные на другой вопрос, заданный здесь .Меня беспокоит только то, как это сделать правильно на стороне веб-сервера, поскольку файлы находятся в разных местах.Помещение всего /usr/local/etc
под контроль версий кажется бессмысленным, поскольку оно содержит не только файлы конфигурации.
Мне было интересно, не создавать ли новую папку, скажем, /config
, которая будет находиться под контролем версий и будет содержатьвсе необходимые нам файлы конфигурации, а затем замените исходные символическими ссылками на файлы в папке /config
.Например:
/usr/local/etc/apache22/httpd.conf -> /config/apache22/httpd.conf
Итак, вопрос: Это хорошая идея, а если нет, то какое решение лучше?