Virtual Hosts
João Medeiros ([email protected])
1 / 12
Servidores Virtuais
Servidores Virtuais
Tipos de servidores
virtuais
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
<VirtualHost>
Configurando um
servidor virtual baseado
em IPs
Configurando um
servidor virtual baseado
em IPs
Uma pessoa pode ser conhecida por muitos nomes
Um servidor WEB também
No Apache, cada identidade é identificada pela diretiva
Dependendo do nome usado para acessar o servidor WEB, o apache
vai responder de forma apropiada
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
2 / 12
Tipos de servidores virtuais
Servidores Virtuais
Tipos de servidores
virtuais
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em IPs
Configurando um
servidor virtual baseado
em IPs
Baseado em IPs
Associado com um endereço de IP (tal como um número de
telefone)
Baseado em nomes
Vários nomes estão associados a um mesmo IP. Necessário um
servidor de nomes para realizar a tarefa de associar nomes
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
3 / 12
Configurando um servidor virtual baseado em nomes
Servidores Virtuais
Tipos de servidores
virtuais
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
Situação: Você tem apenas um endereço de IP, mas deseja hospedar
mais de um Web site no seu servidor
Substitua web1 por um nome a sua escolha
Configurando um
servidor virtual baseado
em IPs
ServerName 127.0.0.1
NameVirtualHost *:80
<VirtualHost *:80>
ServerName web1.lab4.fatern
DocumentRoot "/home/sites/web1"
</VirtualHost>
Configurando um
servidor virtual baseado
em IPs
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
Crie o arquivo /etc/apache2/sites-available/web1 com o conteúdo
Execute os comandos no servidor
# a2ensite web1
# /etc/init.d/apache2 reload
4 / 12
Configurando um servidor virtual baseado em nomes
Servidores Virtuais
Tipos de servidores
virtuais
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em IPs
Crie o diretório /home/sites/web1 e acrescente algum conteúdo lá
# mkdir -p /home/sites/web1
Solicite ao administrador do servidor DNS (no caso o professor) para
criar a entrada respectiva
Teste se o site está funcionando acessando o endereço
web1.lab4.fatern
Configurando um
servidor virtual baseado
em IPs
Observações
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
O *:80 acima indica que os hosts especificados irão ser executados
em todos os endereços. Isso permite que se acesse o site principal
via localhost
Requisições que não são direcionadas a nenhum dos servidores
virtuais em particular irão para o primeiro host listado nos arquivos de
configuração
5 / 12
Configurando um servidor virtual baseado em IPs
Servidores Virtuais
Tipos de servidores
virtuais
Crie hosts virtuais com as seguintes entradas, substitua os IPs pelos
apropriados
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em IPs
Configurando um
servidor virtual baseado
em IPs
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
ServerName 127.0.0.1
<VirtualHost 192.168.0.230>
ServerName web1.lab4.fatern
DocumentRoot "/home/sites/web1"
</VirtualHost>
ServerName 127.0.0.1
<VirtualHost 192.168.0.231>
ServerName web2.lab4.fatern
DocumentRoot "/home/sites/web2"
</VirtualHost>
6 / 12
Configurando um servidor virtual baseado em IPs
Servidores Virtuais
Tipos de servidores
virtuais
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
Adicione um IP adicional na máquina com os comandos
# ifconfig eth0:1 192.168.0.179
# route add -host 192.168.0.179 eth0:1
Se quiser deixar essa modificação permanente, coloque os comandos
no final do script /etc/rc.local
Configurando um
servidor virtual baseado
em IPs
Configurando um
servidor virtual baseado
em IPs
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
7 / 12
Separando os arquivos de log para cada servidor virtual
Servidores Virtuais
Tipos de servidores
virtuais
Acrescente as diretivas ErrorLog e CustomLog para cada servidor
virtual
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em IPs
Configurando um
servidor virtual baseado
em IPs
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
ServerName 127.0.0.1
NameVirtualHost *:80
<VirtualHost *:80>
ServerName web1.lab4.fatern
DocumentRoot "/home/sites/web1"
ErrorLog "/home/sites/logs/web1/error_log"
CustomLog "/home/sites/logs/web1/access_log combined"
</VirtualHost>
Observe que é interessante gravar os logs fora do diretório de acesso das
páginas, isso evita que visitantes do site possam ter acesso aos logs
8 / 12
Servidores virtuais baseados em portas
Servidores Virtuais
Tipos de servidores
virtuais
Configurando um
servidor virtual baseado
em nomes
Em algumas situações, quando não temos IPs dispoı́veis nem como
adicionar novas entradas no servidor DNS podemos hospedar vários sites
num mesmo servidor usando portas diferentes.
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em IPs
Configurando um
servidor virtual baseado
em IPs
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
Listen 8080
<VirtualHost 192.168.0.230:8080>
DocumentRoot "/home/sites/web1"
/VirtualHost>
Listen 9090
<VirtualHost 192.168.0.230:9090>
DocumentRoot "/home/sites/web2"
/VirtualHost>
9 / 12
Exibindo o mesmo conteúdo em vários endereços
Servidores Virtuais
Tipos de servidores
virtuais
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em IPs
Configurando um
servidor virtual baseado
em IPs
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Uilizado normalmente quando temos um mesmo servidor WEB numa
empresa com duas redes: uma interna para a intranet e outra externa
para a internet
NameVirtualHost 192.168.0.200:80
NameVirtualHost 172.20.30.40:80
<VirtualHost 192.168.0.200:80 172.20.30.40:80>
DocumentRoot /var/sites/server
ServerName fatern.edu.br
ServerAlias fatern
</VirtualHost>
Referências
10 / 12
Exercı́cios
Servidores Virtuais
Tipos de servidores
virtuais
Configurando um
servidor virtual baseado
em nomes
Configurando um
servidor virtual baseado
em nomes
1 Imagine que você recebeu a incumbência de preparar a estrutura para
dois sites de duas empresas que serão hospedados num mesmo
servidor.
1.1
Configurando um
servidor virtual baseado
em IPs
Configurando um
servidor virtual baseado
em IPs
Separando os arquivos
de log para cada
servidor virtual
Servidores virtuais
baseados em portas
Exibindo o mesmo
conteúdo em vários
endereços
Referências
1.2
1.3
Configure o Apache criando dois servidores virtuais, um para
cada empresa, definindo o diretório onde as páginas serão
colocadas.
Configure também os diretórios onde os arquivos de logs serão
gravados.
Prepare um procedimento com todos os passos necessários
para a preparação do ambiente. Inclua todos os comandos
efetuados e as requisições que você deve fazer ao administrador
do DNS.
2 Prepare o mesmo ambiente acima mas agora configure o apache
servir as páginas das duas empresas em portas diferentes.
Elabore também um relatório das atividades realizadas.
3 Junto com os relatórios, envie também os arquivos que você
criou/editou.
11 / 12
Referências
[1] http://httpd.apache.org/docs/2.2/vhosts/name-based.html
12 / 12
Download

Virtual Hosts