Arquivo da categoria: XAMPP

Criando múltiplos Virtual Hosts no XAMPP

Ao tentar criar múltiplos virtual hosts no XAMPP eu sempre tinha o mesmo problema: qualquer um dos domínios que eu utilizasse, o Apache redirecionava apenas para a mesma pasta.

O que acontece é que qualquer erro que seja encontrado em um arquivo, o Apache utiliza a pasta do primeiro Virtual Host como padrão. Então para que isso não ocorra, siga este passo-a-passo:

1 – Edite seu arquivos de hosts, para que ao acessar o domínio o navegador seja redirecionado para seu endereço IP. Este arquivo poderá ser encontrado no endereço “C:\Windows\System32\drivers\etc\hosts”. siga o exemplo abaixo:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

127.0.0.1	dominio1.com.br
127.0.0.1	www.dominio1.com.br
127.0.0.1	dominio2.com.br
127.0.0.1	www.dominio2.com.br

Agora, é necessário modificar o arquivo de configurações do XAMPP que estará na pasta C:\xampp\apache\conf\extra\httpd-vhosts.conf

Siga o exemplo abaixo:

# 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>

3 – Crie as pastas “C:\xampp\htdocs\dominio1.com.br” e “C:\xampp\htdocs\dominio2.com.br” – Dentro delas ficarão os arquivos de cada um de seus sites.

4 – Inicie o Apache.

Observação 01: Este arquivo foi escrito levando em consideração os diretórios padrão de instalação do Windows (c:\windows) e do XAMPP (C:\xampp). No Linux ubunto, o arquivo de configuração do apache 2 fica localizado no endereço “/etc/apache2/sites-available/000-default.conf”

Observação 02: Nunca se esqueça de adicionar os comandos NameVirtualHost e a sub-tag Directory, estes erros são um dos maiores motivos para criar o problema do único redirecionamento.

Observação 03: Verifique a direção das barras, isso pode causar o mesmo erro citado acima, siga o exemplo.

Observação 04: Se você utilizar um proxy para acessar a internet, não esqueça de adicionar os domínios que você incluiu no arquivo de hosts na lista de exceções (“Não usar servidor de proxy para endereços iniciados por”).

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).