GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu 20.04:WordPress con installazione di Nginx

WordPress è un sistema di gestione dei contenuti (CMS) estremamente popolare per i siti web. La sua popolarità e ubiquità non possono davvero essere sopravvalutate, poiché alimenta uno sbalorditivo 35% dei siti Web. È un modo semplice per ottenere un sito Web online e offre molto in termini di personalizzazione.

Ubuntu 20.04 Focal Fossa e Nginx sono la combinazione perfetta per gestire il tuo sito WordPress. L'utilizzo di queste utilità ti darà un sito Web molto potente, efficiente e stabile. Soprattutto, tutto questo software è completamente gratuito e l'installazione non è molto difficile. Segui i nostri passaggi di seguito per vedere come rendere operativo il tuo sito WordPress su Ubuntu 20.04 con Nginx.

Se hai più familiarità o preferisci Apache su Nginx, abbiamo scritto una guida separata per l'installazione di Ubuntu 20.04 WordPress su Apache.

In questo tutorial imparerai:

  • Come installare e configurare Nginx
  • Come installare e configurare MariaDB per MySQL
  • Come configurare un database MySQL per WordPress
  • Come scaricare e installare WordPress
  • Come configurare SSL per il tuo sito WordPress

Esecuzione di un sito Web WordPress su Ubuntu 20.04 con Nginx
Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema Installato Ubuntu 20.04 o aggiornato Ubuntu 20.04 Focal Fossa
Software WordPress, Nginx, PHP, MariaDB (MySQL)
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Installa Nginx, PHP e MySQL

Prima di installare WordPress, il nostro sistema Ubuntu 20.04 avrà bisogno di tre componenti principali per eseguirlo:Nginx, PHP e MySQL. Nginx è per il nostro server web, PHP è per visualizzare contenuti dinamici e MariaDB (un fork open source di MySQL) è per il nostro database. Puoi installare questi pacchetti aprendo un terminale e digitando i seguenti due comandi:

$ sudo apt update
$ sudo apt install nginx mariadb-server mariadb-client php-fpm php-mysql

Configura MySQL

MySQL richiede un po' di configurazione prima di poter iniziare a creare un database. Esaminiamo innanzitutto la configurazione di sicurezza iniziale. Digita il seguente comando nel terminale:

$ sudo mysql_secure_installation

Ti verrà chiesto di impostare una password di root per MySQL e poi alcune domande di sicurezza. Puoi rispondere y (sì) a tutte le domande, quindi l'installazione verrà completata.

Passando attraverso la configurazione della sicurezza di MySQL

Copriamo in modo più approfondito la configurazione di MySQL nel nostro articolo sull'installazione di MySQL su Ubuntu 20.04, anche se la configurazione sopra è davvero tutto ciò che devi fare.

Crea un database per WordPress

Il tuo sito WordPress avrà bisogno di un database per archiviare tutte le informazioni sull'utente, pubblicare contenuti, ecc. Segui questi passaggi per preparare il database e l'utente MySQL:

  1. Avvia MySQL come utente root:
    $ sudo mysql
    
  2. Crea un nuovo database per WordPress:
    MariaDB [(none)]> CREATE DATABASE wordpress_db;
    
  3. Quindi, crea un nuovo utente del database per WordPress. Il my_password il testo seguente deve essere sostituito con la password (sicura) desiderata:
    MariaDB [(none)]> CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'my_password';
    
  4. Ora, dobbiamo concedere al nostro utente WordPress i permessi completi sul database di WordPress:
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@'localhost';
    
  5. Infine, salva le modifiche apportate ai permessi utente ed esci dal database:
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> exit
    

    Creazione del nuovo database e utente per WordPress in MySQL

Configura Nginx

Prima di poter scaricare WordPress, dovremo configurare correttamente Nginx per ospitare il nostro sito web. Chiameremo il nostro sito web "wordpress" all'interno di tutta la configurazione di Nginx, ma puoi scegliere un altro nome se lo desideri.

Innanzitutto, crea un file di configurazione in /etc/nginx/sites-available directory utilizzando nano o il tuo editor di testo preferito:

$ sudo nano /etc/nginx/sites-available/wordpress

Puoi incollare il seguente contenuto nel tuo file appena creato, che è una configurazione Nginx piuttosto standard.

server {
        listen 80;
        listen [::]:80;

        root /var/www/wordpress;

        index index.php;

        server_name 127.0.0.1;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }
}

Ci sono alcune righe qui che potresti dover cambiare. La riga 9 dovrebbe contenere il tuo nome di dominio al posto di 127.0.0.1 , a meno che tu non abbia un nome di dominio. La riga 17 dovrebbe essere aggiornata con il numero di versione del PHP installato. Per verificare la tua versione di PHP, esegui php --version comando nel terminale.

File di configurazione Nginx per il nostro sito WordPress

Una volta apportate le modifiche alla configurazione, è possibile salvare le modifiche in questo file e chiuderlo. Gli ultimi passaggi nella configurazione di Nginx sono eliminare il sito predefinito, abilitare il tuo sito Web e riavviare Nginx per rendere effettive le modifiche:

$ sudo rm /etc/nginx/sites-enabled/default
$ sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
$ sudo systemctl restart nginx

Scarica e installa WordPress

Ora che tutti i prerequisiti sono stati soddisfatti, possiamo finalmente passare all'installazione di WordPress stesso.

  1. In primo luogo, scarica l'ultima versione di WordPress utilizzando wget :
    $ wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
    
  2. Decomprimi l'archivio WordPress scaricato nella directory del sito:
    $ sudo tar -xzvf /tmp/wordpress.tar.gz -C /var/www
    
  3. Cambia la proprietà della directory del sito:
    $ sudo chown -R www-data.www-data /var/www/wordpress
    
  4. Apri il tuo browser Internet e vai a 127.0.0.1 o il tuo nome di dominio completo. Sarai accolto dalla procedura guidata di configurazione di WordPress. Fare clic sul pulsante "Andiamo" per iniziare con la configurazione.

    Pagina di configurazione di WordPress
  5. La schermata successiva ci chiede informazioni sulla configurazione del nostro database. Inserisci i valori impostati in precedenza, quindi fai clic su "Invia". Le ultime due caselle (host del database e prefisso della tabella) possono essere lasciate ai valori predefiniti.

    Inserisci le informazioni del database MySQL per WordPress
  6. WordPress dovrebbe dare conferma di essere in grado di comunicare con il database MySQL. Fai clic su "Esegui l'installazione" per iniziare l'installazione di WordPress.

    WordPress conferma che può connettersi al database MySQL
  7. Ora ti verrà richiesto di compilare alcune informazioni generali sul tuo nuovo sito Web:nome, nome utente amministratore, password, ecc. Compila questo modulo e quindi fai clic su "installa WordPress" in basso.

    Inserisci le informazioni sul tuo nuovo sito WordPress
  8. L'installazione dovrebbe essere completa e puoi accedere al tuo nuovo sito Web per iniziare a creare contenuti!

    L'installazione di WordPress è stata completata con successo

Puoi sempre accedere al pannello di amministrazione di WordPress navigando su http://127.0.0.1/wp-admin (o sostituendo 127.0.0.1 con il tuo nome di dominio completo).

Dashboard di amministrazione di WordPress

Le modifiche apportate nel pannello di amministrazione si rifletteranno sul sito Web:

Il nostro nuovo sito Web WordPress è operativo

Configurazione SSL opzionale

Prima di concludere, ti mostreremo anche come abilitare SSL sul tuo nuovo sito WordPress. Questo è puramente facoltativo, dal momento che il tuo sito funzionerà perfettamente senza di esso, ma offre ulteriore sicurezza e dà agli utenti una sensazione calda e confusa vedendo il lucchetto accanto al tuo nome di dominio nella barra degli URL del loro browser.

  1. Inizia generando un nuovo certificato autofirmato con il comando seguente e rispondendo alle poche domande che ti vengono poste. Per il "nome comune", inserisci l'indirizzo IP del tuo sito web o il nome di dominio completo:
    $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
    

    Compilazione delle informazioni sul certificato SSL
  2. Quindi, crea un nuovo file di configurazione SSL nel seguente percorso:
    $ sudo nano /etc/nginx/snippets/self-signed.conf
    
  3. In questo file, inserisci le seguenti due righe, prima di salvare le modifiche ed uscire dal file:
    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    

    Configurazione dello snippet SSL self-signed.conf
  4. Quindi, dobbiamo creare un altro snippet di configurazione:$ sudo nano /etc/nginx/snippets/ssl-params.conf
  5. Inserisci i seguenti contenuti in questo file, quindi salvalo ed esci. Si noti che poiché stiamo utilizzando un certificato autofirmato, la riga 9 e la riga 10, relative alla pinzatura SSL, sono state commentate. Se non stai utilizzando un certificato autofirmato, decommenta queste due righe.
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256->
    ssl_ecdh_curve secp384r1;                          
    ssl_session_timeout  10m;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;                          
    # ssl_stapling on;                          
    # ssl_stapling_verify on;                          
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    Configurazione dello snippet SSL ssl-params.conf
  6. Quindi, esegui il comando seguente per generare il dhparam.pem file:
    $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
    

    Generazione del file dhparam.pem
  7. Ora che la configurazione SSL è completa, dobbiamo configurare Nginx per utilizzare SSL. Apri il file di configurazione di Nginx che abbiamo creato in precedenza per il nostro sito WordPress:
    $ sudo nano /etc/nginx/sites-available/wordpress
    
  8. All'interno del server block, dobbiamo aggiungere le seguenti quattro righe:
    	listen 443 ssl;
    	listen [::]:443 ssl;
    	include snippets/self-signed.conf;
    	include snippets/ssl-params.conf;
    

    Queste quattro righe sono necessarie per abilitare SSL sul nostro sito WordPress
  9. Salva le modifiche a quel file prima di chiuderlo, quindi riavvia Nginx:
    $ sudo systemctl restart nginx
    

Il tuo sito WordPress sarà ora in grado di utilizzare la crittografia SSL:

Il sito Web WordPress ora utilizza la crittografia SSL (HTTPS).

Conclusione

WordPress è utilizzato da milioni di persone, dalle aziende Fortune 500 ai blogger più piccoli. Utilizza componenti di prima qualità e funziona meravigliosamente su Ubuntu 20.04 Focal Fossa, una combinazione davvero difficile da battere.

In questo articolo, abbiamo visto come installare e configurare Nginx, PHP e MySQL per eseguire un sito Web WordPress. Anche se la configurazione richiede un po' di tempo, ne vale la pena. Nginx è più veloce di altri server Web e WordPress ti offre un sito Web perfetto fin da subito.


Ubuntu
  1. Come installare Nginx con PHP5 e MySQL su Ubuntu 11.10

  2. Installa WordPress su Nginx Ubuntu

  3. Installa phpMyAdmin con Nginx su Ubuntu 18.04 - Processo passo dopo passo?

  4. Ospita WordPress in Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

  5. Installa WordPress con Varnish e Nginx su Ubuntu

Installa WordPress con LEMP Stack su Ubuntu 20.04

Come installare WordPress 5.x con Nginx su Ubuntu 18.04 / Ubuntu 16.04

Come installare WordPress con Nginx su Ubuntu

Installa WordPress con LEMP Stack su Ubuntu 20.04

Come installare WordPress con Nginx in Ubuntu 20.04

Installa WordPress con Nginx su Ubuntu 18.04