WordPress su LAMP
Prerequisiti¶
- Un sistema Rocky Linux 9.x
- privilegi sudo
Introduzione¶
WordPress è un Content Management System (CMS) open source noto per la famosa installazione in 5 minuti. È comunemente distribuito su uno stack LAMP (Linux, Apache, MySQL, PHP). Sebbene siano ampiamente disponibili strumenti efficienti per lo sviluppo locale come XAMPP, Vagrant e wp-env, l'installazione manuale di WordPress su LAMP per lo sviluppo locale rappresenta un valido approccio pratico per i principianti in cerca di maggiori conoscenze.
Questa guida presuppone che abbiate già installato Rocky Linux 9.x, coprendo quindi la parte “L” dello stack LAMP.
Questa guida illustra come installare manualmente WordPress con lo stack LAMP su una macchina Rocky Linux 9. Non si tratta di una guida pronta per la produzione, ma di un punto di partenza su cui basarsi. La configurazione LAMP inclusa in questa guida non è consigliata per nulla al di fuori dello sviluppo locale, se non si adottano prima misure di sicurezza adeguate che richiedono una configurazione aggiuntiva.
Aggiornamento dei pacchetti di sistema¶
Assicuratevi che i pacchetti del sistema siano aggiornati:
sudo dnf upgrade -y
Installare Apache¶
Apache è un server web che servirà il vostro sito WordPress. Installarlo con quanto segue:
sudo dnf install httpd -y
Abilitare l'avvio di Apache all'avvio¶
Dopo aver installato Apache, abilitarlo in modo che si avvii automaticamente all'avvio:
sudo systemctl enable --now httpd
Installazione di MariaDB¶
WordPress memorizza i contenuti dinamici in un database MySQL. MariaDB è un fork open source di MySQL. Installarlo con quanto segue:
sudo dnf install mariadb-server -y
Attivare MariaDB server¶
Dopo aver installato MariaDB, abilitarlo in modo che si avvii automaticamente all'avvio:
sudo systemctl enable --now mariadb
Modulo Sicurezza di MariaDB¶
Eseguire lo script mysql_secure_installation
:
sudo mysql_secure_installation --use-default
Questo script esegue le seguenti operazioni:
Imposta una password di root, se non è già stata impostata.
Rimuove gli utenti anonimi
Disabilita l'accesso a root remoto
Rimuove l'accesso al database di prova
Ricarica i privilegi
Installazione di PHP¶
PHP è il linguaggio di scripting utilizzata per interagire con il database MySQL ed eseguire azioni dinamiche. È molto utilizzato nel core di WordPress, nei temi e nei plugin.
Installare PHP e i pacchetti necessari per connettersi a MySQL:
sudo dnf install php php-mysqlnd php-gd php-xml php-mbstring
Dopo aver installato PHP, è necessario ricaricare Apache per installarlo come modulo Apache e leggere i suoi file di configurazione:
Riavviare Apache¶
sudo systemctl restart httpd
Recuperare e scompattare WordPress¶
Utilizzate curl
per scaricare l'ultima versione di WordPress:
curl -O https://wordpress.org/latest.tar.gz
Utilizzare tar
per estrarre l'archivio scaricato:
tar -xzvf latest.tar.gz
Copiare i file di WordPress nella directory pubblica predefinita di Apache:
sudo cp -r wordpress/* /var/www/html
Impostare l'Owner¶
Rendere Apache il proprietario dei file:
sudo chown -R apache:apache /var/www/html/
Impostare i permessi per i file di WordPress:
Impostare i permessi¶
sudo chmod -R 755 /var/www/html/
Accedere al client MySQL:
Configurare il database¶
sudo mysql -u root -p
Create un nuovo database per il vostro sito web WordPress:
Crea un nuovo database¶
CREATE DATABASE LOCALDEVELOPMENTENV;
Creare un utente con una password per il database:
Note
Si consiglia vivamente di utilizzare una password più forte.
Creare un nuovo utente e una nuova password¶
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
Concedete tutti i privilegi del database di WordPress all'utente appena creato:
GRANT ALL PRIVILEGES ON LOCALDEVELOPMENTENV.* TO 'admin'@'localhost';
Eseguire il flush dei privilegi per garantire l'applicazione delle modifiche
FLUSH PRIVILEGES;
Uscire dal client MySQL:
EXIT;
Configurare Wordpress¶
Copiare il template wp-config-sample.php
e rinominarlo:
sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
Aprire il file wp-config.php
con un editor di testo a scelta:
sudo vi /var/www/html/wp-config.php
Sostituire le impostazioni del database¶
È necessario definire le seguenti costanti nel file wp-config.php
:
define ('DB_NAME', 'LOCALDEVELOPMENTENV');
define ('DB_USER', 'admin');
define ('DB_PASSWORD', 'password');
Configurare il firewall¶
Aprire i servizi HTTP e HTTPS nel firewall:
sudo firewall-cmd --add-service=http --add-service=https
Ricaricare firewalld
per far sì che le modifiche abbiano effetto:
sudo systemctl reload firewalld
Impostazioni di SELinux¶
Per consentire ad Apache l'accesso in lettura e scrittura ai file di WordPress, eseguite questo comando:
chcon -R -t httpd_sys_rw_content_t /var/www/html/
Per consentire ad Apache di effettuare connessioni di rete, eseguire questo comando:
Note
Il flag `-P` rende questa configurazione persistente tra i vari riavvii
setsebool -P httpd_can_network_connect true
Conclusione¶
Per concludere l'installazione, ora dovreste essere in grado di connettervi a WordPress attraverso la rete utilizzando il nome host o l'indirizzo IP privato del server. Ricordate che questa configurazione è destinata principalmente a scopi di sviluppo locale. Per l'uso in produzione, è necessario configurare quanto segue: impostare un nome di dominio, installare un certificato SSL, migliorare la sicurezza del server Apache, mettere a punto la configurazione SELinux e implementare i backup. Tuttavia, seguendo questa guida si è creato un solido punto di partenza per lo sviluppo di WordPress su uno stack LAMP.
Author: Joseph Brinkman
Contributors: Steven Spencer, Ganna Zhyrnova