Alojar um site WordPress num VPS Linux
Nginx, PHP-FPM, MariaDB, wp-config.php e cópias de segurança: o que instalar para alojar o WordPress por si.
Num VPS, o WordPress não é uma opção já instalada: a pilha monta-a você. Bastam um servidor web, PHP e uma base de dados. Em troca, mantém o controlo sobre a configuração, as versões e as cópias de segurança.
- O WordPress num VPS assenta em Nginx, PHP-FPM e MariaDB: instala e mantém os três.
- Uma base dedicada por site e permissões limitadas reduzem o impacto de uma falha.
- Guarde os ficheiros e a base em conjunto, e copie as cópias para fora do servidor.
Instalar a pilha de software
O WordPress precisa de três componentes: um servidor web (Nginx neste exemplo), PHP com o gestor FPM e uma base de dados MariaDB ou MySQL. Num VPS, é você que instala e atualiza estes componentes.
- sudo apt update && sudo apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl unzip
- php -v mostra a versão do PHP, e ls /run/php/ mostra o socket do FPM, por exemplo php8.3-fpm.sock.
- sudo mysql_secure_installation remove os acessos anónimos e define a palavra-passe de administrador da base.
Criar a base e descarregar o WordPress
Uma base dedicada, com um utilizador que só lhe acede, limita os danos em caso de falha. O código descarrega-se do site oficial do WordPress e coloca-se na pasta web.
- sudo mysql -e "CREATE DATABASE wp_exemple CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'palavra-passe-longa'; GRANT ALL ON wp_exemple.* TO 'wp_user'@'localhost';"
- cd /tmp && curl -O https://wordpress.org/latest.tar.gz && tar xzf latest.tar.gz
- sudo mv /tmp/wordpress /var/www/exemple.fr && sudo chown -R www-data:www-data /var/www/exemple.fr
Configurar o Nginx e o wp-config.php
O bloco server indica ao Nginx onde está o site e envia os ficheiros .php para o PHP-FPM. No wp-config.php, preencha os dados da base, proteja o ficheiro e desative o editor de ficheiros.
- Em /etc/nginx/sites-available/exemple.fr: root /var/www/exemple.fr; e um bloco location que envia os .php para o socket do PHP-FPM.
- sudo ln -s /etc/nginx/sites-available/exemple.fr /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl reload nginx
- No wp-config.php: define('DISALLOW_FILE_EDIT', true); e chmod 640, porque o ficheiro contém as credenciais da base.
Fazer cópias e atualizar
Um site WordPress tem duas partes: os ficheiros e a base. Guarde as duas, porque uma sem a outra não restaura o site. Num VPS, as atualizações do núcleo, das extensões e do PHP são da sua responsabilidade.
- mysqldump wp_exemple > /root/wp_exemple-$(date +%F).sql: cópia da base do dia.
- tar czf /root/site-$(date +%F).tar.gz /var/www/exemple.fr: arquivo dos ficheiros, a copiar depois para fora do VPS.
- Teste as atualizações das extensões numa cópia do site antes de as aplicar em produção.
Perguntas frequentes
O plano de 4,99 € chega para o WordPress?
Para um site de dimensão modesta, o plano Mini (8 GB de RAM, 2 vCPU, 4,99 €/mês) tem margem. A necessidade real depende das extensões, do tráfego e da cache: meça com free -h e htop durante alguns dias.
Devo instalar o HTTPS antes do WordPress?
Não é obrigatório, mas é mais simples: logo que o domínio aponte para o VPS, o certbot acrescenta o HTTPS ao bloco Nginx. Depois, defina o endereço do site nas definições do WordPress.
Posso alojar vários sites WordPress no mesmo VPS?
Sim. Bastam um bloco server, uma pasta e uma base por site, cada um com o seu utilizador de base de dados e o seu certificado.