Você está na página 1de 9

EB Soluções em Informática LTDA. ME.

São Roque, 7 de Abril de 2011.

Apache + Virtual Host + DNS no Debian Lenny

karol_root
19/09/2009
Bem galera, nesse artigo pretendo explicar como instalar e configurar o DNS e o Apache fazendo
um virtual host no Debian Lenny. Existem muitos tutoriais que explicam cada um, então resolvi
juntar todos em um só e explicando o por quê de cada configuração.
Por: Karolina Fernandes
[ Hits: 5085 ]
Conceito: 9.9 + quero dar nota ao artigo
+ Favoritos Versão para impressora Indicar para um amigo Enviar artigo

Instalando os pacotes necessários


Para isso vá em um terminal como root e execute os seguintes comandos.

Para instalar o Apache2:

# aptitude install apache2

Para instalar o DNS:

# aptitude install bind9 bind9-doc dnsutils

Entendendo o que instalou:

• Apache2 - servirá para criarmos os virtuais hosts, mas o que é virtual host? Virtual host é a
capacidade hospedar mais de um web site na mesma máquina com um ou mais endereços
IP.
• bind9 (Berkeley Internet Name Domain) - é uma implementação dos protocolos DNS e
fornece uma implementação de referência distribuível abertamente aos principais
componentes do Domain Name System, incluindo:

Domain Name Server System;

Domain Name System resolver library; Ferramentas de gestão e de verificação do bom


funcionamento do servidor DNS.

A versão que utilizamos aqui é a 9 por ser a recomendada, já que a versão 4 está
"deprecated" e a versão 8 é apenas para manutenção. Para mais informações acesse:
http://www.bind9.net/

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br
EB Soluções em Informática LTDA. ME.
São Roque, 7 de Abril de 2011.
• bind9-doc - simplesmente a documentação do bind9;
• dnsutils - é um pacote que contém 3 softwares fundamentais para testes e correções, que são
o nslookup,dig e nsupdate.

Depois de uma breve explicação do que utilizaremos, vamos pôr a mão na massa!

Configurando o DNS
Nessa configuração do DNS vou fazer apenas a resolução de nomes em IP. Primeiro
vamos criar o arquivo de zona necessária, para isso execute o seguinte comando:

# cd /etc/bind/

Agora usando o editor de texto que lhe agrada, crie um arquivo. No exemplo vou usar
meudominio.db:

# vim meudominio.db

E o edite da seguinte forma:

$TTL 86400
@ IN SOA meudominio.com.br. root.meudominio.com.br. (
2009091301 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D) ; minimum
@ NS ns1.meudominio.com.br.
www IN A 127.0.1.1

Entendendo o arquivo:

SOA - este registro define o início de uma zona para a qual o seu servidor será autoridade. A "@" no
primeiro campo da primeira linha define o nome da zona. O quarto campo lista, o hostname do seu
servidor DNS, o quinto campo lista o e-mail da pessoa responsável pela administração deste
domínio (no formato: login.seu-dominio.com.br). O registro SOA lista 5 parâmetros entre
parênteses. São eles, em sua respectiva ordem:

Serial number - deve-se incrementar esse número sempre que atualizar o arquivo em questão, pois
os servidores secundários usam esse número para determinar se seu banco de dados está
desatualizado em relação ao servidor primário, indicando que ele deve atualizar seus bancos de
dados para esse domínio.

Refresh time - especifica a frequência que os servidores secundários irão consultar o servidor
primário para determinar se tabelas atualizadas estão disponíveis.

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br
EB Soluções em Informática LTDA. ME.
São Roque, 7 de Abril de 2011.

Retry - especifica o tempo que um servidor deverá aguardar antes que uma atualização falha sofra
nova tentativa.

Expiration time - especifica o tempo que pode decorrer até que o servidor secundário considere seus
dados desatualizados, sem fazer uma atualização.

Minimum - especifica o tempo padrão para o timer TTL nos registros de recursos exportados.

NS - lista um servidor de nomes para este domínio.

A- mapeamento de nomes para endereços.

PTR - mapeamento reverso ou de endereços para nomes.

CNAME - nomes canônicos (para aliases).

HINFO - informações sobre o servidor.

MX - nome do servidor de e-mail para o domínio.

Nesta linha do arquivo acima:

www IN A 127.0.1.1

coloquei esse IP por rodar na máquina local.

Feito isso vamos configurar a zona responsável por esse arquivo. Essa zona sera configurada dentro
de /etc/bind/named.conf.local.

Obs. 1: em algumas distribuições essa configuração é feita dentro de named.conf, também podendo
ser feita no Debian Lenny, mas por questões do novo padrão do Lenny o mesmo é configurado
dentro de "local", podem notar que dentro de named.conf é feito um "include" de named.conf.local.

Obs. 2: sempre que forem editar um arquivo no sistema, faça um backup antes, se caso der algo
errado é só voltar = ). Para isso entre dentro da pasta /etc/bind e execute o seguinte comando:

# cp named.conf.local named.conf.local.bkp

Bem, voltando!

Edite o arquivo:

# vim /etc/bind/named.conf.local

Adicione a seguinte zona!

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br
EB Soluções em Informática LTDA. ME.
São Roque, 7 de Abril de 2011.
zone "meudominio.db" {
type master;
file "/etc/bind/meudominio.db";
};

Salve e saia do arquivo com um :x.

Entendendo o arquivo:

type master - significa que é um DNS primário.

file - é o local onde configuramos o arquivo de zona.

Obs.: sigam a risca todos os ";" e as "," senão dará erro e o Bind ficará doido procurando onde está!
=P

Feito isso basta colocarmos o domínio dentro do resolv.conf. Execute o seguinte comando para:

# vim /etc/resolv.conf

Coloque o seguinte:

domain meudominio.db
search meudominio.db
nameserver 127.0.1.1

Salve e saia do arquivo.

Agora reinicie o serviço do bind9:

# /etc/init.d/bind9 restart

Pronto, nosso DNS está configurado, agora basta criar os virtuais hosts no Apache. Então vamos lá,
está quase acabando. = )

Configurando o Apache e conclusão


Configurando o Apache com os Virtuais
Hosts
No Debian Lenny foram mudados alguns lugares de configuração, o que na minha opinião ficou
bem melhor. ;)

Então vamos lá!

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br
EB Soluções em Informática LTDA. ME.
São Roque, 7 de Abril de 2011.
Dentro de /etc/apache2 encontra-se o arquivo apache2.conf, lá estão as configurações gerais e onde
cada configuração específica deve ser feita. Então não vamos contrariar o povo da comunidade né!

Para configurarmos os virtuais hosts editaremos o "000-default", para isso execute o seguinte
comando:

# vim /etc/apache2/sites-enabled/000-default

Acrescente no final do arquivo o seguinte:

<VirtualHost *:80>
ServerName www.meudominio.com.br
DocumentRoot /var/www/meusite
</VirtualHost>

Salve e saia do arquivo.

Entendendo o arquivo:

ServerName - é onde você coloca o nome do domínio que criamos.

DocumentRoot - é o diretório onde está o seu website.

Feito isso edite o arquivo hosts:

# vim /etc/hosts

E acrescente o seguinte

127.0.1.1 meudominio www.meudominio.com.br meudominio

Salve e saia do arquivo.

Obs.: para que funcione você tem que ter o diretório meusite dentro do seu "DocumentRoot", ou
seja, dentro do /var/www. Caso não tenha, crie da seguinte forma:

# mkdir /var/www/meusite

Feito isso vamos testar chamando uma página através do domínio. Crie um arquivo chamado
teste.php dentro do diretório que criamos acima, para isso faça a seguinte:

# vim /var/www/meusite/teste.html

<html>
<head>
<title> Testando o virtual host </title>
</head>
<body>

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br
EB Soluções em Informática LTDA. ME.
São Roque, 7 de Abril de 2011.
<h1> Teste! </h1>
</body>
</html>

Salve e saia do arquivo!

Agora é só adicionar o nome do domínio no apache2.conf:

# vim /etc/apache2/apache2.conf

Adicione no final do arquivo:

ServerName www.meudominio.com.br

Feito isso reinicie o Apache. Como disse, algumas coisas do Apache mudaram no Lenny, incluindo
a forma de iniciá-lo. Uma das formas é:

# apache2ctl restart

Agora é só ir no seu navegador e digitar o seu domínio, se aparecer a palavra teste está
funcionando! =)

Algumas configurações básicas de segurança


no Apache
Note que ao digitar o domínio no browser, ao invés de aparecer a palavra teste direto, apareceu toda
a sua estrutura de diretório e isso definitivamente não é legal, então para consertar isso edite o
seguinte arquivo:

# vim /etc/apache2/sites-enabled/000-default

Procure pelo seguinte trecho:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

E edite para ficar desta maneira:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br
EB Soluções em Informática LTDA. ME.
São Roque, 7 de Abril de 2011.
allow from all
DirectoryIndex meusite/teste.html
</Directory>

Bom, o acréscimo da linha "DirectoryIndex meusite/teste.html" no arquivo fará que seja


redirecionado para a página principal do seu site sem listar sua estrutura. Acrescente essa linha
também no Virtual Host que configuramos.

Se você for curioso e digitar no seu browser "http://localhost/meusite", notará que irá listar a
estrutura de diretórios, então para que isso não aconteça basta colocar um "-" (sem as aspas, claro)
na frente de Indexes, ficando assim:

<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
DirectoryIndex meusite/teste.php
</Directory>

Isso acontece porque com um simples "-" você proíbe o acesso a esta pasta via browser.

Bom, é isso galera, espero que tenham gostado, qualquer crítica, sugestão, xingamento é só
comentar. Como é o meu primeiro post não sei se fui clara ou se enrolei demais, aguardo as
opiniões e se tiver algo errado ou não funcionar com alguém é só postar a dúvida que tento ajudar!

Comentários
[1] Comentário enviado por rafaelstanley em 19/09/2009 - 10:51h:

Otimo artigo, parabéns.

[2] Comentário enviado por stack_of em 19/09/2009 - 11:06h:

Gostei do artigo, com explicações detalhadas das opções de configuração.


Parabéns.

[3] Comentário enviado por diegomr86 em 19/09/2009 - 11:20h:

Wowwww!!!! Parabéns karol!!! Muito bom seu artigo!!!

[4] Comentário enviado por wryel em 19/09/2009 - 16:34h:

Interessante, vou testar em casa ainda ;)

sabe dizer se eu precisar fazer subdominios, terei que mecher no /etc/apache2/apache2.conf ?

[5] Comentário enviado por magnolinux em 19/09/2009 - 17:09h:

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br
EB Soluções em Informática LTDA. ME.
São Roque, 7 de Abril de 2011.
Muito bom carol meus parabens..

[6] Comentário enviado por luizvieira em 19/09/2009 - 19:36h:

Bom artigo!
Já fiz muito isso, mas o seu artigo está bem conciso e explicado. Parabéns!
[ ]'s

[7] Comentário enviado por fainfo em 19/09/2009 - 19:49h:

Bem detalhada a sua explicação!!!

muito bom Parabéns!!!

[8] Comentário enviado por Senhor Unix em 19/09/2009 - 20:33h:

Muito bom,Karol,brilha muito no Linux,hehehe,continue assim.

[9] Comentário enviado por karol_root em 20/09/2009 - 11:27h:

Olá Galera, Agradeço aos elogios, muito obrigada mesmo, isso me insentiva a escrever mais artigos
e ajudar mais pessoas \o !

wryel -> respondendo a sua pergunta, não tinha feito subdominios, então fui pesquisar e descobri o
seguinte, vc precisa mexer nos seguintes arquivos, no /etc/apache2/site-enabled/000-default, ou seja
onde vc faz os virtuais host e acresentar o SeverAlias, e no /etc/host e setar o subdominio que vc
criou. acesse esse link http://forum.wmonline.com.br/lofiversion/index.php/t136086.html, e feito
para windows mais e quase a mesma coisa so muda o caminho =)

Espero ter ajudado!

Abraço a todos e obrigada novamente!

[10] Comentário enviado por l-x em 20/09/2009 - 12:26h:

Mandou bem!!!! exelente artigo, garanto q vai ajudar muitos aki, assim como me ajudou.
Parabens!!!!!

[11] Comentário enviado por cooperrj em 20/09/2009 - 22:32h:

Nossa, eu não tinha notado nenhum Artigo vindo do sexo femenino antes (Se tiver são poucos).
Mas enfim, parabéns pelo artigo, esta bem formado e explicado.

[12] Comentário enviado por robsonsbrasil em 21/09/2009 - 07:16h:

O artigo ficou bem legal, só faltou falar sobre o reverso do domínio criado, ou seja, seria as

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br
EB Soluções em Informática LTDA. ME.
São Roque, 7 de Abril de 2011.
consultas inversas de resolução de nomes. No mais parabéns.

[13] Comentário enviado por guest19 em 21/09/2009 - 08:13h:

muito legal vlw , primeira menina que vejo que se interessa realmente por LINUX muito legal sua
iniciativa õ// , espero que continue assim
e viva ao linux.

[14] Comentário enviado por ilsahec em 21/09/2009 - 10:16h:

Muito bom

[15] Comentário enviado por fernandofranco em 22/09/2009 - 19:40h:

Muito legal continue assim gostei muito!!!!!!

Parabéns

[16] Comentário enviado por trinca_joao em 23/09/2009 - 15:48h:

Excelente!

Av Tiradentes, 404 – Centro – SP CEP 18135-470


CNPJ: 04.276.803/0001-24 IE: 653.103.867.007
11 4784-1234 eb.solucoes@uol.com.br