WordPress è di gran lunga la piattaforma di blogging e CMS open source più popolare che alimenta oltre un quarto dei siti Web del mondo. Si basa su PHP e MySQL e racchiude un sacco di funzionalità che possono essere estese con plugin e temi gratuiti e premium. WordPress è il modo più semplice per creare il tuo negozio online, sito web o blog.
In questo tutorial, ti mostreremo come installare WordPress su una macchina Ubuntu 18.04. È un processo abbastanza semplice che richiede meno di dieci minuti per essere completato.
Useremo uno stack LEMP con Nginx come server web, certificato SSL, l'ultimo PHP 7.2 e MySQL/MariaDB come server di database.
Prerequisiti #
Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:
- Hai un nome di dominio che punta all'IP pubblico del tuo server. Useremo
example.com
. - Sei loggato come utente con privilegi sudo.
- Hai installato Nginx seguendo queste istruzioni.
- Un certificato SSL installato per il tuo dominio. Puoi installare un certificato SSL Let's Encrypt gratuito seguendo queste istruzioni.
Aggiorna l'indice del pacchetto e i pacchetti di sistema alle ultime versioni:
sudo apt update
sudo apt upgrade
Creazione del database MySQL #
WordPress utilizza il database MySQL per archiviare tutti i suoi dati. Il nostro primo passo è creare un database MySQL, un account utente MySQL e concedere l'accesso al database.
Se non hai già MySQL o MariaDB installato sul tuo server Ubuntu puoi installarlo seguendo una delle istruzioni seguenti:
- Installa MySQL su Ubuntu 18.04
- Installa MariaDB su Ubuntu 18.04
Accedi alla shell MySQL digitando il seguente comando e inserisci la password quando richiesto:
mysql -u root -p
Dall'interno della shell MySQL, esegui le seguenti istruzioni SQL per creare un database denominato wordpress
, utente denominato wordpressuser
e per concedere tutte le autorizzazioni necessarie all'utente:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
FLUSH PRIVILEGES;
EXIT;
Dopo aver eseguito i comandi precedenti, avrai un nuovo database MySQL e un nuovo account utente, che verrà utilizzato dalla tua istanza di WordPress.
Installazione di PHP #
PHP 7.2, che è la versione PHP predefinita in Ubuntu 18.04, è completamente supportato e consigliato per WordPress.
Per installare PHP e tutte le estensioni PHP richieste, esegui il comando seguente:
sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
Abbiamo installato PHP-FPM perché useremo Nginx come server web.
Il servizio PHP-FPM si avvierà automaticamente al termine del processo di installazione.
Download di Wordpress #
Prima di scaricare l'archivio di Wordpress, crea prima una directory che conterrà i nostri file WordPress:
sudo mkdir -p /var/www/html/example.com
Il nostro prossimo passo è scaricare l'ultima versione di WordPress dalla pagina di download di WordPress usando il seguente comando wget:
cd /tmp
wget https://wordpress.org/latest.tar.gz
Una volta completato il download, estrai l'archivio di WordPress e sposta i file estratti nella directory principale dei documenti del dominio:
tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/example.com/
Infine dobbiamo impostare i permessi corretti in modo che il server web possa avere pieno accesso ai file e alle directory del sito.
Poiché sia Nginx che PHP funzionano come www-data
utente e gruppo, per impostare la proprietà corretta eseguire il seguente comando chown:
sudo chown -R www-data: /var/www/html/example.com
Configurazione di Nginx #
A questo punto dovresti già avere Nginx con certificato SSL installato sul tuo sistema, in caso contrario controlla i prerequisiti per questo tutorial.
Per creare un nuovo blocco server per la nostra istanza WordPress utilizzeremo la ricetta Nginx dal sito ufficiale di Nginx.
Apri il tuo editor di testo e crea il seguente file:
/etc/nginx/sites-available/example.com# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/html/example.com;
index index.php;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
Non dimenticare di sostituire example.com con il tuo dominio Wordpress e impostare il percorso corretto per i file del certificato SSL. Gli snippet utilizzati in questa configurazione vengono creati in questa guida.
Abilita il blocco del server creando un collegamento simbolico a sites-enabled
directory:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Prima di riavviare il servizio Nginx fai un test per assicurarti che non ci siano errori di sintassi:
sudo nginx -t
Se non ci sono errori, l'output dovrebbe essere simile a questo:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
e puoi riavviare Nginx digitando:
sudo systemctl restart nginx
Completamento dell'installazione di WordPress #
Ora che Wordpress è stato scaricato e la configurazione del server è completa, possiamo completare l'installazione tramite l'interfaccia web.
Apri il browser, digita il tuo dominio e apparirà una schermata simile alla seguente:
Seleziona la lingua che desideri utilizzare e fai clic su Continue
pulsante.
Successivamente, vedrai la seguente pagina di informazioni, fai clic su Let's go!
pulsante.
Nella schermata successiva, la procedura guidata di configurazione ti chiederà di inserire i dettagli della connessione al database. Inserisci l'utente MySQL e i dettagli del database che hai creato in precedenza.
Avvia l'installazione facendo clic su Run the Installation
pulsante.
Nel passaggio successivo, dovrai inserire un nome per il tuo sito WordPress e scegliere un nome utente (per motivi di sicurezza non inserire "admin").
Il programma di installazione genererà automaticamente una password complessa per te. Non dimenticare di salvare questa password. Puoi anche impostare la password da solo.
Inserisci il tuo indirizzo email e seleziona se vuoi scoraggiare i motori di ricerca dall'indicizzare il sito (sconsigliato).
Fai clic su Install WordPress
e una volta completata l'installazione verrai indirizzato a una pagina che ti informa che WordPress è stato installato. Per accedere al modulo di accesso di WordPress, fai clic su Log in
pulsante.
Inserisci il tuo nome utente e password e clicca su Log in
pulsante.
Una volta effettuato l'accesso, verrai reindirizzato alla dashboard di amministrazione di WordPress.
Da qui, puoi iniziare a personalizzare la tua installazione di WordPress installando nuovi temi e plugin.