Instalando o Apache
Atualizando os programas instalados
sudo dnf update -y
Instalando o Apache e módulos necessários.
sudo dnf install -y httpd mod_ssl
Caso seja necessário, o comando abaixo cria o arquivo que carrega o mod_ssl.so
sudo echo “LoadModule ssl_module modules/mod_ssl.so” > /etc/httpd/conf.modules.d/00-ssl.conf
Configurando o Apache a iniciar com o sistema operacional
sudo systemctl enable httpd
Verificando se realmente ele está executando
sudo systemctl is-enabled httpd
Nesse momento o Apache já está funcionando.
Acessando http://localhost ou http://seudominio.com deve aparecer a mensagem “It works!”.
Estrutura de arquivos do Apache
Documento root: /var/www/html
Arquivos de configuração: /etc/httpd
Arquivo de configuração do Apache: /etc/httpd/conf/httpd.conf
Arquivo de configuração do virtualhost (seu site). Se ele não existir, você deve criá-lo: /etc/httpd/conf.d/seusite.conf
Conteúdo inicial do arquivo seusite.conf:
<VirtualHost *:80>
</VirtualHost>
Atenção
Se você for utilizar o Let’s Encrypt, não adicione configurações de redirecionamento no arquivo acima. O Certbot, no processo de instalação do certificado pode causar erro, argumentando que ele poderia gerar loops de redirect. Isso acontece porque ele em seu processo cria a configuração de redirecionamento de HTTP para HTTPS.
Instalando o Certbot para geração de certificado digital
A Let’s Encrypt utiliza a ferramenta Certbot para automatizar a geração do certificado. Logo, precisamos instalar o Certbot no Amazon Linux. A instalação fica mais fácil utilizando o Pip, o gerenciador de pacote do Python.
Para instalar o Pip, o Certbot e gerar o certificado, basta seguir o passo a passo da documentação: https://certbot.eff.org/instructions?ws=apache&os=pip
Configurando o redirecionamento de www.dominio.com para dominio.com
Essa configuração está considerando que o seu domínio utiliza https://
Zona de DNS
Criar no zona de DNS um registro CNAME apontando o www.dominio.com para dominio.com. Exemplo no Route 53 da AWS:
Módulo Rewrite do Apache
O rewrite_module já vem habilitado no arquivo /etc/httpd/conf.modules.d/00-base.conf
.
Caso não esteja, você só precisa adicionar ao arquivo 00-base.conf
, a linha abaixo:
LoadModule rewrite_module modules/mod_rewrite.so
Adicionar configuração no arquivo meudominio-le-ssl.conf
, dentro da seção <VirtualHost *:443>[..]</VirtualHost>
:
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
Criando o redirecionamento
Criando o arquivo .htaccess
sudo vim /var/www/html/.htaccess
Conteúdo do arquivo .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Referências
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2023.html#prepare-lamp-server-2023
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html
- https://unix.stackexchange.com/questions/744633/how-to-install-certbot-via-snap-on-amazon-linux-2023
- https://eff-certbot.readthedocs.io/en/stable/install.html#alternative-2-pip