title: Version control of a web server config files
body: <p>Between me and a Network Architect we manage a bunch of Web Servers (FreeBSD). He's responsible for all server/network related stuff (IPs, Firewalls, users/groups, etc.) and I'm responsible for all web-related stuff (Apache, PHP, MySQL). Sometimes the responsibilities overlap.</p>
  
  <p>It happend few times that some changes were made to the config files which more or less affected the server and we were not able to figure out which of us made the changes and why.</p>
  
  <p>I - being a Web Developer - think it'd be a good practice to put the files under version control (we currently use Subversion), so that whenever we change anything we have to commit an comment the changes. It'll solve all the problems with wondering who did what and why.</p>
  
  <p>The particular config files I was thinking of were:</p>
  
  <ul>
  <li>firewall config</li>
  <li>apache config (with extras)</li>
  <li>php config (php.ini)</li>
  <li>MySQL config (my.conf)</li>
  </ul>
  
  <p>I already know, that the idea version control of server config files is sound based on <a href="https://stackoverflow.com/questions/4243174/should-server-database-config-files-including-passwords-be-stored-in-source-con">other question asked here</a>. My only worry is how to do it properly on the Web Server side since the files are in different locations. Putting the whole <code>/usr/local/etc</code> under version control seems pointless as it contains not just the config files.</p>
  
  <p>I was wondering whether not to create a new folder, say <code>/config</code> which would be under version control and would contain all the config files we need and then replace the original ones with symlinks to ones in the <code>/config</code> folder. E.g.:</p>
  
  <pre><code>/usr/local/etc/apache22/httpd.conf -&gt; /config/apache22/httpd.conf
  </code></pre>
  
  <p>So the question is: <strong>Is this a good idea and if not, what is a better solution?</strong></p>