Como configurar lamp com wordpress e let´s encrypt

Configurar um servidor LAMP (Linux, Apache, MySQL/MariaDB, PHP) para rodar WordPress com HTTPS (Let’s Encrypt) é uma tarefa fundamental de administração de sistemas.

Abaixo está um guia direto e otimizado, focado no Ubuntu 22.04/24.04 (a distribuição mais comum para tutoriais), mas os conceitos se aplicam a outras distros.


Pré-requisitos

  • Um servidor VPS/Dedicado com acesso root ou sudo.
  • Um nome de domínio (ex: seusite.com) apontado para o IP do servidor (Registros A).

Passo 1: Atualizar o Sistema e Instalar Apache

Primeiro, garanta que os repositórios estão atualizados e instale o servidor web.

Bash

sudo apt update && sudo apt upgrade -y
sudo apt install apache2 -y

Configurar o Firewall (UFW):

Permita o tráfego HTTP e HTTPS.

Bash

sudo ufw allow in "Apache Full"

Passo 2: Instalar e Configurar o Banco de Dados (MariaDB)

O MariaDB é geralmente preferido ao MySQL por ser open-source e ter melhor performance.

Instalar:Bashsudo apt install mariadb-server -y

Segurança Inicial:Execute o script de segurança. Responda Y para tudo (remover usuários anônimos, desabilitar login root remoto, etc).

sudo mysql_secure_installation

Criar Banco e Usuário:Acesse o console do MariaDB:

mysql -u root -p

Execute os comandos SQL abaixo (substitua senha_forte):

CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'senha_forte'; 
GRANT ALL ON wordpress_db.* TO 'wp_user'@'localhost'; 
FLUSH PRIVILEGES;
EXIT;


Passo 3: Instalar o PHP e Extensões

O WordPress requer várias extensões PHP para funcionar corretamente (processamento de imagem, XML, conexão com banco).

Bash

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y

Para verificar a versão instalada:

Bash

php -v

Passo 4: Configurar o Apache (Virtual Host)

Nunca edite o arquivo padrão (000-default.conf). Crie um específico para o seu domínio.

  1. Criar arquivo de configuração:Bashsudo nano /etc/apache2/sites-available/seusite.com.conf
  2. Cole o seguinte conteúdo (substitua seusite.com pelo seu domínio):
<VirtualHost *:80> 
ServerAdmin admin@seusite.com 
ServerName seusite.com 
ServerAlias www.seusite.com 
DocumentRoot /var/www/seusite.com 
<Directory /var/www/seusite.com> 
Options Indexes FollowSymLinks AllowOverride All Require all granted 
</Directory> 
ErrorLog ${APACHE_LOG_DIR}/error.log 
CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost>

Habilitar o site e o módulo Rewrite (para Links Permanentes do WP):

sudo a2ensite seusite.com.conf 
sudo a2enmod rewrite 
sudo systemctl restart apache2

Passo 5: Baixar e Configurar o WordPress

  1. Baixar a última versão:Bash
cd /tmp curl -O https://wordpress.org/latest.tar.gz 
tar xzvf latest.tar.gz

Mover para o diretório correto:

sudo mkdir -p /var/www/seusite.com
sudo cp -a /tmp/wordpress/. /var/www/seusite.com

Ajustar Permissões (Crítico):O usuário do Apache (www-data) precisa ser o dono dos arquivos para instalar plugins e fazer uploads.Bash

sudo chown -R www-data:www-data /var/www/seusite.com 
sudo chmod -R 755 /var/www/seusite.com

Passo 6: Configurar HTTPS com Let’s Encrypt (Certbot)

Esta é a maneira automatizada de obter um certificado SSL gratuito. Antes de solicitar, certifique-se de apontar a entrada tipo A da DNS com o domínio apontando para o IP do servidor. da DNS

  1. Instalar o Certbot e o plugin para Apache:
sudo apt install certbot python3-certbot-apache -y

Gerar o certificado:

sudo certbot --apache
  • O script perguntará seu e-mail.
  • Perguntará se você aceita os termos.
  • Importante: Ele pode perguntar se você deseja redirecionar o tráfego HTTP para HTTPS. Escolha a opção Redirect (2).

O Certbot atualizará automaticamente o arquivo de configuração do Apache que criamos no Passo 4.


Passo 7: Finalização via Navegador

Agora, acesse https://seusite.com no seu navegador. Você verá a tela de instalação do WordPress.

  1. Escolha o idioma.
  2. Insira os dados do banco que criamos no Passo 2:
    • Nome do Banco: wordpress_db
    • Usuário: wp_user
    • Senha: senha_forte
    • Servidor: localhost

Resumo Técnico

ComponenteFunçãoConfiguração Chave
ApacheServidor WebHabilitar mod_rewrite para URLs amigáveis.
MariaDBBanco de DadosUsar utf8_unicode_ci ou utf8mb4 para suporte a caracteres.
PHPProcessadorAumentar upload_max_filesize em php.ini se necessário.
CertbotSSLAdiciona cron job automático para renovação do certificado.


Clique aqui e consulte nossos planos de Gerenciamento de Servidor

Veja também:

Como configurar lemp com wordpress e let´s encrypt
Antivírus, Antimalware, Antiphishing no Almalinux ou CentOS com ClamAV

In English:

How to install Crowdsec
How to install Engintron(NGINX) cPanel/WHM
How to Install Portainer for Docker Management with Nginx Proxy Manager on Ubuntu