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

