Debian systems (and perhaps others) have the following layout in /etc/apache2/
mods-available/ mods-enables/ sites-available/ sites-enabled/
The default setup has a tonne of files in both mods-available and sites-available, and then there are symlinks to those files in *-enabled/.
I've never bothered with the symlinks. I've always just moved the files.
I argue that this allows you to easily see which mods/sites have been enabled, and which have not. The symlinks only let you see which have been enabled (easily, anyway, without resorting to diff). However, my colleague believes differently.
So, what is The Right Way and why?
Best Answer
The "Right Way" is to use a2enmod & a2dismod to enable and disable modules, a2ensite & a2dissite to enable and disable sites.
The a2*mod commands present you with a list of [disabled|enabled] modules that are installed on your system which you can then [enable|disable]. Same with the a2*site commands, however they work with the list of site configuration files (both those avaliable by default and those you have created) in the sites-avaliable directory.
You can also manually symlink from *-avaliable to *-enabled, but those commands are provided and are pretty much doing that anyway.
Example output of a2enmod: