Menu
Hosting Wordpress

WordPress su VPS: come configurare un server virtuale da zero

Gianluca Gentile · · 6 min di lettura

WordPress su VPS: come configurare un server virtuale da zero

Un VPS (Virtual Private Server) offre prestazioni superiori rispetto a un hosting condiviso, dandoti il pieno controllo su risorse, configurazione e sicurezza del tuo sito WordPress. Se il tuo sito è cresciuto e l’hosting condiviso non basta più, passare a un VPS è il passo naturale. In questa guida ti spiego come configurare un server virtuale da zero per ospitare WordPress con prestazioni ottimali.

Quando passare da hosting condiviso a VPS

L’hosting condiviso funziona bene per siti piccoli con poco traffico, ma mostra i suoi limiti quando il sito cresce. Ecco i segnali che indicano la necessità di un VPS per WordPress:

  • Tempi di risposta lenti: il sito impiega più di 2-3 secondi a caricare nonostante le ottimizzazioni.
  • Errori 503 frequenti: il server non riesce a gestire il numero di visitatori contemporanei.
  • Limiti di risorse: il provider ti avvisa di aver superato i limiti di CPU o RAM.
  • Necessità di configurazioni personalizzate: vuoi installare moduli PHP specifici, Redis, o configurare Nginx a modo tuo.

Con un VPS hai risorse dedicate (CPU, RAM, disco) che non condividi con altri siti. Questo significa prestazioni prevedibili e la libertà di configurare il server esattamente come preferisci, senza le limitazioni imposte dagli hosting condivisi.

Scegliere il provider VPS giusto

I principali provider VPS offrono piani a partire da 5-10 euro al mese. Tra i più affidabili per WordPress ci sono Hetzner (ottimo rapporto qualità-prezzo con server in Europa), DigitalOcean (interfaccia semplice e documentazione eccellente), Contabo (prezzi aggressivi con molte risorse) e Vultr (ampia scelta di datacenter). Per un sito WordPress con traffico medio (fino a 50.000 visite al mese), un VPS con 2 GB di RAM, 2 vCPU e 40 GB SSD è un buon punto di partenza.

Configurazione iniziale del server

Dopo aver creato il VPS, collegati via SSH e inizia con la configurazione di base. Usa Ubuntu 22.04 LTS o Debian 12 come sistema operativo: sono stabili e ben supportati dalla community WordPress.

# Aggiornare il sistema
apt update && apt upgrade -y

# Creare un utente non-root
adduser wordpress
usermod -aG sudo wordpress

# Configurare il firewall
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Disabilita il login root via SSH e configura l’autenticazione con chiave pubblica per una sicurezza maggiore. Modifica il file /etc/ssh/sshd_config impostando PermitRootLogin no e PasswordAuthentication no.

Installare lo stack LEMP

Per WordPress su VPS, lo stack LEMP (Linux, Nginx, MySQL, PHP) è la scelta migliore in termini di prestazioni. Nginx è più veloce di Apache nel servire contenuti statici e gestisce meglio le connessioni concorrenti:

# Installare Nginx
apt install nginx -y

# Installare MySQL/MariaDB
apt install mariadb-server -y
mysql_secure_installation

# Installare PHP 8.2 con le estensioni necessarie
apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-intl php8.2-imagick -y

Dopo l’installazione, crea il database per WordPress:

mysql -u root -p
CREATE DATABASE wordpress_db;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'password_sicura_qui';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Configurare Nginx per WordPress

Crea un file di configurazione Nginx ottimizzato per WordPress. Il blocco server deve gestire correttamente i permalink e i file statici:

server {
    listen 80;
    server_name esempio.com www.esempio.com;
    root /var/www/wordpress;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* .(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

Questa configurazione include il caching dei file statici per 30 giorni, che riduce il carico sul server e velocizza il caricamento per i visitatori di ritorno.

Installare WordPress e configurare SSL

Scarica e installa WordPress nella directory configurata:

cd /var/www
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
chown -R www-data:www-data wordpress
chmod -R 755 wordpress

Per il certificato SSL gratuito, usa Certbot con Let’s Encrypt:

apt install certbot python3-certbot-nginx -y
certbot --nginx -d esempio.com -d www.esempio.com

Certbot configura automaticamente Nginx per HTTPS e imposta il rinnovo automatico del certificato. Verifica che il rinnovo funzioni con certbot renew –dry-run.

Ottimizzare PHP e MySQL per le prestazioni

Le configurazioni predefinite di PHP e MySQL sono conservative. Per WordPress su VPS, modifica /etc/php/8.2/fpm/php.ini con questi valori ottimizzati:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000

Per MySQL, modifica /etc/mysql/mariadb.conf.d/50-server.cnf e aumenta il buffer pool di InnoDB in base alla RAM disponibile. Con 2 GB di RAM totali, imposta innodb_buffer_pool_size = 512M. Questa singola modifica può migliorare drasticamente le prestazioni delle query WordPress.

Aggiungere Redis come object cache

Un vantaggio del VPS è poter installare Redis per il caching degli oggetti WordPress. Redis mantiene in memoria i risultati delle query al database, riducendo enormemente i tempi di risposta:

apt install redis-server -y
systemctl enable redis-server

Dopo l’installazione, aggiungi il plugin Redis Object Cache in WordPress e attivalo. Nelle impostazioni del plugin, verifica che la connessione a Redis sia attiva. Il miglioramento è immediato: le pagine che richiedevano 10-20 query al database ora le recuperano dalla cache in millisecondi.

Backup e manutenzione del VPS

Con un VPS, la responsabilità di backup e aggiornamenti è interamente tua. Configura un cron job per backup giornalieri automatici del database e dei file WordPress. Mantieni il sistema operativo aggiornato con aggiornamenti di sicurezza automatici installando il pacchetto unattended-upgrades. Monitora lo spazio su disco e l’utilizzo delle risorse con strumenti come htop e df -h per prevenire problemi prima che impattino il sito.

Imposta anche un sistema di monitoraggio uptime (come UptimeRobot o Hetrixtools, entrambi con piani gratuiti) che ti avvisi via email o Telegram se il sito va offline. A differenza dell’hosting condiviso, su un VPS nessuno ti notifica automaticamente dei problemi: devi essere tu a sorvegliare il server.

Serve aiuto con la configurazione?

Configurare un VPS per WordPress richiede competenze tecniche e attenzione ai dettagli. Se vuoi le prestazioni di un server dedicato senza la complessità della gestione, il team di SoccorsoWP può configurare e ottimizzare il tuo VPS per WordPress. Apri un ticket e affida la configurazione a chi lo fa ogni giorno.

Condividi: