WordPress
Mais de 60 milhões de pessoas escolhem o WordPress para alimentar seus sites e blogs. Surgido da vontade de criar um elegante sistema de publicação pessoal construído em PHP e MySQL, seu potencial evoluiu para se tornar um sistema completo de gerenciamento de conteúdo.
Software incluído:
WordPress - 6.0
APACHE - 2.4.41
MYSQL - 8.0.32
PHP - 8.1
Fail2ban - 4.4.0.4
Postfix - 3.4.13
Certbot - 0.40.0
Começando após implantar o WordPress:
Permita as portas no firewall apenas para acesso SSH (porta 22, com limite de taxa), HTTP (porta 80) e HTTPS (porta 443). Conforme Como criar Regras de Firewall.
Configure a senha root do MySQL, execute o mysql_secure_installation e crie um usuário do WordPress com as permissões necessárias.
Crie o arquivo de configuração inicial do WordPress para configurar as chaves de sal e permitir que a instância do WordPress se conecte ao banco de dados.
Desative o XML-RPC para ajudar a prevenir ataques de DDoS e outras tentativas de força bruta.
Modifique algumas das configurações do PHP para aumentar o tamanho máximo do arquivo e o tempo de execução.
Habilite o módulo de reescrita do Apache para que o recurso de permalink do WordPress funcione.
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.
Depois que o WordPress for implantado:
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 ->
Ao se conectar à sua instância do WordPress via SSH pela primeira vez, você verá as senhas e será solicitado a inserir um nome de domínio para concluir a configuração e proteger sua conexão, você precisará de um domínio registrado configurado para sua instância.
Para cancelar a configuração, pressione Ctrl+C. Este script será executado novamente na próxima vez que você fizer login: Insira o nome de domínio para o seu novo site WordPress: (ex. example.org ou test.example.org) não inclua www ou http/s: Nome de domínio/subdomínio:
O registro A do domínio deve estar apontando para o endereço IP da instância.
Após a configuração ser concluída sem problemas, você poderá acessar o nome de domínio ou o endereço IP do servidor em seu navegador para finalizar a instalação do WordPress por meio da interface web.
A senha raiz do MySQL é armazenada em /root/.mysql_root_password.
Faça login no MySQL usando o comando abaixo.
< mysql -u root -p <$password armazenado no arquivo acima> >
Você pode acessar o phpMyAdmin imediatamente visitando o endereço IP da Instância em seu navegador seguido por /phpmyadmin
Você será solicitado a fazer o primeiro login, que criamos por motivos de segurança.
O nome de usuário é "admin".
A senha Phpmyadmin é armazenada em /root/.phpmyadmin_password.
As informações do banco de dados do WordPress são armazenadas em /root/.wordpress_database_details.
A raiz da web é /var/www/html e o arquivo de configuração do WordPress é /var/www/html/wp-config.php.
Além disso, há algumas etapas de configuração personalizadas que recomendamos que você execute:
Criar um arquivo de hosts virtuais do Apache para cada site mantém a configuração padrão como fallback, como pretendido, e torna mais fácil gerenciar as 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 host virtual em /etc/apache2/sites-available para a configuração desse domínio.
Configurar um certificado SSL permite o HTTPS no servidor web, o que protege o tráfego entre o servidor e os clientes conectando-se a ele. Certbot é uma maneira gratuita e automatizada de configurar certificados SSL em um servidor. Ele é incluído como parte da implantação do WordPress para facilitar a segurança do 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 (e.g., exemplo.com) para o endereço IP do servidor
Um registro A de um domínio com prefixo www (e.g., 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 (e.g., 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.