09
mar

Criando um servidor virtual (virtual host) com Apache 2 no Linux

Olá a todos!


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 exemplo@exemplo.com.br

	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!

Compartilhe
  • Print
  • PDF
  • email
  • RSS
  • Twitter
  • del.icio.us
  • Facebook
  • LinkedIn
  • MySpace
  • Digg
  • Reddit
  • StumbleUpon

7 comentários para “Criando um servidor virtual (virtual host) com Apache 2 no Linux”

  1. Danilo disse:

    você não pensa em escrever sobre história?

    Responder

  2. Pedro Teixeira disse:

    Olá Danilo,

    Obrigado pelo comentário!

    Por enquanto só se for história da informática, o que você acha?

    Abraços!

    Responder

  3. Maiden disse:

    kkkkkkkkkkkkkkkkkkkkkkkk

    Responder

  4. Anderson disse:

    Olá Pedro Teixeira eu queria saber se vc pode me ajudar a criar um virtual host no meu pc eu uso Windows xP. será que isso é possivel? se for possivel e se vc puder me ajudar eu vou ficar muito grato!!

    caso se interece em me ajudar me add. ai
    anderson_3002@hotmail.com

    vlw

    Responder

  5. Pedro Teixeira disse:

    Olá Anderson

    Infelizmente não sei te ajudar a criar um Virtual Host no Windows, na verdade nem sei se é possível.

    Se tiver novidades poste por aqui.

    Abraços!

    Responder

  6. Anderson disse:

    Olá eu de volta!!
    viu eu estava pesquisando sobre o assunto e achei. mas la esta mal esplicado nao estou entendendo direito! da uma olhada neste site aonde eu vi so o <virtual host> no apache.

    http://forum.wmonline.com.br/lofiversion/index.php/t54912.html

    de uma olhada ai neste link ai tem um cara que consiguiu criar um Virtual Host no Windows xP usando o Apache.
    tenta ver se vc consegue entender, é claro se quiser neh!

    Obrigado

    Responder

  7. Pedro Teixeira disse:

    Ola Anderson,

    Me desculpe, não entendo dessas configurações do Windows e também não tenho uma área pronta para testes aqui.

    Mas pelo que vi a solução dada no forum funcionou, você testou?

    Abraços!

    Responder

Deixe um comentário