Server e reti

Installare WordPress su server LAMP Fedora

Guida completa all’installazione di WordPress su server LAMP Fedora, con configurazione del database, permessi, SELinux, permalink e HTTPS.

In questo tutorial vedremo come completare l’installazione di WordPress su Fedora partendo da un server LAMP già predisposto con Apache, PHP e MariaDB/MySQL. L’articolo è pensato come approfondimento pratico di una guida LAMP: dopo avere installato il web server, il linguaggio PHP e il database, il passaggio successivo consiste nel preparare l’ambiente per ospitare un CMS reale, configurabile e aggiornabile.

WordPress è un CMS open source scritto in PHP che salva contenuti, utenti, impostazioni, plugin e temi all’interno di un database MySQL o MariaDB. Su Fedora la combinazione più comune è Apache con il servizio httpd, PHP tramite pacchetti Fedora e MariaDB come database server.

Scenario di partenza

La guida presume che il server LAMP sia già installato e funzionante. Prima di procedere conviene verificare che Apache e MariaDB siano attivi e che PHP sia correttamente integrato.

Sistema operativo: Fedora
Web server: Apache httpd
Linguaggio server-side: PHP
Database: MariaDB o MySQL
Directory web principale: /var/www/html
Utente di servizio Apache su Fedora: apache
URL locale di test: http://localhost
  

Controlla lo stato dei servizi principali:

sudo systemctl status httpd
sudo systemctl status mariadb
 

Se uno dei servizi non è attivo, puoi avviarlo e abilitarlo all’avvio del sistema:

sudo systemctl enable --now httpd
sudo systemctl enable --now mariadb
  

Requisiti consigliati per WordPress

Prima di installare WordPress è importante verificare che l’ambiente rispetti i requisiti consigliati. Anche se WordPress può funzionare con versioni minime inferiori, usare versioni recenti di PHP e database riduce problemi di compatibilità, migliora le prestazioni e semplifica la gestione futura di plugin e temi.

Requisiti consigliati:
PHP: 8.3 o superiore
Database: MariaDB 10.6 o superiore
Alternativa database: MySQL 8.0 o superiore
Web server: Apache con mod_rewrite attivo
Sicurezza: HTTPS consigliato
  

Su Fedora puoi controllare le versioni installate con:

php -v
mariadb --version
httpd -v
  

Installare i moduli PHP necessari

WordPress ha bisogno di alcune estensioni PHP per gestire immagini, file compressi, caratteri multilingua, XML, connessione al database e funzionalità comuni usate da plugin e temi.

sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-intl php-mbstring php-xml php-pecl-zip php-curl wget tar policycoreutils-python-utils
  

Dopo l’installazione dei moduli, riavvia Apache e PHP-FPM:

sudo systemctl restart php-fpm
sudo systemctl restart httpd
  

Verifica che PHP venga letto correttamente dal sistema:

php -m
  

Preparare il database per WordPress

WordPress non deve usare l’utente amministrativo del database. È preferibile creare un database dedicato e un utente con permessi limitati esclusivamente a quel database.

Accedi a MariaDB:

sudo mariadb
  

Crea database, utente e privilegi:

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password_forte_da_cambiare';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  

I dati che userai durante l’installazione guidata di WordPress saranno quindi:

Nome database: wordpress
Nome utente database: wpuser
Password database: password_forte_da_cambiare
Host database: localhost
Prefisso tabelle: wp_
  

In un ambiente di produzione è consigliabile usare una password lunga e non riutilizzata. Per maggiore sicurezza si può anche cambiare il prefisso delle tabelle, ad esempio usando un valore diverso da wp_.

Scaricare WordPress

WordPress può essere scaricato direttamente dal server usando il pacchetto ufficiale più recente. Questa procedura evita passaggi manuali tramite FTP o copia da un altro computer.

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
  

Dopo l’estrazione, i file saranno disponibili nella directory temporanea:

/tmp/wordpress
  

Installare WordPress nella directory web

Se vuoi installare WordPress come sito principale, puoi copiare i file direttamente dentro /var/www/html. In questo modo il sito sarà raggiungibile da http://localhost o dall’indirizzo IP del server.

Se nella directory web sono presenti vecchi file di test, puoi rimuoverli:

sudo rm -f /var/www/html/index.html
sudo rm -f /var/www/html/info.php
  

Copia WordPress nella directory web:

sudo cp -a /tmp/wordpress/. /var/www/html/
  

Imposta proprietario e permessi:

sudo chown -R apache:apache /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
  

Configurare SELinux su Fedora

Fedora usa SELinux, un sistema di sicurezza che controlla in modo rigoroso l’accesso ai file. Anche se i permessi Linux sembrano corretti, WordPress potrebbe non riuscire a caricare immagini, aggiornare plugin o scrivere file se il contesto SELinux non è adatto.

Applica il contesto corretto alla directory di WordPress:

sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
sudo restorecon -Rv /var/www/html
  

Se in futuro sposterai WordPress in un’altra directory, dovrai modificare il percorso nel comando precedente.

Abilitare i permalink con Apache

WordPress usa il file .htaccess per gestire URL leggibili, permalink personalizzati e riscritture degli indirizzi. Per permettere ad Apache di usare queste regole, è necessario abilitare AllowOverride All sulla directory del sito.

Crea o modifica il file di configurazione dedicato:

sudo nano /etc/httpd/conf.d/wordpress.conf
  

Inserisci questa configurazione:

<Directory /var/www/html>
    AllowOverride All
    Require all granted
</Directory>
  

Riavvia Apache:

sudo systemctl restart httpd
  

Dopo l’installazione, potrai configurare i permalink dal pannello WordPress andando in Impostazioni, poi Permalink.

Aprire il firewall

Se il server deve essere raggiunto da altri dispositivi nella rete locale o da Internet, è necessario consentire il traffico HTTP e HTTPS nel firewall di Fedora.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
  

Per verificare i servizi consentiti:

sudo firewall-cmd --list-services
  

Completare l’installazione dal browser

Apri il browser e visita l’indirizzo del server:

http://localhost
  

Se stai usando un altro computer nella stessa rete, recupera l’indirizzo IP del server:

ip a
  

Poi apri:

http://IP_DEL_SERVER
  

Durante la procedura guidata, WordPress chiederà i dati di connessione al database. Inserisci i valori creati in precedenza:

Nome database: wordpress
Nome utente: wpuser
Password: password_forte_da_cambiare
Host database: localhost
Prefisso tabelle: wp_
  

Nella schermata successiva potrai scegliere il titolo del sito, il nome utente amministratore, la password di accesso e l’indirizzo email dell’amministratore.

Creare manualmente il file wp-config.php

In alcuni casi WordPress potrebbe non riuscire a creare automaticamente il file di configurazione. Se succede, puoi creare manualmente il file partendo dal modello incluso nel pacchetto.

cd /var/www/html
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
  

Modifica i valori del database nel file:

DB_NAME: wordpress
DB_USER: wpuser
DB_PASSWORD: password_forte_da_cambiare
DB_HOST: localhost
  

Dopo la modifica, assicurati che il file appartenga all’utente Apache:

sudo chown apache:apache /var/www/html/wp-config.php
sudo chmod 640 /var/www/html/wp-config.php
sudo restorecon -v /var/www/html/wp-config.php
  

Configurare HTTPS

Per un sito pubblico è fortemente consigliato usare HTTPS. Se il dominio punta già all’indirizzo IP del server, puoi installare Certbot e generare un certificato gratuito.

sudo dnf install -y certbot python3-certbot-apache
sudo certbot --apache
  

Per verificare il rinnovo automatico del certificato:

sudo certbot renew --dry-run
  

Dopo l’attivazione di HTTPS, entra nel pannello WordPress e controlla che gli indirizzi del sito usino https://.

Configurare i permalink

Una volta entrato nella bacheca WordPress, imposta una struttura permalink più leggibile. Una scelta comune è usare il nome dell’articolo.

Bacheca WordPress
Impostazioni
Permalink
Nome articolo
Salva modifiche
  

Se compare un errore 404 sulle pagine interne, controlla nuovamente la configurazione Apache con AllowOverride All e verifica che il file .htaccess sia stato creato nella directory principale di WordPress.

Controllare i log in caso di errore

Se l’installazione non si apre, se compare una pagina bianca o se WordPress non riesce a collegarsi al database, i log sono il primo punto da controllare.

sudo tail -f /var/log/httpd/error_log
sudo journalctl -u httpd -f
sudo journalctl -u mariadb -f
  

Gli errori più comuni riguardano password database errata, moduli PHP mancanti, permessi non corretti o blocchi SELinux.

Problemi frequenti e soluzioni

Se WordPress mostra il messaggio di errore durante la connessione al database, verifica nome database, utente, password e host.

sudo mariadb -u wpuser -p wordpress
  

Se il login al database funziona da terminale ma non da browser, controlla il file wp-config.php e i log di Apache.

Se non riesci a caricare immagini o installare plugin, il problema può essere legato ai permessi o a SELinux:

sudo chown -R apache:apache /var/www/html
sudo restorecon -Rv /var/www/html
  

Se i permalink non funzionano, verifica il file di configurazione Apache:

sudo apachectl configtest
sudo systemctl restart httpd
  

Rendere l’installazione più sicura

Dopo la prima installazione è consigliabile eliminare file di test, usare HTTPS, mantenere WordPress aggiornato e installare solo plugin realmente necessari.

Buone pratiche:
Usare password lunghe e uniche
Aggiornare regolarmente WordPress, temi e plugin
Rimuovere temi e plugin inutilizzati
Limitare gli accessi amministrativi
Usare HTTPS per siti pubblici
Eseguire backup periodici di file e database
Non usare admin come nome utente amministratore
  

Per evitare esposizioni inutili, non lasciare file come info.php nella directory pubblica:

sudo rm -f /var/www/html/info.php
  

Backup dei file e del database

Prima di aggiornamenti importanti o modifiche ai plugin, crea una copia dei file WordPress e del database.

Backup del database:

mysqldump -u wpuser -p wordpress > wordpress-backup.sql
  

Backup dei file:

sudo tar -czf wordpress-files-backup.tar.gz /var/www/html
  

Ripristino del database:

mysql -u wpuser -p wordpress < wordpress-backup.sql
  

Aggiornare WordPress

WordPress può essere aggiornato direttamente dalla bacheca. Prima di procedere, è buona norma effettuare un backup completo. Gli aggiornamenti principali migliorano sicurezza, compatibilità e funzionalità, ma plugin o temi obsoleti possono generare conflitti.

Prima di aggiornare:
Backup database
Backup file
Verifica plugin installati
Verifica tema attivo
Controllo spazio disponibile su disco
  

Per controllare lo spazio libero:

df -h
  

Admin | MST-Tutorial

Appassionato di elettronica, elettrotecnica e programmazione. Fondatore di MST-Tutorial, condivido con entusiasmo conoscenze, esperienze e progetti legati all’innovazione tecnologica, con l’obiettivo di rendere accessibili concetti tecnici complessi attraverso tutorial chiari e pratici.
Pulsante per tornare all'inizio