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á!
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>
<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
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!
Fontes