gpt4 book ai didi

php - Web 服务器配置文件的版本控制

转载 作者:可可西里 更新时间:2023-10-31 22:58:27 26 4
gpt4 key购买 nike

在我和网络架构师之间,我们管理着一堆 Web 服务器 (FreeBSD)。他负责所有与服务器/网络相关的事情(IP、防火墙、用户/组等),而我负责所有与网络相关的事情(Apache、PHP、MySQL)。有时职责会重叠。

有几次对配置文件进行了一些更改,这些更改或多或少地影响了服务器,我们无法弄清楚是我们中的谁进行了更改以及为什么。

我——作为一名 Web 开发人员——认为将文件置于版本控制之下(我们目前使用 Subversion)是一种很好的做法,这样无论何时我们更改任何内容,我们都必须提交评论更改。它将解决所有想知道谁做了什么以及为什么做的问题。

我想到的特定配置文件是:

  • 防火墙配置
  • apache 配置(带附加功能)
  • php 配置文件 (php.ini)
  • MySQL 配置 (my.conf)

我已经知道,服务器配置文件的想法版本控制是基于 other question asked here 的。 .我唯一担心的是如何在 Web 服务器端正确地执行它,因为文件位于不同的位置。将整个 /usr/local/etc 置于版本控制之下似乎毫无意义,因为它不仅包含配置文件。

我想知道是否不创建一个新文件夹,比如 /config ,它将处于版本控制之下,并将包含我们需要的所有配置文件,然后用符号链接(symbolic link)替换原始文件/config 文件夹。例如:

/usr/local/etc/apache22/httpd.conf -> /config/apache22/httpd.conf

所以问题是:这是个好主意吗?如果不是,什么是更好的解决方案?

最佳答案

如果您使用 GIT,那么将整个 /usr/local/etc 置于版本控制之下一点意义都没有。

  • 如果您愿意,您只能跟踪少量文件
  • 跟踪所有配置文件的工作目录大小几乎没有变大

只需安装 git,然后进入 /usr/local/etc 并编写 git init。这将在您的当前位置创建 .git 文件夹(基本上使该文件夹成为存储库)。

然后添加要跟踪的配置文件: git add firewall/firewall_config.conf apache2/httpd.conf 等并提交:git commit -m "Initial Configuration"

现在正在跟踪您的配置文件。

关于php - Web 服务器配置文件的版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7158787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com