Objetivo dos diretórios debian “sites-available” e “sites-enabled”


60

Alguém pode me dizer - em poucas palavras - qual é o propósito desses dois diretórios no Debian?

/etc/apache2/sites-enabled
/etc/apache2/sites-available

Percebo essa diferença sites-available/000-defaulte sites-enabled/defaultmostra que são idênticas.

O que da?

Respostas:


63

sites-available contém os arquivos de configuração do apache para cada um dos seus sites. Por exemplo:

<VirtualHost *:80>
  ServerName site.mysite.com
  ServerAdmin my@email.com

  DirectoryIndex index.php
  DocumentRoot /home/user/public_html/site.mysite.com/public

  LogLevel warn
  ErrorLog /home/user/public_html/site.mysite.com/logs/error.log
  CustomLog /home/user/public_html/site.mysite.com/logs/access.log combined
</VirtualHost>

Quando você deseja adicionar um novo site (por exemplo, site.mysite.com), adicione-o aqui e use:

a2ensite site.mysite.com

Para habilitar o site. Depois que o site é ativado, um link simbólico para o arquivo de configuração é colocado no diretório ativado por sites, indicando que o site está ativado.


12
Se você quiser desativar um site, você iria correr a2dissite site.mysite.com

2
a2ensitee a2dissiteestão localizados nos /usr/sbinquais não estão incluídos no caminho do usuário padrão para que a conclusão da guia não funcione. Ao digitar sudo a2e pressionar a tecla tab, você receberá ambos a2ensitee a2dissite.
Stefan Schmidt

22

Mais importante que a mecânica do sistema é a lógica ...

O Debian fornece os dois diretórios separados para que, se você estiver gerenciando automaticamente suas configurações do Apache, você possa apenas ter todos os vhosts instalados em sites-availabletodas as suas máquinas, e então vhosts individuais possam ser ativados no servidor que realmente os servirá. Isso também significa que você pode desativar instantaneamente um site se estiver causando problemas ( a2dissite example.com; /etc/init.d/apache2 reload).


11
Esta é a verdadeira resposta para a pergunta original.
silpol

5

Para adicionar aos itens acima, o arquivo sites-enabledé um link simbólico para o sites-availablearquivo:

ls -l /etc/apache2/sites-enabled/

Não é apenas o mesmo conteúdo, é o mesmo arquivo real!


5

Informação importante:

Você deve editar os arquivos apenas no sites-availablediretório

Nunca edite arquivos dentro do sites-enableddiretório, caso contrário, poderá haver problemas se o seu editor ficar sem memória ou, por qualquer motivo, receber um SIGHUP ou SIGTERM.

Por exemplo: se você estiver usando nanopara editar o arquivo sites-enabled/defaulte ficar sem memória ou, por qualquer motivo, receber um SIGHUP ou SIGTERM, nanocriará um arquivo de emergência chamado default.save, dentro do sites-enableddiretório. Portanto, haverá um arquivo extra dentro do sites-enableddiretório. Isso impedirá que o Apache ou o NGINX inicie. Se o seu site estava funcionando, não será mais. Você terá dificuldade até descobrir, nos registros, algo relacionado ao default.savearquivo e, em seguida, removê-lo.

No exemplo acima, se você estivesse editando o arquivo dentro do sites-availablediretório, nada de ruim teria acontecido. O arquivo sites-available/default.saveteria sido criado, mas não causaria nenhum dano dentro do sites-availablediretório.


Muito interessante! Mais alguém pode confirmar isso?
precisa saber é

Aqui está um exemplo de alguém que teve esse problema: stackoverflow.com/questions/36808705/…
Vini

Algo semelhante aconteceu no seguinte link. Veja o comentário de Melvyn na resposta, sobre a edição de arquivos em sites habilitados. stackoverflow.com/questions/26210115/…
Vini
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.