Como faço para ativar o HTTPS no Apache Web Server

Como faço para ativar o HTTPS no Apache Web Server
Apache é um dos servidores da web mais populares que atendem a mais de 30% dos sites. É um servidor HTTP gratuito e de código aberto. Ele vem embalado com toneladas de ferramentas e recursos para executar aplicativos com segurança e com facilidade.

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:

  1. Uma instalação do Ubuntu/Debian
  2. Permissões de sudo ou raiz para instalar pacotes, modificar arquivos de configuração e reiniciar serviços.

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.