Minha recomendação seria criar um arquivo /etc/apache2/conf-available/network.conf
diferente para cada ambiente (e a2enconf
). Esses arquivos podem ter esta aparência:
/etc/apache2/conf-available/network.conf
no host env1
<VirtualHost 192.168.1.1:91>
ServerName localdevname
SetEnv environment env1
SetEnv dbserver 192.168.1.1
Include /etc/apache2/sites-available/wordpress-project.conf
</VirtualHost>
/etc/apache2/conf-available/network.conf
no host env2
<VirtualHost 127.0.0.1:91>
ServerName localdevname
SetEnv environment env2
SetEnv dbserver 127.0.0.1
Include /etc/apache2/sites-available/wordpress-project.conf
</VirtualHost>
/etc/apache2/conf-available/network.conf
no host de produção
<VirtualHost 11.22.33.44:80>
ServerName mydomain.com
SetEnv environment prod
SetEnv dbserver mysql-prod.mydomain.com
Include /etc/apache2/sites-available/wordpress-project.conf
</VirtualHost>
Seus arquivos de configuração wordpress-project.conf
e WordPress podem ser idênticos em todos os hosts. Eles podem usar variáveis de ambiente para variar seu comportamento.
Além disso, você pode encontrar mod_macro para ser útil.
Você precisará configurar o /etc/hosts
e / ou a configuração do DNS local para que localdevname
resolva da maneira desejada.