Como habilitar todo o site confs com a2ensite (ao passar por cima de 000-default.conf && default-ssl.conf)?

8

Eu uso o servidor Ubuntu 16.04.2 com o Apache2, no qual eu armazeno meus sites pessoais.

Para ativar todos os meus arquivos conf em /etc/apache2/sites-available (além de 000-default.conf e ssl-default.conf ), fui para /var/www/html e executei a2ensite .

Foi então dito:

Your choices are: 
000-default default-ssl domain.tld1 domain.tld2 domain.tld3 domain.tld4 
Which site(s) do you want to enable (wildcards ok)?

Eu então fiz Ctrl + C com o objetivo de executar outra coisa.

Eu estou procurando uma maneira de ativar automaticamente todos os confs do site, sem anotar um específico --- eu só quero executar um comando que permitirá todos os confs de site que eu mesmo adicionei.

    
por JohnDoea 18.05.2017 / 10:54

6 respostas

14

Pode também usar o find no seu diretório de configuração.

find /etc/apache2/sites-available/ -type f -and -not -name "*default*" -exec a2ensite {} \;

Isto encontra todos os seus arquivos de configuração que não estão tendo "default" em seus nomes e os ativa.

    
por Ziazis 22.05.2017 / 12:06
6

Você precisa navegar para /etc/apache2/sites-available e, em seguida, executar o comando:

sudo a2ensite *

Ele ativará todos os sites no diretório. (os arquivos devem ser algo como xxx.conf)

Em seguida, recarregue o apache usando sudo service apache2 reload .

Portanto, sua sequência de comandos deve ser assim:

cd /etc/apache2/sites-available
sudo a2ensite *
sudo service apache2 reload
    
por Shakti Phartiyal 18.05.2017 / 10:57
1

copie e cole as seguintes linhas no nome do arquivo apache_enable.sh

cd /etc/apache2/sites-available/
a2ensite *
service apache2 reload

e dê o comando read + execute para apache_enable.sh e execute o script usando o usuário root

    
por krishna chalise 23.05.2017 / 12:56
1

Não importa qual é a nossa localização atual, o comando sudo a2ensite "*.conf" tentará ativar todos os arquivos de configuração colocados em /etc/apache2/sites-available/ .

Em seguida, podemos usar a2dissite 000-default.conf default-ssl.conf para desativar as configurações padrão do Apache e, em seguida, podemos usar systemctl restart apache2.service para reiniciá-lo.

Podemos executar tudo isso como um único comando:

sudo bash -c "a2ensite '*.conf' && a2dissite 000-default.conf default-ssl.conf && systemctl restart apache2.service"

Algo mais, podemos criar um comando personalizado por meio de uma função no bash:

function a2ensites {
        sudo bash -c "a2ensite '*.conf' && a2dissite 000-default default-ssl && systemctl restart apache2.service"
}
export -f a2ensites

Agora temos o comando a2ensites , projetado para fazer este trabalho. Para tornar esse comando permanente, devemos colocar as linhas acima na parte inferior do arquivo ~/.bashrc e, em seguida, source it. O próximo script simples realizará essa tarefa:

 printf "\nfunction a2ensites { \n\tsudo bash -c \"a2ensite '*.conf' && a2dissite 000-default.conf default-ssl.conf && systemctl restart apache2.service\" \n}\nexport -f a2ensites\n" | tee -a $HOME/.bashrc; source $HOME/.bashrc
    
por pa4080 24.05.2017 / 22:58
0

A execução de a2ensite /var/www/html/*/ fará com que o Apache ative cada site que tenha o mesmo nome , como o diretório do site.

Como efeito colateral, ele também tentará corresponder aos diretórios do site que não correspondem a arquivos conf do site, conforme previsto na saída a seguir, mas acho que isso pode ser ignorado com segurança:

ERROR: Site /var/www/html/domain.tld1 does not exist!
ERROR: Site /var/www/html/domain.tld2 does not exist!
ERROR: Site /var/www/html/nice_directory does not exist!
ERROR: Site /var/www/html/nice_file does not exist!

Você provavelmente precisará reiniciar o Apache depois de ativar os arquivos conf:

systemctl restart apache2.service
    
por JohnDoea 18.05.2017 / 10:54
0

Mova as configurações padrão para outra pasta e então o * deve funcionar para você como você quer.

Vá para a pasta "sites disponíveis", pois só funciona nesta pasta.

  

cd / etc / apache2 / sites-disponíveis /

     

sudo a2ensite *

    
por Carobell 26.05.2017 / 17:23