Skip to content

Instantly share code, notes, and snippets.

@fabriziofeitosa
Last active May 1, 2020 17:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fabriziofeitosa/2cb0dfee7015008c8647da3ebb694a3d to your computer and use it in GitHub Desktop.
Save fabriziofeitosa/2cb0dfee7015008c8647da3ebb694a3d to your computer and use it in GitHub Desktop.
Crie um Virtual Host usando XAMP no Windows
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost 127.0.0.1:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ##ServerName or ##ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerName default
DocumentRoot "C:\xampp\htdocs"
ErrorLog "logs/default-error.log"
CustomLog "logs/default-access.log" common
<Directory "C:\xampp\htdocs">
DirectoryIndex index.php index.html index.htm
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName dominio1.com.br
ServerAlias www.dominio1.com.br
DocumentRoot "C:\xampp\htdocs\dominio1.com.br"
ErrorLog "logs/dominio1-error.log"
CustomLog "logs/dominio1-access.log" common
<Directory "C:\xampp\htdocs\dominio1.com.br">
DirectoryIndex index.php index.html index.htm
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName dominio2.com.br
ServerAlias www.dominio2.com.br
DocumentRoot "C:\xampp\htdocs\dominio2.com.br"
ErrorLog "logs/dominio2-error.log"
CustomLog "logs/dominio2-access.log" common
<Directory "C:\xampp\htdocs\dominio2.com.br">
DirectoryIndex index.php index.html index.htm
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
@fabriziofeitosa
Copy link
Author

INSTRUÇÕES PARAR USAR

Ao invés de utilizar:

http://localhost/nomesite

Você pode utilizar:

http://local.nomesite.com

Você pode criar qualquer nome, domínio ou subdomínio de acordo com seu gosto.

Basicamente, vamos configurar o Windows para quando acessar o domínio e apontar para nossa máquina (localhost) no Apache para uma pasta específica.

Acesse o arquivo:
C:\Windows\System32\drivers\etc\hosts

Você pode acessar com bloco de notas mesmo. Pode ser que você tenha que executar como Administrador. Para isso, vá na busca do Windows e digite: Bloco de notas.

Depois basta clicar com botão direito em cima do Bloco de Notas e escolher Executar como Administrador.

Depois basta ir em Arquivo > Abrir, ir no arquivo host depois clicar em abrir.
Lembrando que é esse local:
C:\Windows\System32\drivers\etc\hosts

Nesse arquivo, você encontrará o ip para sua máquina (127.0.0.1) com nome na frente “localhost”. Quando você digitar “localhost” no seu navegador, ele está apontando para sua máquina, então o Apache (Servidor Web) vai apontar para sua pasta.

Como estamos usando o XAMPP com a premissa de estar instalado no C://, ele irá apontar para: C:\xampp\htdocs.

Agora adicione o domínio que você deseja como está no localhost. No exemplo, vou criar chamado “local.projeto.com”, ficando assim:
127.0.0.1 local.projeto.com


Agora será necessário configurar o Apache. Também poderá ser feito com bloco de notas, ou qualquer editor de código.

Acesse o arquivo:
C:\xampp\apache\conf\extra\httpd-vhosts.conf

Nesse arquivo serão configurados os Virtual Hosts. Ele já vem com configurações de exemplo, porém comentado.

Vamos usá-lo como base:

##<VirtualHost *:80>
    ##ServerAdmin webmaster@dummy-host.example.com
    ##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com"
    ##ServerName dummy-host.example.com
    ##ServerAlias www.dummy-host.example.com
    ##ErrorLog "logs/dummy-host.example.com-error.log"
    ##CustomLog "logs/dummy-host.example.com-access.log" common
##</VirtualHost>
  • VirtualHost: Tag definindo as configurações do virtual host.
  • ServerAdmin: Endereço de contato.
  • DocumentRoot: Caminho completo até a pasta que será acessada.
  • ServerName: Nome do host que será acessado.
  • ServerAlias: Nomes alternativos para o host.
  • ErrorLog: Nome do arquivo que o servidor registrará os erros encontrados.
  • CustomLog: Nome do arquivo para as requisições.

Iremos adicionar a nossa configuração, apontando para onde será configurado o virtual host. No nosso projeto seria:
C:\xampp\htdocs\projeto

Vamos configurar o virtual host:

<VirtualHost *:80>
    ServerAdmin webmaster@local.projeto.com
    DocumentRoot "C:/xampp/htdocs/projeto"
    ServerName local.projeto.com
    ErrorLog "logs/local.projeto.com-error.log"
    CustomLog "logs/local.projeto.com--access.log" common
</VirtualHost>

O único que não utilizamos é o ServerAlias, pois não teremos nomes alternativos para o ambiente local.

Se você já estiver iniciado o XAMPP, basta parar (Stop) e iniciar (Start) o Apache, caso contrário, basta só iniciar (Start) o Apache.
Agora basta acessa via URL o endereço que foi configurado.
No caso, configuramos: local.projeto.com

Pronto, você já pode trabalhar o seu projeto com Virtual Host. E para cada novo projeto, você pode criar um Virtual Host para se organizar melhor.

Até a próxima!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment