O Apache é um servidor web (HTTP Server) open source (software livre) muito poderoso, flexível e extremamente popular, sendo responsável por representar mais da metade de todos os websites ativos na Internet.
Neste artigo vamos demonstrar, de maneira simples e prática, como criar virtual hosts no Apache, ou seja, uma configuração para armazenar mais de um site e/ou sistema em um mesmo servidor web.
Ambiente
Nosso ambiente é composto por:
– Domínio: localnet.com.br
– DNS Server: Windows Server 2016
– Web Server: Linux Ubuntu 16.04 – Apache WebServer 2.4
– Sites: sistema.localnet.com.br e intranet.localnet.com.br
Configuração dos subdomínios de DNS
No DNS server da rede (Windows Server), crie uma entrada do tipo A / AAAA para cada um dos dois sites (sub-domínios), como ilustrado abaixo:
Configuração dos Virtual Hosts
No servidor Linux (IP 192.168.0.100), faça:
1 – Crie os diretórios que armazenarão o conteúdo de cada site, usando:
$ sudo mkdir /var/html/www/sistema/ /var/html/www/intranet/
2 – No diretório /etc/apache2/sites-available/, crie um arquivo com o nome de cada site criado (name + FQDN):
$ sudo touch /etc/apache2/sites-available/sistema.localnet.com.br.conf
$ sudo touch /etc/apache2/sites-available/intranet.localnet.com.br.conf
3 – Edite os arquivos e insira o conteúdo abaixo em cada um:
Intranet:
$ sudo nano /etc/apache2/sites-available/intranet.localnet.com.br.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/intranet/"
ServerName intranet.localnet.com.br
ServerAdmin contato@localnet.com.br
ServerAlias intranet.localnet.com.br
<Directory "/var/www/html/intranet/">
allow from all
Options None
Require all granted
</Directory>
</VirtualHost>
Sistema:
$ sudo nano /etc/apache2/sites-available/sistema.localnet.com.br.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/sistema/"
ServerName sistema.localnet.com.br
ServerAdmin contato@localnet.com.br
ServerAlias sistema.localnet.com.br
<Directory "/var/www/html/sistema/">
allow from all
Options None
Require all granted
</Directory>
</VirtualHost>
4 – Ative os virtual hosts (subdomínios) com os comandos abaixo:
$ sudo a2ensite intranet.localnet.com.br.conf
$ sudo a2ensite sistema.localnet.com.br.conf
5 – Recarregue as configurações do Apache com o comando:
$ sudo service apache2 reload
Feito isso, basta enviar o conteúdo dos sites (arquivos html, php ou outros) para seus respectivos diretórios e então acessá-los através dos endereços http://sistema.localnet.com.br ou http://intranet.localnet.com.br de qualquer computador desta rede.
*Com informações de: Digital Ocean – Como configurar Apache Virtual Hosts