A migração de um site WordPress para uma VPS Linux é um dos passos mais importantes na jornada de qualquer desenvolvedor ou administrador de sistemas iniciante. Ao sair de ambientes compartilhados restritivos para um servidor virtual privado (VPS), você ganha controle total, performance superior e escalabilidade. No entanto, esse poder vem com a responsabilidade de configurar o ambiente do zero. Neste tutorial, vamos guiar você através do processo completo de migração, desde a escolha do sistema operacional até a configuração final do banco de dados e DNS.
1. Preparação do Ambiente: Escolha do Sistema Operacional
O primeiro passo é definir qual distribuição Linux será utilizada em sua VPS. A escolha impacta diretamente a disponibilidade de pacotes, a curva de aprendizado e a estabilidade do servidor. As opções mais comuns no mercado são Ubuntu, Debian e Rocky Linux.
Ubuntu vs Debian: O Ubuntu é frequentemente recomendado para iniciantes devido à sua vasta documentação e comunidade ativa. Ele oferece atualizações frequentes e uma interface de linha de comando amigável. O Debian, por outro lado, é conhecido por sua estabilidade extrema e uso conservador de recursos. Se você prefere um sistema que "só funciona" e não exige reinicializações constantes, o Debian é uma excelente escolha. A diferença prática para a migração do WordPress é mínima, pois ambos utilizam o gerenciador de pacotes apt.
Rocky Linux: Se você tem familiaridade com ambientes corporativos ou herda configurações de servidores RHEL (Red Hat Enterprise Linux), o Rocky Linux é a alternativa gratuita e binariamente compatível. Ele utiliza o gerenciador dnf ou yum. Embora seja robusto, a curva de aprendizado pode ser mais íngreme para quem vem do ecossistema Debian/Ubuntu.
Para este tutorial, focaremos na stack LEMP (Linux, Nginx, MySQL/MariaDB, PHP) utilizando o **Ubuntu 22.04 LTS** ou **Debian 12**, pois é a combinação mais documentada e amigável para WordPress moderno.
2. Acesso SSH para Iniciantes
Antes de instalar qualquer software, você precisa acessar seu servidor. A maneira segura e padrão de fazer isso é via protocolo SSH (Secure Shell). Se você está em um ambiente Windows, utilize o PowerShell ou o Windows Terminal nas versões mais recentes, que já incluem suporte nativo ao SSH.
Para conectar à sua VPS, use o seguinte comando no seu terminal local. Substitua seu_ip pelo endereço IP público fornecido pela sua provedora de hospedagem e root pelo nome de usuário administrador (geralmente root ou ubuntu):
ssh root@seu_ip
O sistema pode exibir um aviso sobre a autenticidade do host. Digite yes e pressione Enter. Em seguida, insira sua senha. Lembre-se de que caracteres de senha não são exibidos ao digitar; isso é uma medida de segurança padrão.
3. Atualização do Sistema e Segurança Básica
Assim que conectado, o primeiro ato administrativo deve ser atualizar os pacotes existentes para garantir que você está trabalhando com as versões mais recentes e seguras.
apt update && apt upgrade -y
Em seguida, é altamente recomendável instalar e configurar um firewall básico. A maioria das VPS modernas vem com ufw (Uncomplicated Firewall) pré-instalado no Ubuntu.
apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow http
ufw allow https
ufw enable
Esses comandos bloqueiam todas as portas exceto SSH (para que você não seja desconectado), HTTP (porta 80) e HTTPS (porta 443), essenciais para o funcionamento do seu site.
4. Instalação da Stack LEMP
O WordPress requer um servidor web, um banco de dados e uma linguagem de processamento PHP. A stack LEMP é composta por:
- Linux: O sistema operacional.
- Engine-x (Nginx): O servidor web, conhecido por lidar melhor com conexões concorrentes que o Apache em ambientes de VPS.
- MySQL/MariaDB: O banco de dados para armazenar conteúdo e configurações do WordPress.
- PHP: A linguagem que processa os scripts dinâmicos do WordPress.
4.1. Instalando o Nginx
O Nginx é leve e eficiente. Instale-o com:
apt install nginx -y
Inicie o serviço e garanta que ele rode na inicialização do sistema:
systemctl start nginx
systemctl enable nginx
4.2. Instalando o Banco de Dados (MariaDB)
O MariaDB é um fork do MySQL mantido pela comunidade, compatível e muitas vezes mais rápido. Instale-o com:
apt install mariadb-server mariadb-client -y
Execute o script de segurança para fortalecer a instalação:
mysql_secure_installation
Siga as instruções na tela: defina uma senha forte para o root do banco de dados, remova usuários anônimos, desative o login root remoto e remova o banco de dados de teste.
4.3. Instalando o PHP e Extensões
O WordPress moderno exige versões recentes do PHP (8.1 ou superior). Instale o PHP e as extensões necessárias:
apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-imagick php-zip php-bcmath -y
Verifique a versão instalada com php -v.
5. Configuração do Banco de Dados para WordPress
Agora que os serviços estão rodando, precisamos criar o banco de dados e o usuário específico para o seu site.
mysql -u root -p
Insira a senha do root do MariaDB definida anteriormente. Dentro do prompt do MySQL, execute os seguintes comandos um por um:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'sua_senha_forte_aqui';
GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Temos um banco chamado wordpress, um usuário wpuser e permissões concedidas. Anote essas credenciais, pois serão usadas na configuração do WordPress.
6. Baixando e Configurando o WordPress
Crie um diretório para o site e baixe a versão mais recente do WordPress:
cd /var/www
wget https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
chown -R www-data:www-data wordpress
chmod -R 755 wordpress
O usuário www-data é o usuário padrão do Nginx e PHP-FPM. Ajustar as permissões garante que o servidor possa ler e escrever arquivos necessários (como uploads de mídia).
7. Configurando o Nginx para Servir o WordPress
O Nginx precisa saber como lidar com requisições para seu domínio. Crie um arquivo de configuração no diretório sites-available:
nano /etc/nginx/sites-available/wordpress
Cole a seguinte configuração básica (substitua seu_dominio.com):
server {
listen 80;
server_name seu_dominio.com www.seu_dominio.com;
root /var/www/wordpress;
index index.php index.html index.htm;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
Ative o site criando um link simbólico para sites-enabled:
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
O comando nginx -t testa a sintaxe. Se retornar sucesso, reinicie o Nginx.
8. Finalizando a Instalação do WordPress
Acesse seu navegador e vá para http://seu_dominio.com. Você verá o instalador padrão do WordPress em inglês (ou português, se configurado). Siga os passos:
- Escolha o idioma.
- Insira o nome do site, nome de usuário e senha forte.
- No campo "Nome do Banco de Dados", insira
wordpress. - No campo "Usuário do Banco de Dados", insira
wpuser. - No campo "Senha", insira a senha definida no passo 5.
- Mantenha o host como
localhoste o prefixo comowp_.
Se tudo estiver correto, você verá uma mensagem de sucesso e poderá fazer login no painel administrativo.
9. Migração do Conteúdo Existente
O passo acima instalou um WordPress limpo. Para migrar seu site antigo, você precisa transferir os arquivos e o banco de dados antigo para este novo servidor.
Exportação do Banco de Dados Antigo: No painel de hospedagem antiga (cPanel, Plesk ou outro), use a ferramenta "phpMyAdmin" ou um plugin como "All-in-One WP Migration" para exportar o banco de dados em formato .sql.
Importação no Novo Servidor: Faça upload do arquivo .sql para sua VPS e importe-o:
mysql -u root -p wordpress < backup_antigo.sql
Cópia dos Arquivos: Use o comando scp ou um cliente FTP/SFTP (como FileZilla) para copiar todo o conteúdo da pasta antiga (wp-content/uploads, temas, plugins) para a pasta /var/www/wordpress/wp-content/ na nova VPS.
Ajuste de URLs: Se o domínio mudou, você precisará atualizar as URLs no banco de dados. Plugins como "Better Search Replace" facilitam essa tarefa dentro do painel WordPress, substituindo http://antigo-dominio.com por http://novo-dominio.com.
10. Apontamento DNS e SSL
Agora que o site está no ar, você precisa apontar seu domínio para o novo servidor. Acesse o gerenciador de DNS do seu registrador de domínios (onde comprou o nome) e altere os registros A para apontar para o IP da sua VPS.
O tempo de propagação do DNS pode variar de minutos a 48 horas, embora geralmente ocorra em menos de uma hora. Durante esse período, parte dos usuários poderá ver o site antigo e outra parte o novo.
Instalando Certificado SSL (Let's Encrypt)
Para garantir que seu site use HTTPS (essencial para SEO e segurança), instale o Certbot:
apt install certbot python3-certbot-nginx -y
certbot --nginx -d seu_dominio.com -d www.seu_dominio.com
O Certbot configurará automaticamente o Nginx para redirecionar todo o tráfego HTTP para HTTPS e renovará o certificado automaticamente.
11. Considerações Finais sobre Painéis Webhosting
Muitos administradores iniciantes preferem usar painéis webhosting como cPanel, Plesk ou DirectAdmin para gerenciar servidores. Embora esses painéis facilitem a gestão de e-mails, subdomínios e contas de usuário via interface gráfica, eles podem consumir recursos significativos da VPS e adicionar complexidade desnecessária ao processo de migração do WordPress.
Para um site WordPress em uma VPS dedicada, o gerenciamento via linha de comando (CLI) é geralmente mais leve, transparente e seguro. No entanto, se você gerencia muitos clientes ou sites diversos, considerar um painel open-source como Webmin ou HestiaCP pode ser um meio-termo válido entre o CLI puro e os painéis proprietários pesados.
Lembre-se de configurar backups automáticos. O Nginx não faz backup por si só. Utilize scripts agendados via cron para exportar diariamente o banco de dados e a pasta wp-content para um armazenamento externo, como Amazon S3 ou Backblaze B2.
A migração para VPS Linux é um investimento em autonomia. Ao dominar esses passos básicos de instalação LEMP e configuração SSH, você elimina a dependência de limitações técnicas de hospedagens compartilhadas e prepara sua infraestrutura para crescer conforme a demanda do seu projeto aumenta.