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!

comments powered by Disqus