Pesquisei por tona a net e não encontrei um howto, em português, para fazer o apache escutar duas portas diferentes, assim sendo, tive que colocar a mão na massa e comecei por ler os “man pages“.
Caso você esteja passando pelo mesmo sufoco que passei siga atentamente os passos abaixo:
O método que usei foi muito simples, copiei os arquivos de configuração do apache para um outro diretório para assim não prejudicar a configuração atual.
$ sudo cp /etc/apache2/ /var/apache2-segunda-instancia -a
em seguida acessei esta com o super usuário
$ sudo su
# cd /var/apache2-segunda-instancia
e lá dentro do diretório abri o arquivo apahe2.conf para dar início à configuração.
# gedit apache2.conf
Neste arquivo eu alterei todas as referências à logs e a socks, pois, se a nova instância do apache usar os mesmos arquivo algum erro ocorrerá.
Encontre os nomes das vaiáveis e substitua como é mostrado a seguir:
Em ErrorLog ${APACHE_LOG_DIR}/error.log você deve alterar para ErrorLog ${APACHE_LOG_DIR}/error.log2 faça o mesmo para o sock.
É necessário também colocar o caminho completo nos includes
# Include module configuration:
Include /var/apache2-segunda-instancia/mods-enabled/*.load
Include /var/apache2-segunda-instancia/mods-enabled/*.conf
# Include all the user configurations:
Include /var/apache2-segunda-instancia/httpd.conf
No arquivo que se refere as portas (ports.conf) que o apache deve escutar você deve especificar a porta que deseja, exemplo:
# Include ports listing
NameVirtualHost *:8081
Listen 8081
você deve alterar as portas no arquivo dos hots virtuais também, exemplo:
ServerAdmin suporte@genovaengine.com
DocumentRoot /var/www/manutencao
Feito isto, o arquivo de configuração já está funcionando, agora basta colocar ele para rodar toda vez que o seu Linux inicia, para isto, abra o arquivo de configurações /etc/rc.local e adicione
apache2ctl -f /var/apache2-segunda-instancia/apache2.conf
antes da linha exit 0.
Reinicie sua máquina e você terá uma nova instancia do apache rodando na porta que você escolheu.
#1 por Matheus em 5 de junho de 2014 - 1:59 pm
É possível fazer isso no Windows?
#2 por robersonfox em 5 de junho de 2014 - 2:10 pm
É possível sim, porém, este artigo foi escrito a muito tempo, hoje em dia você pode usar hosts virtuais, pesquise na internet aí.