Lemp
Em menos de um minuto, crie um servidor na nuvem com Nginx, MySQL e PHP instalados.
Softwares Incluídos:
Nginx - 1.18
MYSQL - 8.0.32
PHP - 8.1
Fail2ban - 0.11.1
Postfix - 3.4.13
Certbot - 0.40.0
Começando após implantar o LEMP:
Permita as portas no firewall apenas para SSH (porta 22, com taxa limitada), HTTP (porta 80) e HTTPS (porta 443). Conforme Como criar Regras de Firewall.
Define a senha root do MySQL e executa mysql_secure_installation.
Você será desconectado da instância e verá a mensagem abaixo até que a instância seja implantada. NÃO FAÇA LOGIN NA INSTÂNCIA POR 2 MINUTOS APÓS A CRIAÇÃO.
Please wait until the installation is completed....Connection to $IPADDRESS closed.
Assim que o LEMP for implantado:
Você pode visualizar a instância do LEMP imediatamente visitando o endereço IP da instância em seu navegador.
Você pode fazer login na instância como ubuntu usando a senha que você definiu ao criar a instância ou com uma chave SSH se você adicionou uma durante a criação.
Você pode então mudar para o usuário root sem senha digitando o seguinte comando. <sudo su - >
A senha root do MySQL é armazenada em /root/.mysql_root_password
Faça login no MySQL usando o comando abaixo.
<mysql -u root -p <$senha armazenada no arquivo acima> >
A raiz da web é /var/www/html
Para proteger sua conexão, você precisará de um domínio registrado configurado para sua instância.
Além disso, existem algumas etapas de configuração personalizadas que recomendamos que você execute:
Criar um arquivo de bloco de servidor Nginx para cada site mantém a configuração padrão como fallback, como pretendido, e torna mais fácil gerenciar alterações ao hospedar vários sites.
Para fazer isso, você precisará criar duas coisas para cada domínio: um novo diretório em /var/www para o conteúdo desse domínio e um novo arquivo de bloco de servidor em /etc/nginx/sites-available para a configuração desse domínio.
Configurar um certificado SSL permite o HTTPS no servidor da web, o que protege o tráfego entre o servidor e os clientes que se conectam a ele. O Certbot é uma maneira gratuita e automatizada de configurar certificados SSL em um servidor. Ele está incluído como parte da implantação do LEMP para tornar mais fácil proteger o domínio.
Para usar o Certbot, você precisará de um nome de domínio registrado e dois registros DNS:
Um registro A de um domínio (por exemplo, exemplo.com) para o endereço IP do servidor
Um registro A de um domínio com prefixo www (por exemplo, www.exemplo.com) para o endereço IP do servidor
Além disso, se você estiver usando um arquivo de hosts virtuais, precisará garantir que a diretiva do nome do servidor no bloco VirtualHost (por exemplo, ServerName exemplo.com) esteja configurada corretamente para o domínio.
Depois que os registros DNS e, opcionalmente, os arquivos de hosts virtuais são configurados, você pode gerar o certificado SSL. Certifique-se de substituir o domínio no comando.
certbot --apache -d exemple.com -d www.exemple.com
O tráfego HTTPS na porta 443 precisa ser permitido pelo firewall. Depois de configurar o HTTPS, você pode optar por negar o tráfego HTTP na porta 80:
Configurando o Postfix:
Defina um nome de host válido usando o comando "hostnamectl set-hostname test.example.com". Certifique-se de que o nome de host "test.example.com" tenha um registro A adequado.
O endereço IP da instância deve ter um registro PTR adequado.
Configure o nome de host no arquivo de configuração do postfix /etc/postfix/main.cf
Na seção abaixo, substitua o $hostname pelo nome de host válido
myhostname = $hostname
Reinicie o postfix usando o comando
systemctl restart postfix
Depois que a etapa acima for concluída, você pode verificar os emails de saída usando o comando
echo "Postfix test" | mail -s "Subject" test@gmail.com"
Inicialmente, os emails serão enviados para a pasta de spam. Como este é um IP NOVO, a reputação é desconhecida. Assim que a reputação for calculada com base nos emails recebidos e enviados, os emails serão entregues na caixa de entrada.