Dois Domínios de HTTPS
Instalando o Apache
Atualizando o sistema e instalando o apache:
sudo apt update sudo apt install apache2
Criando dois diretórios para cada site:
sudo mkdir -p /var/www/site1.com/public_html sudo mkdir -p /var/www/site2.com/public_html
Alterando os usuários de cada pasta:
sudo chown -R www-data:www-data /var/www/site1.com/public_html sudo chown -R www-data:www-data /var/www/site2.com/public_html
Alterando as permissões de cada pasta:
sudo chmod -R 777 /var/www/site1.com sudo chown -R 777 /var/www/site2.com
Criar um arquivo index.html para o domínio site1.com:
sudo nano /var/www/site1.com/public_html/index.html
Digite no arquivo:
<!DOCTYPE html> <html> <head> <title>Teste 1</title> </head> <body> <h1>Ola Mundo</h1> <p>Eu sou o site1.com</p> </body> </html>
Criar um arquivo index.html para o domínio site2.com:
sudo nano /var/www/site2.com/public_html/index.html
Digite no arquivo:
<!DOCTYPE html> <html> <head> <title>Teste 2</title> </head> <body> <h1>Ola Mundo</h1> <p>Eu sou o site2.com</p> </body> </html>
Criar o arquivo que habilita do domínio site1.com pela porta http (80):
sudo nano /etc/apache2/sites-available/site1.com.conf
Digite no arquivo:
<VirtualHost *:80> ServerAdmin webmaster@site1.com ServerName site1.com ServerAlias www.site1.com DocumentRoot /var/www/site1.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Criar o arquivo que habilita do domínio site2.com pela porta http (80):
sudo nano /etc/apache2/sites-available/site2.com.conf
Digite no arquivo:
<VirtualHost *:80> ServerAdmin webmaster@site2.com ServerName site2.com ServerAlias www.site2.com DocumentRoot /var/www/site2.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Habilite os dois sites e desabilite o 000-default.conf:
sudo a2ensite site1.com.conf sudo a2ensite site2.com.conf sudo a2dissite 000-default.conf
Instalando o bind9, para habilitar o domínio no servidor local
sudo apt install bind9
Colocar no arquivo de configuração named.conf.local a zona de acesso para o site1.com e site2.com:
sudo nano /etc/bind/named.conf.local
Digite:
zone "site1.com" { type master; file "/etc/bind/zones/site1.com.db"; }; zone "site2.com" { type master; file "/etc/bind/zones/site2.com.db"; };
Criar o diretório para armazenar o arquivo de zona de acesso:
sudo mkdir /etc/bind/zones
Criar o arquivo de zona de acesso para o site1.com:
sudo nano /etc/bind/zones/site1.com.db
Digite os seguinte texto, onde está escrito <IP-local>, digitar o endereço IP local da máquina:
$TTL 86400 @ IN SOA ns1.site1.com. admin.site1.com. ( 2023092501 3600 1800 604800 86400) @ IN NS ns1.site1.com. @ IN A <IP-local> www IN A <IP-local> ns1 IN A <IP-local>
Criar o arquivo de zona de acesso para o site2.com
sudo nano /etc/bind/zones/site2.com.db
Digite os seguinte texto, onde está escrito <IP-local>, digitar o endereço IP local da máquina:
$TTL 86400 @ IN SOA ns1.site2.com. admin.site2.com. ( 2023092501 3600 1800 604800 86400) @ IN NS ns1.site2.com. @ IN A <IP-local> www IN A <IP-local> ns1 IN A <IP-local>
Checar se está OK:
sudo named-checkconf sudo named-checkzone site1.com /etc/bind/zones/site1.com.db sudo named-checkzone site2.com /etc/bind/zones/site2.com.db
Alterar o arquivo de configuração, resolv.conf:
sudo nano /etc/resolv.conf
Mude o item nameserver apontando para o endereço IP local da máquina:
nameserver <IP-local>
Atualize o apache2 e o bind9:
sudo systemctl reload apache2 sudo systemctl restart bind9
Intalar o SSL autoassinado (HTTPS)
Para habilitar o SSL Autoassinado do site1, execute o seguinte comando:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/site1.com.key -out /etc/ssl/certs/site1.com.crt
Irá aparecer algumas opções para você digitar. Quando aparecer o item Common Name, digitra o domínio, como no exemplo abaixo:
Common Name: site1.com
Para habilitar o SSL Autoassinado do site2, execute o seguinte comando:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/site2.com.key -out /etc/ssl/certs/site2.com.crt
Irá aparecer algumas opções para você digitar. Quando aparecer o item Common Name, digitra o domínio, como no exemplo abaixo:
Common Name: site2.com
Faça uma cópia do site1.com.conf para site1.com-ssl.conf:
sudo cp /etc/apache2/sites-available/site1.com.conf /etc/apache2/sites-available/site1.com-ssl.conf
Faça uma cópia do site2.com.conf para site2.com-ssl.conf:
sudo cp /etc/apache2/sites-available/site2.com.conf /etc/apache2/sites-available/site2.com-ssl.conf
Editar o arquivo site1.com-ssl.conf:
sudo nano /etc/apache2/sites-available/site1.com-ssl.conf
Faça a seguinte modificação:
<VirtualHost *:443> ServerAdmin webmaster@site1.com ServerName site1.com ServerAlias www.site1.com DocumentRoot /var/www/site1.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/site1.com.crt SSLCertificateKeyFile /etc/ssl/private/site1.com.key </VirtualHost>
Editar o arquivo site2.com-ssl.conf:
sudo nano /etc/apache2/sites-available/site2.com-ssl.conf
Faça a seguinte modificação:
<VirtualHost *:443> ServerAdmin webmaster@site2.com ServerName site2.com ServerAlias www.site2.com DocumentRoot /var/www/site2.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/site2.com.crt SSLCertificateKeyFile /etc/ssl/private/site2.com.key </VirtualHost>
Habilite o SSL:
sudo a2enmod ssl
Habilite os sites em SSL:
sudo a2ensite site1.com-ssl.conf sudo a2ensite site2.com-ssl.conf
Atualize o apache2 e o bind9:
sudo systemctl reload apache2 sudo systemctl restart bind9
Teste em um navegador:
https://site1.com https://site2.com