
Installare WordPress su Fedora è molto semplice. Di recente mi è capitato di aiutare un utente, che era totalmente a digiuno di Linux, ad installare lo stack LAMP ( Linux, Apache, MySQL/MariaDB, PHP ) e WordPress sul suo computer personale in cui girava Fedora 41.
Fedora è una distribuzione Linux sviluppata dalla community e supportata da Red Hat, nota per essere all’avanguardia nelle tecnologie open-source.
WordPress è un CMS (Content Management System) open-source utilizzato per creare e gestire siti web e blog in modo semplice e flessibile.
La sua idea era quella di creare un sito “offline” per fare dei test, senza la necessità di avere un dominio/hosting. Quindi per svolgere l’installazione di WordPress su Fedora, dovremo seguire un paio di passaggi, dall’installazione dei pacchetti necessari fino alla configurazione dei vari servizi che permettono a WordPress di funzionare in modo corretto. Questa guida funziona sia per la versione desktop di Fedora, sia per quella server.
- Prerequisiti
- Installare stack LAMP
- Installare Apache Web Server
- Installare MySQL/MariaDB
- Installare PHP
- Download di WordPress
- Configurazione di SELinux
- Installare WordPress
- Script installazione automatica
Prerequisiti
Come prerequisito principale per eseguire l’installazione di WordPress su Fedora, è la possibilità di accedere come root o di eseguire i comandi come amministratore tramite sudo.
Apriamo dunque il terminale e digitiamo:
sudo dnf update
sudo dnf install curl wget zip unzip
Questi due comandi ci permettono di aggiornare la lista dei software dei nostri repository e di installare dei tool necessari.
Possiamo quindi passare all’installazione di Apache Web Server, su cui andrà a girare la nostra istanza di WordPress.
Installare Apache Web Server
L’installazione di Apache su Fedora, ma come su altra distribuzione Linux, è molto semplice e bastano davvero pochissimi passaggi. La guida è esplicitamente rivolta a chi non ha mai installato un web server e quindi, si spera, non ci siano altri servizi in ascolto sulla porta 80 della propria macchina.
Sempre dal terminale:
sudo dnf install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
Abbiamo dunque installato ed attivato Apache Web Server, che su Fedora viene fornito dal pacchetto httpd ( su Ubuntu et simila il pacchetto si chiama apache2 ).
Prossimo step, sarà l’installazione e la configurazione di MySQL/MariaDB, cioè il database in cui verranno immagazzinate le informazioni, gli accessi, e le configurazioni di WordPress.
Installare MySQL/MariaDB
Oltre all’installazione del database, in questo caso MariaDB, dovremo anche eseguire alcune configurazioni, come la creazione dell’utente e la creazione della tabella.
Sempre dal terminale:
sudo dnf install mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb
Una volta che abbiamo installato ed attivato MariaDB ( che è l’equivalente di MySQL ) possiamo passare dunque alla configurazione, che avviene sempre via terminale. Nei prossimi step dovremo sostituire le seguenti stringhe:
- DB_ROOT_PASS: propria password di root.
- DB_NAME: il nome del database che avrà WordPress. per comodità metterei “wordpress”.
- DB_USER: nome dell’utente database. Per comodità metterei “wordpress”.
- DB_PASS: la password che utilizzerà l’utente DB_USER per operare sul database DB_NAME.
# Diventiamo root per semplificare le attività
sudo -i
# Impostiamo la password per l'utente root che di default è nulla
mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('DB_ROOT_PASS')"
# Facciamo il drop di eventuali utenti vuoti
mysql -e "DROP USER IF EXISTS ''@'localhost'"
# Facciamo il drop di eventuali database di test preinstallati
mysql -e "DROP DATABASE IF EXISTS test"
# Aggiorniamo i permessi
mysql -e "FLUSH PRIVILEGES"
# Creiamo il database
mysql -u root -pDB_ROOT_PASS -e "CREATE DATABASE DB_NAME"
# Creiamo l'utenza che utilizzerà il database
mysql -u root -pDB_ROOT_PASS -e "CREATE USER 'DB_USER'@'localhost' IDENTIFIED BY 'DB_PASS'"
# Abilitiamo il nuovo utente all'utilizzo del database
mysql -u root -pDB_ROOT_PASS -e "GRANT ALL PRIVILEGES ON DB_NAME.* TO 'DB_USER'@'localhost'"
# Aggiornia i permessi
mysql -u root -pDB_ROOT_PASS -e "FLUSH PRIVILEGES"
Eccellente! Abbiamo installato e configurato MariaDB/MySQL sulla nostra macchina Fedora.
Prossimo step, vedrà l’installazione di PHP e delle eventuali librerie che serviranno al corretto funzionamento di WordPress.
Installare PHP
PHP è il linguaggio di programmazione utilizzato da WordPress. In WordPress, PHP è il cuore del sistema: gestisce la logica dell’applicazione, genera dinamicamente le pagine e interagisce con il database MySQL per recuperare e salvare contenuti, rendendo il CMS altamente personalizzabile tramite temi e plugin. Andremo ad installare l’ultima versione di PHP, semplicemente non indicandone la versione. Essendo PHP altamente legato ad Apache, dovremo riavviare anche il servizio di Httpd una volta completata l’installazione.
Sempre dal nostro fidato terminale:
sudo dnf install php php-mysqlnd php-fpm php-json php-xml php-curl php-mbstring php-gd php-intl php-soap php-zip
sudo systemctl restart httpd
Con questo le operazioni di installazione tramite terminale dei pacchetti necessari a WordPress per funzionare correttamente su Fedora dovrebbero essere terminati.
Prossimo step, sarà semplicemente il download del pacchetto italiano di WordPress, direttamente dal sito ufficiale.
Download di WordPress
Per il download di WordPress in lingua italiana abbiamo due strade:
- Scaricare direttamente da questo link -> https://it.wordpress.org/latest-it_IT.zip
- Andare sul sito di WordPress e fare il download diretto da lì.
Una volta scaricato il pacchetto, poco meno di 40MB attualmente, scompattiamo l’archivio ottenendo così la cartella “wordpress”.
Prima di procedere alla vera e propria installazione, ci portiamo avanti con la configurazione SELinux.
Configurazione di SELinux
SELinux (Security-Enhanced Linux) è un modulo di sicurezza per il kernel Linux che implementa un controllo degli accessi basato su policy (MAC, Mandatory Access Control).
Serve a limitare i permessi dei processi e degli utenti, riducendo i rischi di attacchi e accessi non autorizzati, migliorando la sicurezza del sistema.
Su Fedora, con SELinux attivo, i processi hanno restrizioni specifiche per la sicurezza. Per impostazione predefinita, Apache (httpd) non può effettuare connessioni di rete in uscita, il che può impedire a WordPress di scaricare aggiornamenti, temi, plugin o connettersi a servizi esterni.
Apriamo quindi il terminale e lanciamo:
sudo setsebool -P httpd_can_network_connect on
Ultimo step rimanente è la configurazione e l’installazione di WordPress.
Installare WordPress
Spostiamoci nella cartella “wordpress” estratta precedentemente. in questa cartella dovrebbe esserci un file wp-config-sample.php. Rinominiamo questo file in wp-config.php ed apriamolo con il nostro editor di testo preferito ( nano, gnome, vscode, etc etc.. ).
Cerchiamo le seguenti righe:
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
/** Database username */
define( 'DB_USER', 'username_here' );
/** Database password */
define( 'DB_PASSWORD', 'password_here' );
Modifichiamo questi parametri inserendo i dati che abbiamo scelto precedentemente. Una volta sostituiti ‘database_name_here’, ‘username_here’ e ‘password_here’, salviamo il file ed apriamo il terminale. Andremo quindi a copiare il contenuto della cartella ‘wordpress’ all’interno del web server di Apache.
# Spostiamoci dentro la cartella di WordPress
cd ~/Scaricati/wordpress
# Copiamo tutti i file e tutte le cartelle in /var/www/html
sudo cp -r * /var/www/html
# Impostiamo quale utente del sistema può accedere ai file
sudo chown -R apache:apache /var/www/html
# Impostiamo i permessi a cartelle e file
sudo chmod -R 755 /var/www/html
Andando su http://localhost/ dal nostro browser preferito, riceveremo il benvenuto della schermata di configurazione di WordPress!
Congratulazioni 🎉🎉🎉🎉🎉
Ora basta seguire attentamente quello che viene richiesto, come nome del sito, dati dell’utente di amministrazione di WordPress ed il gioco è fatto!
Script di installazione automatica
Arriviamo quindi alla parte divertente. Ma se volessimo installare tutto con uno script, senza dover configurare a mano tutto?
Ho creato quindi uno script che permette di installare lo stack LAMP e WordPress senza troppo fronzoli. Lo script è possibile trovarlo sul mio GitHub personale -> LINK
Basterà scaricare il progetto e rinominare il file .env-sample in .env. Sempre in questo file andremo ad impostare quei famosi parametri:
- DB_NAME
- DB_USER
- DB_PASS
- DB_ROOT_PASS
Avviamo l’eseguibile come root o tramite sudo e scegliamo di installare WordPress. Lo script permette anche di rimuovere lo stack LAMP e WordPress.
Happy dev!