ACLClouds
ACLClouds

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.