ACLClouds
ACLClouds

Ospitare un sito WordPress su un VPS Linux

Nginx, PHP-FPM, MariaDB, wp-config.php e backup: cosa installare per ospitare WordPress da soli.

Su un VPS WordPress non è un’opzione già installata: lo stack lo montate voi. Bastano un server web, PHP e un database. In cambio mantenete il controllo su configurazione, versioni e backup.

  • WordPress su VPS si basa su Nginx, PHP-FPM e MariaDB: installate e mantenete tutti e tre.
  • Un database dedicato per sito e permessi limitati riducono l’impatto di una falla.
  • Salvate file e database insieme, e copiate i backup fuori dal server.

Installare lo stack software

WordPress richiede tre componenti: un server web (Nginx in questo esempio), PHP con il gestore FPM e un database MariaDB o MySQL. Su un VPS installate e aggiornate questi componenti voi stessi.

  • 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 la versione di PHP, e ls /run/php/ il socket FPM, per esempio php8.3-fpm.sock.
  • sudo mysql_secure_installation rimuove gli accessi anonimi e imposta la password amministratore del database.

Creare il database e scaricare WordPress

Un database dedicato, con un utente che vi acceda soltanto, limita i danni in caso di falla. Il codice si scarica dal sito ufficiale di WordPress e si colloca nella cartella web.

  • sudo mysql -e "CREATE DATABASE wp_exemple CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'password-lunga'; 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

Configurare Nginx e wp-config.php

Il blocco server indica a Nginx dove si trova il sito e passa i file .php a PHP-FPM. In wp-config.php inserite i dati del database, proteggete il file e disattivate l’editor dei file.

  • In /etc/nginx/sites-available/exemple.fr: root /var/www/exemple.fr; e un blocco location che invia i .php al socket PHP-FPM.
  • sudo ln -s /etc/nginx/sites-available/exemple.fr /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl reload nginx
  • In wp-config.php: define('DISALLOW_FILE_EDIT', true); e chmod 640, perché il file contiene le credenziali del database.

Fare backup e aggiornare

Un sito WordPress ha due parti: i file e il database. Salvate entrambi, perché uno senza l’altro non ripristina il sito. Su un VPS gli aggiornamenti del core, delle estensioni e di PHP sono a vostro carico.

  • mysqldump wp_exemple > /root/wp_exemple-$(date +%F).sql: copia del database del giorno.
  • tar czf /root/site-$(date +%F).tar.gz /var/www/exemple.fr: archivio dei file, da copiare poi fuori dal VPS.
  • Provate gli aggiornamenti delle estensioni su una copia del sito prima di applicarli in produzione.

Domande frequenti

Il piano a 4,99 € basta per WordPress?

Per un sito di dimensioni modeste, il piano Mini (8 GB di RAM, 2 vCPU, 4,99 €/mese) offre margine. Il fabbisogno reale dipende da estensioni, traffico e cache: misurate con free -h e htop per alcuni giorni.

Conviene installare HTTPS prima di WordPress?

Non è obbligatorio, ma è più semplice: appena il dominio punta al VPS, certbot aggiunge HTTPS al blocco Nginx. Poi impostate l’indirizzo del sito nelle impostazioni di WordPress.

Posso ospitare più siti WordPress sullo stesso VPS?

Sì. Bastano un blocco server, una cartella e un database per sito, ciascuno con il proprio utente del database e il proprio certificato.