Uma grande parte do que uma distribuição como o Ubuntu faz é integrar um grande número de softwares diferentes de uma infinidade de origens diferentes e combiná-los em um sistema coerente. Para fazer isso, em muitos casos, o software original precisa ser adaptado ou estendido.
Esse é o caso do Apache. A estrutura inteira *-available
e *-enabled
não é o projeto Apache fazendo, por assim dizer, mas parte de como o Debian integrou o Apache HTTPd em sua distribuição. Portanto, você o encontrará no Debian e em distribuições baseadas no Debian, como o Ubuntu, mas não no Apache "original" que você mesmo compilou.
Mas não é tão difícil construir essas estruturas sozinho. Você basicamente precisa criar as pastas sozinho, e ter o Apache lendo as configurações lá com a diretiva IncludeOptional
em apache.conf
. Isso é basicamente o que a versão Debian de apache.conf
faz:
...
# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
...
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/
...
Os comandos como a2ensite
, a2enmod
e assim por diante também fazem parte da integração do Debian. Na verdade, a maioria deles são links simbólicos em a2enmod
, que é um script em Perl. Todos eles basicamente adicionam ( a2en*
) ou removem ( a2dis*
) os links simbólicos do respectivo diretório *-available
para o diretório *-enabled
. Por exemplo, a2ensite mysite.conf
cria um symlink em site-enabled/mysite.conf
que se refere a site-available/mysite.conf
. E o diretório sites-enabled
pode ser integrado em apache.conf
, conforme mostrado acima.
Você pode criar os links simbólicos com ln -s
ou escrever um pequeno roteiro no idioma de sua preferência para fazer isso.