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.