Come installare WordPress con Nginx su Debian 12 o 11

WordPress è un sistema di gestione dei contenuti (CMS) potente e ampiamente utilizzato che consente agli utenti di creare e gestire siti Web con facilità. Se combinato con lo stack LEMP (Linux, NGINX, MariaDB, PHP), WordPress diventa una piattaforma robusta e ad alte prestazioni per lo sviluppo web. Lo stack LEMP è noto per la sua efficienza, velocità e scalabilità, rendendolo ideale per l'hosting di siti Web WordPress. Le caratteristiche principali di WordPress includono un'interfaccia intuitiva, un ampio ecosistema di plugin, temi personalizzabili e un forte supporto da parte della community.

Per installare WordPress su Debian 12 o 11 con NGINX, MariaDB e PHP, segui questi passaggi. Questa guida riguarderà la configurazione dello stack LEMP, l'installazione di WordPress e le configurazioni essenziali per far funzionare il tuo sito senza intoppi.

Installa LEMP per WordPress

Aggiorna Debian prima di installare LEMP Stack

Prima di installare WordPress, aggiorna il tuo sistema Debian per prevenire potenziali conflitti. Apri il tuo terminale ed esegui:

sudo apt update && sudo apt upgrade

Questo comando aggiorna i pacchetti disponibili e aggiorna il tuo sistema.

Installa i pacchetti necessari

Anche se disponi di alcuni pacchetti essenziali per WordPress, ricontrolla per assicurarti di non averne perso nessuno. Esegui il seguente comando:

sudo apt install curl git wget unzip zip

Questo comando installa o conferma i pacchetti necessari per WordPress.

Installa Nginx – Parte 1 dell'installazione di LEMP

Per configurare uno stack LEMP, è necessario installare Nginx. Esegui questo comando:

sudo apt install nginx

Dopo l'installazione, controlla se Nginx è in esecuzione:

systemctl status nginx

Se il servizio Nginx non è attivo, puoi attivarlo con il seguente comando:

sudo systemctl enable nginx --now

Questo comando garantisce che Nginx venga avviato a ogni riavvio del server, il che è essenziale per uno stack LEMP funzionale.

Nota: è meglio utilizzare l'ultima versione principale di Nginx per ottimizzare le prestazioni di WordPress. Puoi seguire la guida su installazione di Nginx Mainline su Debian Linux per installare la versione più recente. Questa versione offre funzionalità aggiuntive e miglioramenti per migliorare la velocità e le prestazioni generali del tuo sito web.

Configurazione del firewall UFW per Nginx

La configurazione del firewall UFW con il tuo server Nginx è fondamentale per la sicurezza e per consentire l'accesso esterno alle porte web standard. La buona notizia è che Nginx offre profili che semplificano il processo di configurazione di UFW.

Installazione di UFW:

Se non hai ancora installato UFW sul tuo sistema Debian, esegui il comando seguente:

sudo apt install ufw

Attivazione dell'UFW:

Una volta installato, è il momento di attivare UFW. Per impostazione predefinita, UFW blocca tutte le connessioni in entrata consentendo tutte quelle in uscita. Attiva il firewall con:

sudo ufw enable

Visualizzazione dei profili Nginx:

Per verificare i profili Nginx disponibili per UFW, esegui quanto segue:

sudo ufw app list

Dall'output noterai che:

  • Nginx opera sulla porta 80 (HTTP)
  • Nginx Secure opera sulla porta 443 (HTTPS)
  • Nginx Full comprende entrambe le porte

Configurazione di UFW per Nginx:

Se desideri abilitare sia l'accesso HTTP che HTTPS, opta per il profilo completo Nginx:

sudo ufw allow 'Nginx Full'

Tuttavia, i tuoi requisiti potrebbero differire:

Per l'accesso solo HTTPS, scegli il profilo Nginx Secure:

sudo ufw allow 'Nginx Secure'

Accesso solo HTTP, vai con il profilo HTTP Nginx:

sudo ufw allow 'Nginx HTTP'

Puoi creare altre regole UFW per proteggere il tuo server e la configurazione LEMP con WordPress e dovresti investire tempo nel bloccare il tuo server se è esposto al pubblico.

Installa MariaDB – Parte 2 dell'installazione di LEMP

MariaDB, noto per le sue prestazioni migliorate rispetto a MySQL, è il componente del database nello stack LEMP. Se desideri installare una versione specifica di MariaDB dai repository ufficiali di MariaDB.org, fai riferimento alle guide su installazione di MariaDB su Debian. Ciò può ottimizzare ulteriormente le prestazioni di WordPress.

Per installare MariaDB, esegui:

sudo apt install mariadb-server mariadb-client

Dopo l'installazione, controlla lo stato di MariaDB:

systemctl status mariadb

Questo comando visualizza lo stato del servizio di MariaDB ed eventuali errori.

Se MariaDB non è in esecuzione, avvialo con:

sudo systemctl enable mariadb --now

Ciò garantisce che MariaDB venga avviato ad ogni riavvio del sistema, il che è vitale per uno stack LEMP stabile e la configurazione di WordPress.

Proteggi MariaDB con lo script di sicurezza

Per la protezione dei dati, devi proteggere la tua installazione MariaDB. Le nuove installazioni di MariaDB potrebbero avere impostazioni di sicurezza scadenti, esponendole a minacce. Tuttavia, lo script mysql_secure_installation può rafforzare le difese del tuo database.

Esegui lo script di sicurezza:

sudo mysql_secure_installation

Questo script ti guida attraverso diverse configurazioni di sicurezza:

  • Impostando la password di root o optando per unix_socket per la prevenzione dell'accesso non autorizzato.
  • Eliminazione di account utente anonimi per limitare l'accesso al database agli utenti autorizzati.
  • Limitazione dell'accesso remoto per gli account utente root.
  • Rimozione del database di test per evitare accessi non autorizzati e potenziali fughe di dati.

Rispondi attentamente a ogni richiesta; queste impostazioni influiscono profondamente sulla sicurezza del tuo database. Dopo aver completato i passaggi, la configurazione di MariaDB dovrebbe essere sicura e operativa.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Queste misure di sicurezza garantiscono che la tua installazione di MariaDB sia sicura e protetta dalle minacce.

Installa PHP, PHP-FPM – Parte 3 dell'installazione di LEMP

Per uno stack LEMP completo, è necessario installare PHP. PHP funge da ponte tra Nginx e MariaDB, facilitato da PHP-FPM e altri moduli essenziali per WordPress.

Nota: se desideri una versione PHP specifica su misura per le tue esigenze, consulta il nostro guida sull'installazione di PHP su Debian. I nuovi utenti di Linux per ora dovrebbero utilizzare l'impostazione predefinita prima di installare le versioni personalizzate.

Esegui il comando seguente per installare PHP, PHP-FPM e i moduli richiesti:

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

Dopo l'installazione controlla lo stato del servizio PHP, in modo simile a quello che hai fatto per MariaDB e Nginx. Per questo esempio, utilizziamo PHP 7.4:

systemctl status php7.4-fpm

L'output dovrebbe assomigliare a questo:

Nota: la versione PHP-FPM varia con ogni versione stabile di Debian. Se non sei sicuro della tua versione, esegui php -v per scoprirlo.

Configurazione pre-installazione per WordPress con LEMP

Crea la struttura di directory di WordPress

Per installare WordPress sul tuo stack Debian LEMP, puoi farlo scaricamento l'ultima versione dalla pagina di download ufficiale di WordPress.org oppure utilizza il seguente comando per scaricarla direttamente:

wget https://wordpress.org/latest.zip

Una volta scaricato, decomprimi l'archivio nella directory /var/www/html utilizzando il seguente comando:

sudo unzip latest.zip -d /var/www/html/

Successivamente, assicurati che WordPress disponga delle autorizzazioni di scrittura corrette impostando le autorizzazioni del proprietario della directory sull'utente del server web.

Questo può essere fatto con il seguente comando:

sudo chown -R www-data:www-data /var/www/html/wordpress/

Dopo aver impostato l'autorizzazione del proprietario della directory, è necessario impostare le autorizzazioni corrette per le cartelle e i file WordPress utilizzando i seguenti comandi:

Per le cartelle:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

E per i file:

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

L'impostazione delle autorizzazioni corrette per cartelle e file garantisce che l'installazione di WordPress sia sicura e funzioni correttamente.

Creare un database per WordPress

Per eseguire WordPress sul tuo stack Debian LEMP, devi creare un database utilizzando MariaDB. Accedi alla shell MariaDB come root utilizzando il seguente comando:

sudo mariadb -u root

Una volta nella shell MariaDB, crea un nuovo database utilizzando il seguente comando:

CREATE DATABASE WORDPRESSDB;

Successivamente, crea un nuovo account utente per WordPress con il seguente comando:

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

Nota: sostituisci "WPUSER" e "PASSWORD" con il nome utente e la password desiderati.

Infine, assegna all'account utente appena creato l'accesso al database del sito Web WordPress utilizzando solo il seguente comando:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

Dopo aver creato l'account utente, svuota i privilegi per garantire che le nuove modifiche abbiano effetto con il seguente comando:

FLUSH PRIVILEGES;

Infine, esci dalla shell MariaDB digitando:

EXIT;

Imposta i file di configurazione di WordPress

L'impostazione dei file di configurazione di WordPress è un passaggio essenziale nel processo di installazione. Ciò comporta la ridenominazione del file di esempio wp-config.php e l'inserimento dei dettagli di configurazione necessari.

Passare alla directory WordPress utilizzando il seguente comando:

cd /var/www/html/wordpress/

Copia wp-config-sample.php in wp-config.php utilizzando il seguente comando:

sudo cp wp-config-sample.php wp-config.php

Utilizzando un editor di testo, visualizza il file wp-config.php appena copiato:

sudo nano wp-config.php

Successivamente, inserisci il nome del database, l'account utente con una password e l'indirizzo IP dell'host, se necessario.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

define( 'DB_HOST', 'localhost' );

/* Database Charset to use in creating database tables. */

define( 'DB_CHARSET', 'utf8' );

/* The Database Collate type. Don't change this if in doubt. */

define( 'DB_COLLATE', '' );

Oltre a queste impostazioni, puoi anche aggiungere quanto segue al file wp-config.php per migliorare la gestione di WordPress:

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

Il limite di memoria del tuo server dedicato o VPS può variare a seconda della capacità del tuo sistema. È possibile aumentare o diminuire il limite di memoria di 256 MB in piccoli incrementi, ad esempio 128 MB, 256 MB, 512 MB, ecc.

Nota: è importante notare che si consiglia di apportare solo piccole modifiche al limite di memoria per ottenere prestazioni e stabilità ottimali.

Implementazione delle chiavi Salt di sicurezza WordPress

Migliorare la sicurezza della tua installazione WordPress è fondamentale e un modo efficace per raggiungere questo obiettivo è impostare le chiavi salt di sicurezza di WordPress. Queste chiavi fungono da scudo di sicurezza potenziato, rafforzando il tuo sito WordPress contro potenziali minacce e rafforzando l'autenticazione dell'utente e la crittografia dei dati.

Generazione di chiavi Salt di sicurezza

Per produrre le tue chiavi salt di sicurezza, vai all'API della chiave segreta di WordPress: https://api.wordpress.org/secret-key/1.1/salt/. Una volta generate queste chiavi, è fondamentale sostituire le righe segnaposto nel file wp-config.php con le tue chiavi univoche. Questo passaggio rafforza l'autenticazione dell'utente e la crittografia dei dati.

Nota: non utilizzare le righe di esempio fornite qui o altrove, poiché sono a scopo illustrativo. L'utilizzo di chiavi salt preimpostate può esporre il tuo sito a vulnerabilità. Genera sempre chiavi distinte per ogni configurazione di WordPress per garantire una sicurezza ottimale.

Integrazione delle chiavi Salt di sicurezza

Per incorporare le chiavi salt di sicurezza appena generate nel tuo file wp-config.php, apri il file in un editor di testo:

sudo nano /var/www/html/wordpress/wp-config.php

Ora, identifica le righe nel file wp-config.php corrispondenti alle chiavi di esempio. Una volta individuato, sostituisci ciascuna chiave di esempio nel file wp-config.php con le chiavi appena generate. Dopo aver effettuato le sostituzioni necessarie, assicurati di salvare e chiudere il file.

Se stai utilizzando l'editor nano, salva premendo "CTRL+X" seguito da "Y".

Configurazione del blocco server Nginx per l'installazione LEMP di WordPress

La corretta configurazione del blocco server Nginx è vitale per un'installazione perfetta di WordPress tramite l'interfaccia utente web. È essenziale ottenere "try_files $uri $uri/ /index.php?$args;" diritto direttivo. Tralasciare "?$args" può interferire con l'API REST di WordPress. Per evitare potenziali intoppi durante l'installazione, seguire attentamente queste istruzioni.

Crea un nuovo file di configurazione del server per la tua installazione WordPress su Nginx. Sostituisci "example.com" con il tuo nome di dominio effettivo nel seguente comando:

sudo nano /etc/nginx/sites-available/example.com.conf

Affinché Nginx funzioni con PHP, è necessario includere la "location ~ .php$" nel file di configurazione del blocco server. Ecco una configurazione di esempio che puoi utilizzare come riferimento.

Assicurati di modificare il percorso root e i nomi di dominio per adattarli alla tua configurazione:

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

Ricorda, modifica il file di configurazione Nginx di conseguenza se hai installato una versione diversa di PHP o PHP-FPM o se la tua versione Debian utilizza per impostazione predefinita un'altra versione di PHP.

Ad esempio, per PHP-FPM 8.2, modificare la riga fastcgi_pass unix:/run/php/php8.1-fpm.sock; a fastcgi_pass unix:/run/php/php8.2-fpm.sock;. È essenziale che la versione nella configurazione corrisponda a quella del sistema per garantire un funzionamento regolare.

Comprendere il blocco server WordPress Nginx

Per chi è nuovo alla configurazione di Nginx e WordPress, ecco un'analisi dell'esempio del blocco del server:

Impostazioni di base del server:

  • Queste impostazioni definiscono gli aspetti fondamentali del blocco del server, come l'indirizzo IP, la porta su cui Nginx può essere in ascolto e i nomi dei server.
  • La direttiva root punta alla directory primaria contenente i file del sito web.
  • La direttiva indice indica a Nginx di identificare i file indice quando serve il sito.

Impostazioni di posizione:

  • Queste impostazioni includono vari blocchi di posizione che determinano il modo in cui Nginx elabora le richieste per URL diversi.
  • Il blocco di posizione iniziale gestisce le richieste all'URL principale del sito, utilizzando la direttiva try_files.
  • Il blocco di posizione successivo elabora le richieste specifiche per il file WordPress sitemap.xml.

Impostazioni di gestione PHP:

  • Queste impostazioni determinano il modo in cui Nginx elabora i file PHP.
  • La direttiva fastcgi_pass punta alla posizione del file socket PHP-FPM.
  • La direttiva fastcgi_param assegna il valore del parametro SCRIPT_FILENAME alla posizione del file PHP richiesto.
  • Le direttive include inseriscono file di configurazione aggiuntivi per il modulo FastCGI.
  • Direttive come fastcgi_buffer_size e fastcgi_buffers designano la dimensione del buffer per il trasferimento dei dati tra Nginx e PHP-FPM.
  • La direttiva fastcgi_intercept_errors consente a Nginx di acquisire e gestire gli errori PHP.

Impostazioni di compressione Gzip:

  • Queste impostazioni configurano la compressione Gzip, riducendo la dimensione del file consegnato al client.
  • La direttiva gzip attiva la compressione Gzip.
  • Direttive come gzip_comp_level e gzip_min_length determinano rispettivamente il livello di compressione e la dimensione minima del file per la compressione.
  • La direttiva gzip_proxied identifica quali tipi di richiesta sono sottoposti a compressione.
  • La direttiva gzip_types enumera i tipi MIME idonei per la compressione.

Impostazioni della memorizzazione nella cache dei file:

  • Queste impostazioni ottimizzano la memorizzazione nella cache dei file statici, migliorando la velocità del sito web.
  • Il blocco di posizione iniziale stabilisce la durata di scadenza per le risorse e i file multimediali.
  • Il blocco di posizione successivo imposta la scadenza per i font e i file SVG.
  • Direttive come access_log e log_not_found governano la registrazione delle richieste.
  • La direttiva add_header aggiunge l'intestazione Access-Control-Allow-Origin, consentendo il caricamento di font e SVG da domini esterni.

Blocco dei file .htaccess:

  • Questa impostazione limita l'accesso ai file che iniziano con .ht, in genere file di configurazione del server sensibili.

Configurazione del blocco server Nginx con un collegamento simbolico

Per concludere la configurazione del blocco server Nginx, è necessario attivare il file di configurazione dalla directory “sites-available”. Ciò si ottiene creando un collegamento simbolico alla directory "sites-enabled".

Esegui il comando seguente, assicurandoti di sostituire "example.com.conf" con il nome del file di configurazione:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Questo comando stabilisce un collegamento simbolico tra le directory, garantendo a Nginx l'accesso al file di configurazione. Dopo averlo impostato, convalidare la configurazione con:

sudo nginx -t

Se il test non restituisce errori, riavvia Nginx per applicare le modifiche al blocco del server:

sudo systemctl restart nginx

Una volta completati questi passaggi, il tuo sito WordPress dovrebbe ora essere accessibile tramite Nginx.

Configurazione di PHP.ini per prestazioni ottimali di WordPress

La regolazione delle impostazioni PHP è fondamentale per ottenere le migliori prestazioni con WordPress. Per gestire i file multimediali in modo efficiente in WordPress, valuta la possibilità di aumentare la dimensione massima del caricamento, la dimensione del post e il limite di memoria. Potrebbe anche essere necessario modificare il tempo di esecuzione massimo e le variabili di input per evitare potenziali problemi.

Per accedere al tuo file php.ini, usa il terminale. Ricorda, la posizione del file potrebbe variare in base alla versione PHP:

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

Per personalizzare le impostazioni PHP, trova e modifica le seguenti righe nel tuo file php.ini:

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

Dopo aver modificato le impostazioni PHP, è fondamentale riavviare il server PHP-FPM. Ciò garantisce che le nuove configurazioni siano attive, consentendo al tuo sito WordPress di funzionare al meglio.

Aumenta la dimensione massima del corpo del client Nginx Server

Per accogliere caricamenti di file più grandi sul tuo sito WordPress, dovrai modificare il blocco del server Nginx. Ciò garantisce che Nginx possa gestire corpi di richieste HTTP più grandi, il che è essenziale quando si ha a che fare con caricamenti di file di dimensioni considerevoli.

Modifica del blocco server Nginx

Apri il file di configurazione del blocco server e inserisci la seguente riga:

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

Assicurati che il valore di client_max_body_size sia allineato con upload_max_filesize configurato nelle impostazioni PHP.

Riavvio di PHP-FPM

Dopo aver regolato le impostazioni PHP per prestazioni WordPress ottimali, tra cui dimensione di caricamento, dimensione dei post e limite di memoria, è fondamentale riavviare il server PHP-FPM affinché le modifiche abbiano effetto. Il comando esatto per riavviare il server dipende dalla versione di PHP. Se non sei sicuro della tua versione PHP, consulta la documentazione del tuo sistema.

Per versioni PHP diverse, utilizzare i comandi corrispondenti per riavviare PHP-FPM:

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

Installa il front-end WordPress

Dopo aver finalizzato l'impostazione e la configurazione del backend, è il momento di lanciare il front end di WordPress sul tuo dominio. Inizia l'installazione andando al tuo dominio, preceduto da "https://" o "http://". In alternativa, puoi accedere direttamente a "https://www.yoursite.com/wp-admin/install.php".

Questo URL ti indirizza alla procedura guidata di installazione front-end.

Passaggio 1: seleziona la lingua di WordPress

Seleziona la lingua desiderata e clicca "Continua."

Passaggio 2: crea un utente amministratore per WordPress

Successivamente, arriverai a una pagina che ti chiede di inserire il titolo del sito, il nome utente, la password e l'indirizzo email dell'amministratore principale per il sito WordPress.

Per motivi di sicurezza, scegli una password robusta e fornisci un indirizzo email valido. Ricorda che puoi modificare altre impostazioni in seguito nel pannello delle impostazioni di WordPress.

Per coloro che sviluppano il proprio sito e desiderano mantenerlo privato dai motori di ricerca come Google o Bing, esiste un'opzione per "scoraggiare fortemente i motori di ricerca dall'indicizzazione".

Passaggio 3: Procedi e fai clic sul pulsante Installa WordPress

Dopo aver inserito i tuoi dati e le tue preferenze, premi il pulsante “Installa WordPress” pulsante. Un'installazione riuscita ti reindirizzerà alla pagina di accesso.

Passaggio 4: procedi con l'accesso alla pagina di amministrazione di WordPress

Inserisci i tuoi dati di accesso e premi "Accedi". Questa azione ti introdurrà nella dashboard di WordPress, dove potrai creare o importare il tuo sito web.

Passaggio 5: visualizza e modifica il sito WordPress tramite WordPress Admin

La dashboard di WordPress è il tuo centro di comando. Qui puoi creare nuovi post, progettare pagine, gestire temi e plugin e personalizzare l'aspetto, i contenuti e le operazioni del tuo sito.

Con la sua interfaccia intuitiva, la dashboard ti consente di creare rapidamente il tuo sito web, consentendoti di progettare un sito accattivante e professionale con il minimo sforzo.

Ulteriori suggerimenti per WordPress con Nginx

Protezione di WordPress e Nginx con il certificato SSL Let's Encrypt

Migliorare la sicurezza del tuo server web è fondamentale e un modo efficace per raggiungere questo obiettivo è eseguire Nginx su HTTPS utilizzando un certificato SSL. Let's Encrypt offre un'autorità di certificazione gratuita, automatizzata e aperta, semplificando la configurazione dei certificati SSL per il tuo server Nginx.

Installazione di Certbot

Inizia installando il pacchetto certbot con il comando:

sudo apt install python3-certbot-nginx

Generazione del certificato SSL

Dopo aver installato il pacchetto certbot, genera il tuo certificato SSL con quanto segue:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Certbot ti chiederà di inserire la tua email e il nome di dominio durante questo processo. Avrai anche la possibilità di ricevere e-mail dall'EFF. Decidi se aderire in base alle tue preferenze.

Dopo aver installato il certificato, l'URL del tuo sito web passerà da HTTP a HTTPS. I visitatori che accedono al vecchio URL HTTP verranno automaticamente reindirizzati al nuovo URL HTTPS. Questa configurazione garantisce reindirizzamenti HTTPS 301, un'intestazione Strict-Transport-Security e la pinzatura OCSP per una sicurezza di livello superiore.

Impostazione del rinnovo automatico del certificato

Per mantenere valido il tuo certificato SSL, imposta un processo cron per il suo rinnovo automatico. Certbot offre uno script per questo. Prima di finalizzare la configurazione, eseguire un test di prova:

sudo certbot renew --dry-run

Accedi alla configurazione del crontab, inserisci:

sudo crontab -e

Per rinnovare automaticamente il tuo certificato SSL, pianificalo utilizzando un processo cron con il seguente comando:

00 00 */1 * * /usr/sbin/certbot-auto renew

Questo tenterà di rinnovare il certificato ogni giorno a mezzanotte.

Risoluzione degli errori di sessione PHP

Riscontri problemi di salvataggio della sessione, soprattutto quando usi determinati plugin? La radice del problema potrebbe essere l'errata autorizzazione dell'utente nella directory /var/lib/php/sessions/. Ma non preoccuparti; puoi risolvere questo problema con un comando semplice.

Modifica dei permessi della directory

Esegui il comando seguente per impostare le autorizzazioni corrette:

sudo chown -R www-data:www-data /var/lib/php/sessions/

Questo comando imposta l'utente e il gruppo www-data come proprietari della directory delle sessioni. Di conseguenza, WordPress può scrivere i dati della sessione senza intoppi. Questa regolazione è vitale per il corretto funzionamento del tuo sito WordPress, soprattutto se utilizzi plugin che gestiscono attività automatizzate, come la pubblicazione sui social media.

Affrontare gli errori di sessione PHP è fondamentale per aumentare le prestazioni del tuo sito web e migliorare l'esperienza dell'utente.

Risolvere il ciclo di reindirizzamento HTTPS in WordPress

Se il tuo sito WordPress si ritrova intrappolato in un ciclo di reindirizzamento dopo aver attivato HTTPS, è probabile perché WordPress continua a provare a reindirizzare alla versione HTTPS sicura, ma il ciclo non si completa mai. Per affrontare questo problema, puoi modificare il tuo file wp-config.php con righe di codice specifiche.

Modifica del file wp-config.php

Inserisci le seguenti righe nel tuo wp-config.php:

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

Ecco una ripartizione di ciò che fa ciascuna riga:

  • La prima riga imposta la costante FORCE_SSL_ADMIN su true, garantendo che tutte le pagine di amministrazione utilizzino HTTPS.
  • Il codice successivo controlla se l'intestazione HTTP_X_FORWARDED_PROTO contiene il termine "https". Se trova una corrispondenza, designa la variabile del server HTTPS come "on". Questa azione informa WordPress che la connessione è sicura.

Integrando queste righe nel tuo file wp-config.php, dovresti essere in grado di liberarti dal ciclo di reindirizzamento HTTPS e assicurarti che il tuo sito WordPress funzioni senza intoppi con la sua nuova connessione sicura.

Correggi il ciclo di reindirizzamento del nome di dominio

Un ciclo di reindirizzamento nel tuo sito WordPress a volte può derivare da una mancata corrispondenza tra il nome di dominio specificato nel file wp-config.php e il nome di dominio del tuo sito web. Per risolvere questo problema, dovrai verificare ed eventualmente modificare il nome di dominio nella configurazione.

Controllo del file wp-config.php

Controlla le seguenti righe nel tuo wp-config.php:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Se il nome di dominio non è in linea con il dominio del tuo sito web, correggilo di conseguenza.

Conclusione

Con WordPress installato con successo sul tuo sistema Debian utilizzando lo stack LEMP, puoi sfruttare le sue potenti funzionalità e le sue robuste prestazioni. Aggiorna regolarmente l'installazione di WordPress e i componenti dello stack LEMP per garantire sicurezza e funzionalità ottimali. Goditi la flessibilità e le ampie funzionalità offerte da WordPress e dallo stack LEMP per creare e gestire il tuo sito web.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

Lascia un commento