Parametric Apache Virtualhost

1

Eu tenho um Virtualhost feito dessa maneira:

<VirtualHost *:80>
        Servername www.website.com
        DocumentRoot /path/to/application-1.2.1/client/app/
        ErrorLog /var/log/apache2/logs/application.log
</VirtualHost>

Onde application é o nome do aplicativo que muda sempre que implantamos uma nova versão, por exemplo, o próximo DocumentRoot seria:

DocumentRoot /path/to/application-1.2.2/client/app/

É possível criar um host virtual com um caractere curinga ou algo parecido:

DocumentRoot /path/to/application-*/client/app/

Para que eu não precise alterar o host virtual sempre que implantar uma nova versão do aplicativo?

    
por Atropo 10.04.2015 / 15:29

1 resposta

5

Não, você não pode ter um curinga lá.

Em vez disso, use links simbólicos:

ln -s /path/to/application-1.2.2/client/app /path/to/application/client/app

e ter a configuração lida

<VirtualHost *:80>
        Servername www.website.com
        DocumentRoot /path/to/application/client/app/
        ErrorLog /var/log/apache2/logs/application.log
</VirtualHost>

Isso tem o bônus adicional de que você pode manter a versão antiga para uma rápida reversão quando necessário.

Dependendo da configuração principal, talvez seja necessário adicionar

    <Directory /path/to/>
        Options +FollowSymlinks
    </Directory>

para sua configuração também.

    
por 10.04.2015 / 15:50