Criando um servidor virtual (virtual host) com Apache 2 no Linux
Para esse post vou usar o Ubuntu e Apache 2 como base.
Vamos criar um servidor virtual para que você não precise acessar “http://localhost” quando estiver desenvolvendo, o que organizará seu desenvolvimento em URL’s.
Como nosso primeiro passo, devemos acessar seu root configurado no Apache, no meu caso, /home/pedro/www
.
Com o root aberto você deve criar uma pasta, que será o root do site que será desenvolvido, vou usar como exemplo, o nome “exemplo”, ou seja, a pasta que será criada ficará como /home/pedro/www/exemplo
.
Com a pasta criada, você deve configurar o site, use os comandos abaixo no seu terminal.
cd /etc/apache2/sites-available
sudo nano exemplo
Assim que abrir o nano, digite o seguinte conteúdo, mas mudando para os nomes do seu site.
NameVirtualHost *
<VirtualHost *>
ServerAdmin [email protected]
DocumentRoot /home/pedro/www/exemplo
ServerName www.exemplo.com.br
ServerAlias exemplo.com.br *.exemplo.com.br
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Pressione “ctrl+x” e confirme que quer salvar pressionando “y”.
Agora passamos seu novo site para o Apache como um site ativo, para isso entre na pasta sites-enabled.
cd /etc/apache2/sites-enabled
Crie um link do arquivo que acabamos de criar.
sudo ln -s /etc/apache2/sites-available/exemplo exemplo
Pronto, seu site está ativo no Apache, porém ainda não pode ser acessado pela url sem o “localhost”.
Agora no terminal digite.
cd /etc
sudo nano hosts
No começo do arquivo, adicione a linha:
127.0.1.1 exemplo.com.br
Pressione “ctrl+x” e confirme que quer salvar pressionando “y”.
Agora basta reiniciar o Apache com o seguinte comando.
sudo /etc/init.d/apache2 reload
Perfeito! Agora sua área de desenvolvimento pode ser acessada abrindo o browser e digitando a URL “http://exemplo.com.br”.
Daqui para a frente, quando você acessar “http://www.exemplo.com.br” você estará acessando seu servidor na internet, e quando acessar “http://exemplo.com.br” estará acessando seu servidor local, na pasta do site que está desenvolvendo.
Utilizo essa técnica para me organizar e facilitar o desenvolvimento, pois não preciso utilizar uma pasta a mais na URL, como, nesse caso, seria “http://localhost/exemplo”.
Espero que gostem da dica.
Abraços!