Vuoi sapere come installare wordpress su stack LEMP? Hai da poco attivato una VPS con nginx e vuoi sapere come configurare al meglio wordpress?
Allora seguimi, in questo articolo ti racconto passo passo come installare wordpress su stack lemp con Ubuntu 18.04, NGINX, MySQL e php.
In questo modo avrai la possibilità di mettere realmente il turbo al tuo blog, utilizzando lo stack del momento : LEMP (Linux, nginx, MySQL e php)
I contenuti dell'articolo
Prerequisiti per il tutorial
Come prerequisito indispensabile devi avere una VPS dedicata con preinstallato lo stack LEMP ovvero Linux (in questo tutorial utilizzo Ubuntu 18.04), nginx, MySQL e php
Se non sai cosa sia lo stack LEMP oppure vuoi sapere come installarlo su VPS dedicata allora ti consiglio questo mio articolo:
Inoltre devi avere un utente (possibilmente non root) con diritti di accesso sudo
Vuoi sapere se le performance del tuo blog wordpress potrebbero essere migliorate? Ti interessa sapere come fare a migrare il tuo blog da Hosting Condiviso a VPS dedicata? Vorresti installare wordpress con nginx per il tuo website?
Configurazione di MySQL
Come prima cosa è necessario configurare MySQL per gestire il database che ospiterà i dati del tuo blog wordpress. La configurazione prevede la creazione del database e dell'utente necessari per il tuo blog.
Accedi quindi a MySQL da riga di comando (shell ssh) tramite il comando:
$ sudo mysql -u root -p
Inserisci la password di root ed accedi alla console mysql.
Come prima cosa verifica che tutto funzioni correttamente, per cui esegui il seguente comando:
mysql > show databases;
Dovresti avere a console la lista dei database presenti sulla tua installazione, procedi quindi alla creazione del nuovo database, che potrai chiamare come vuoi. Per questo tutorial utilizzerò il nome wordpress ma tu puoi scegliere qualsiasi nome.
mysql > CREATE DATABASE wordpress;
Con questo comando hai appena creato il database wordpress, ora procedi con la creazione di un nuovo utente e dei relativi permessi. Anche per l'utente da creare puoi utilizzare qualsiasi nome, io utilizzerò wpuser.
Nota Bene:
Se hai installato MySQL sulla stessa macchina in cui è installato nginx allora dovrai utilizzare un utente del tipo:
wpuser@localhost
altrimenti, se il database l'hai installato su una macchina diversa, l'utente che dovrai creare sarà del tipo:
wpuser@[ip_address_db_server]
Per questo tutorial utilizzerò la prima configurazione, ma considera che è buona pratica non installare il database sulla stessa macchina in cui si installa l'application server o il webserver di riferimento (in questo caso php e nginx).
Procedi quindi con la creazione dell'utente con il comando:
mysql > CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'UnaPasswordForte';
e con la definizione delle grant (permessi) sul database
mysql > GRANT ALL PRIVILEGES ON `wordpress`.* TO `wpuser`@`localhost`;
Termina l'operazione con il comando flush per rendere persistenti le modifiche
mysql > FLUSH PRIVILEGES;
Verifica i privilegi con il comando:
mysql > SHOW GRANTS FOR 'wpuser'@'localhost';
Esci dalla console mysql con il comando
mysql > exit;
Configurazione di php
Ora che hai creato e configurato il database e l'utente che avrà accesso al database, puoi procedere con la configurazione di php specifica per wordpress.
Le estensioni di php per wordpress puoi installarle con il comando:
$ sudo apt update $ sudo apt install php-curl php-gd php-intl $ sudo apt install php-mbstring php-soap php-xml php-xmlrpc php-zip
Al termine dell'installazione dovrai riavviare php-fpm con il comando
$ sudo systemctl restart php7.2-fpm
Ora tutte le estensioni necessarie alla corretta esecuzione di wordpress sono installate sul tuo VPS Linux.
Configurazione di nginx
Terminata la configurazione di php potrai procedere con la configurazione di nginx per l'esecuzione del tuo blog wordpress.
In questo tutorial utilizzerò le seguenti directory per il file di configurazione di nginx e la wwwroot ovvero la home directory del webserver nella quale installare wordpress:
/etc/nginx/sites-available/wordpress => file di configurazione di nginx
/var/wwwroot/html/ => home directory wordpress
Comincia quindi con il creare il file di configurazione di nginx per il blog wordpress, partendo dal file di default già presente nella directory, con il comando:
$ cd /etc/nginx/sites-available/
$ sudo cp default wordpress
disattiva la configurazione di default
$ sudo unlink /etc/nginx/sites-enabled/default
Procedi con la configurazione del file wordpress appena creato
$ sudo nano /etc/nginx/sites-available/wordpress
cerca la riga che contiene la voce index e modificala nel seguente modo:
index index.php index.html index.htm index.nginx-debian.html;
cerca la riga che contiene la voce server_name ed aggiungi il tuo nome dominio:
server_name tuodominio.it www.tuodominio.it;
Cerca la sezione location ed al suo interno modificala come segue :
location / { try_files $uri $uri/ /index.php$is_args$args; }
A questo punto le modifiche principali sono terminate e dovresti poter verificare la correttezza dei file nginx con il comando:
$ sudo nginx -t
Se tutto è ok allora riavvia nginx con il comando:
$ sudo systemctl reload nginx
Download di wordpress
Come installare wordpress su stack lemp : Ci sei quasi, il tuo server è pronto per il download e la configurazione di wordpress, per cui procedi come segue:
$ cd /tmp $ curl -LO https://wordpress.org/latest.tar.gz
Estrai l'archivio
$ tar xzvf latest.tar.gz
Crea il file di configurazione di wordpress come copia del file “sample”
$ cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
Copi i file nella wwwroot di nginx
$ sudo cp -a /tmp/wordpress/. /var/www/html
Modifica il proprietario dei file e delle directory in www-data
$ sudo chown -R www-data:www-data /var/www/html
Imposta i permessi corretti per i file wordpress
$ cd /var/www/html/ $ sudo find . -type f -exec chmod 664 {} + $ sudo find . -type d -exec chmod 775 {} + $ sudo chmod 660 wp-config.php
Ci sei, il download e relativa installazione di wordpress è terminata, ora puoi procedere con la configurazione finale.
Configurazione di wordpress
Ora che hai copiato i file di wordpress nella home directory di nginx puoi procedere con la configurazione finale per rendere live il blog.
Come prima cosa generiamo delle nuove chiavi di sicurezza, lanciando dalla shell il seguente comando :
curl -s https://api.wordpress.org/secret-key/1.1/salt/
Otterrai un output simile a questo
define('AUTH_KEY', 'aaaaaaaaa'); define('SECURE_AUTH_KEY', 'bbbbbbb'); define('LOGGED_IN_KEY', 'cccccccc); define('NONCE_KEY', 'dddddddd'); define('AUTH_SALT', 'eeeeeeee'); define('SECURE_AUTH_SALT', 'fffffffff'); define('LOGGED_IN_SALT', 'ggggggg'); define('NONCE_SALT', 'hhhhhhhh');
Impostante: Non usare i valori che ho inserito io, devi usare i valori che otterrai lanciando il comando da shell
Ora edita il file di configurazione di wordpress con il comando
$ sudo nano /var/www/wordpress/wp-config.php
E copia i valori appena generati nella sezione relativa. Adesso puoi andare a configurare i dati relativi alla connessione con il database MySQL, inserisci quindi i valori di database, username e password che hai creato poco prima:
define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'wpuser'); /** MySQL database password */ define('DB_PASSWORD', 'password');
Ora puoi lanciare il setup finale semplicemente digitando la url del tuo website nel browser
http://tuo_dominio_o_tuo_IP
Seleziona poi la lingua italiana ed inserisci una username, una password ed una mail di riferimento per il tuo account amministrativo. Il gioco è fatto!
Sei ora pronto per accedere al pannello amministrativo del tuo neonato blog wordpress installato su stack LEMP.
Conclusioni
In questo articolo ti ho raccontato e descritto passo passo come installare wordpress su stack LEMP con Ubuntu 18.04, NGINX, MySQL e php. Ricorda che per la corretta esecuzione del tutorial è necessario avere lo stack già installato, se no sai come fare ti dico tutto in questa guida.
Ti è piaciuto il tutorial? Vuoi condividere con me le tue esperienze o le tue perplessità in tema di VPS e stack LEMP? Allora che ne dici di lasciarmi un feedback nei commenti?
1 commento
Pingback: Configurare wordpress per nginx (WP Super Cache, WP Rocket e W3TC)