heldercorreia.com

autodidata, programador e consultor

Alterar VirtualHosts no WHM

Eu tenho um servidor CentOS a correr com WHM e precisei alterar um VirtualHost no Apache para correr um site em Django. Há um aspeto neste processo com o WHM que não é nada óbvio.

Uma vez que o ficheiro de configuração é auto-gerado, há um conjunto de instruções Include que permitem colocar o nosso código em sítio seguro.

No CentOS o ficheiro principal está em /etc/httpd/conf/httpd.conf, onde temos algo do tipo:

# DO NOT EDIT. AUTOMATICALLY GENERATED.  IF YOU NEED TO MAKE A CHANGE PLEASE USE THE INCLUDE FILES.

<VirtualHost *:80>
    ServerName <dominio>

    ...

    # To customize this VirtualHost use an include file at the following location
    # Include "/usr/local/apache/conf/userdata/std/2/<user>/<dominio>/*.conf"
</VirtualHost>

Porém, se eu inserir um ficheiro .conf na pasta referenciada no Include, como é ele incluído se a linha está comentada? Se eu alterar o httpd.conf não irei perder as alterações?

A solução então é executar:

$ /scripts/ensure_vhost_includes --all-users
Built /usr/local/apache/conf/httpd.conf OK

Esse script vai detetar todos os VirtualHosts que tiverem ficheiros .conf e descomentar a linha do Include correspondente.

Já agora, vamos verificar se a configuração não tem problemas:

$ service httpd configtest
Syntax OK

E reiniciar:

$ /scripts/restartsrv_httpd

Teria sido útil se este comando estivesse documentado junto ao comentário que diz onde criar o ficheiro com as alterações. Assim fica este artigo para me lembrar disso.

Comentários