a2ensite através do shell script

3

Eu criei um pequeno script para adicionar sites no meu servidor e é assim:

#!/bin/bash

echo "<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName $1
    ServerAlias www.$1
    DocumentRoot /var/www/$1/public_html
    ErrorLog ${APACHE_LOG_DIR}/error-$1.log
    CustomLog ${APACHE_LOG_DIR}/access-$1.log combined
</VirtualHost>" > /etc/apache2/sites-available/$1.conf

mkdir /var/www/$1
mkdir /var/www/$1/public_html/

a2ensite /etc/apache2/sites-available/$1.conf

Isso está funcionando bem.

Eu posso executar esse script como ./newsite example.com e recebo meu arquivo example.com.conf em sites-available e tudo. Mas quando executo a2ensite , recebo o seguinte erro:

ERROR: Site /etc/apache2/sites-available/example.com does not exist!

É estranho, porque mesmo assim eu crio um arquivo chamado example.com.conf antes de continuar com esse erro.

Alguma ideia? Isso é um bug?

PS: Apenas os sudoers permitem executar este script.

    
por Miguel Garrido 02.08.2014 / 13:57

1 resposta

2

Você obtém esse erro porque, para a2ensite , você passa o caminho completo para a configuração do seu site. a2ensite espera que apenas um nome de site seja passado:

a2ensite example.com
    
por 02.08.2014 / 14:07