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.