Este tutorial descreve como configurar sites seguros do SSL no setor da web Apache.
Nota: Este tutorial foi escrito e testado para o Debian 9, 10 e 11 e Ubuntu 20.04.
Requisitos.
Para acompanhar este guia, você precisará ter o seguinte:
Instalando o Apache
Se você não tem o Apache instalado, precisamos instalá -lo. Digite os comandos:
Atualização do sudo apt
sudo apt install apache2 openssl
Depois de instalar o servidor Apache, inicie o serviço e verifique se tudo está funcionando corretamente.
Módulos MOD_SSL e Mod_rewrite.
O próximo passo é ativar os módulos MOD_SSL e MOD_REWRITE. Para fazer isso, usamos o script A2enmod, que nos permite ativar e desativar módulos na configuração do Apache.
Use os comandos como mostrado abaixo:
sudo a2enmod ssl
Sudo A2enmod reescrita
Habilitar .Substituição de htaccess
A próxima etapa é editar a configuração do Apache e adicionar uma entrada para permitir que as configurações padrão do Apache substituam. Configurações domésticas são feitas no .Arquivo HTACCESS localizado no diretório raiz do Apache.
sudo vim/etc/apache2/apache2.conf
Navegue até o final do arquivo e adicione a seguinte entrada:
Allowoverride tudo
Salve e feche o arquivo.
Gerando certificado SSL
Existem várias maneiras de obter um certificado SSL gratuito. Ferramentas como CERTBOT e geradores SSL são ótimas opções.
No entanto, neste guia, criaremos um certificado autoassinado usando o utilitário OpenSSL.
Crie um diretório no diretório de configuração do Apache como:
sudo mkdir/etc/apache2/certs
Navegue no diretório criado acima.
CD/etc/apache2/certs
Execute o utilitário OpenSSL para gerar seu certificado autoassinado, conforme previsto no comando abaixo:
Nota: Você pode fornecer qualquer informação neste processo, exceto o nome comum. Certifique -se de fornecer um endereço IP ou nome de host.
Depois que o processo for concluído com sucesso, você deve ter o Apache.CRT e Apache.Chave no diretório CERTS.
Adicionando CERT à configuração do Apache
Adicione o certificado editando o arquivo de configuração do site padrão do Apache.
sudo vim/etc/apache2/sites-habilitado/000-default.conf
Adicione um bloco de host virtual na porta 443, como mostrado:
ServerAdmin Webmaster@localhost
Documentroot/var/www/html
ErrorLog $ apache_log_dir/erro.registro
CustomLog $ apache_log_dir/acesso.log combinado
Sslengine on
SslCertificatefile/etc/apache2/certs/apache.Crt
SslCertificateKeyFile/etc/apache2/certs/apache.chave
Redirecionando para https.
Na maioria dos casos, você deseja redirecionar usuários do sem fim SSL para SSL. Você faz isso adicionando uma regra de reescrita nos hosts virtuais da porta 80.
Adicione a entrada como:
RewriteEngine
Rewritetond %https != on
Rewriturele ^//?(.*) https: //%server_name/$ 1 [r = 301, l]
Nota: Verifique se os blocos acima estão sob o host virtual da porta 80.
Reinicie e acesse o Apache
Quando tudo acima estiver configurado, reinicie o serviço Apache e acesse seu site via localhost.
https: // 127.0.0.1
Você pode ver as informações do certificado clicando no ícone de bloqueio no seu navegador.
Conclusão
Neste guia, abordamos como habilitar e configurar o SSL no setor da web Apache.