GNU/Linux >> Linux Esercitazione >  >> Debian

Installa WordPress con Nginx su Debian 10/11

Panoramica

Il seguente post mostrerà i passaggi su come installare WordPress con Nginx su Debian 10 e anche su Debian 11. Su un singolo server Debian installeremo e configureremo lo stack LEMP (Nginx, PHP e MariaDB) e alla fine installeremo ed eseguiremo WordPress. In altre parole, il nostro unico server Debian eseguirà il server web Nginx, il server MariaDB ed eseguirà del tutto WordPress.

WordPress può anche essere configurato ed eseguito su più server separati (server web separato e server database separato). Se hai bisogno di una configurazione del genere (con un database remoto), puoi controllare come configurarla in questo post. Un altro metodo per installare ed eseguire WordPress è con Docker, che è trattato in questo post.

Installa le librerie ei pacchetti necessari

sudo apt install nginx php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl mariadb-server

Una volta completata l'installazione, avvia Nginx e MariaDB se non sono in esecuzione e abilita l'avvio automatico all'avvio.

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

sudo systemctl start mariadb.service

sydo systemctl enable mariadb.service

Configura il database

Avvia e configura il server mariadb con un database, utente e concedere privilegi.

Prima di ciò, per prima cosa si consiglia di eseguire l'installazione sicura:

sudo mysq_secure_installation

Quando ti viene richiesta la modifica della password di root, puoi saltarla, ma dipende da te se devi cambiare la password di root o meno. Con il resto delle domande richieste, puoi andare avanti e andare con l'opzione Sì. Simile come nell'immagine qui sotto:

quindi accedi al server del database e crea il database, un utente e imposta i privilegi

sudo mysql -u root -p


CREATE DATABASE sampledbwp;


GRANT ALL ON sampledbwp.* TO 'sample-admin'@'localhost' IDENTIFIED BY 'SamplePassword1';


quit

Con questi comandi, abbiamo creato il database - sampledbwp, creato l'utente sample-admin su localhost e concesso tutti i privilegi per leggere e scrivere il database che abbiamo appena creato.

Installa e configura WordPress

Passa alla seguente directory e scarica ed estrai l'installazione di WordPress:

cd /var/www/html/

sudo wget https://wordpress.org/latest.tar.gz

sudo tar -xzfv latest.tar.gz

Passa alla directory di wordpress e rinomina il file wp-config-sample.php in wp-config.php

cd wordpress

mv wp-config-sample.php wp-config.php

Ora modifichiamo il file di configurazione di WordPress:

sudo nano wp-config.php

Nel file di configurazione, dobbiamo aggiungere l'utente del database, il nome del database e la password che abbiamo creato sul server MariaDB e aggiungere le chiavi salt da – https://api.wordpress.org/secret-key/1.1/salt/ . Fare riferimento all'immagine di esempio qui sotto:

Salva ed esci.

Imposta le autorizzazioni corrette per l'installazione di WordPress per essere accessibile da Internet:

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

sudo chmod -R 755 /var/www/html/wordpress

Configura Nginx

Passando alla configurazione del server web nginx. Il primo passo è creare il file di configurazione per il nostro sito Web WordPress. Esegui il comando seguente per avviare l'editor di testo:

sudo nano /etc/nginx/sites-available/wordpress.conf

Di seguito troverai la configurazione di esempio:

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

        error_log /var/log/nginx/mysite.com_error.log;
        access_log /var/log/nginx/mysite.com_access.log;
        
        client_max_body_size 100M;
        location / {
                try_files $uri $uri/ /index.php?$args;
        }
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

Salva ed esci.

Nota – Ricontrolla e conferma la radice della tua installazione di wordpress e la versione php-fpm in esecuzione sul tuo server. Quelli devono corrispondere nel file di configurazione.

Alla fine, dovrebbe assomigliare a questo:

La configurazione predefinita rimane ancora in Nginx ed è attiva. Fino alla rimozione, la tua configurazione non avrà luogo, il che significa che il tuo sito Web WordPress non sarà raggiungibile, quindi dobbiamo rimuovere la configurazione predefinita:

sudo rm /etc/nginx/sites-available/default

sudo rm /etc/nginx/sites-enabled/default

Crea il collegamento simbolico per la nostra nuova configurazione wordpress Nginx:

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

Successivamente, ricontrolla la configurazione con:

sudo nginx -t

e riavvia Nginx

sudo systemctl restart nginx

Verifica se WordPress è attivo nel browser accedendo con l'indirizzo IP del server o con l'URL (se hai assegnato il nome di dominio) e completa l'installazione:

E questo è tutto. Ora hai un sito Web WordPress attivo e funzionante.

Alcuni suggerimenti e suggerimenti per la sicurezza

Qui vorrei sottolineare alcuni suggerimenti per un'installazione più sicura e protetta di WordPress e come mantenerlo.

  • Il primo suggerimento è eliminare il file xmlrpc.php

Questo file non è un punto cruciale di WordPress e WordPress può funzionare senza questo file senza problemi. Il file Xmlrpc è stato utilizzato nelle prime fasi di WordPress come servizio, in cui i client di blog si connettono a WordPress tramite xmlrpc per pubblicare nuovi contenuti (in breve). Questo file ora è causa di molti e vari attacchi dannosi (DDoS, forza bruta e così via).

In questo esempio, possiamo eliminare questo file con il comando:

sudo rm /var/www/html/wordpress/xmlrpc.php

Anche una nota:ad ogni aggiornamento/aggiornamento di WordPress, questo file riapparirà, quindi è necessario ripetere l'operazione ogni volta che WordPress viene aggiornato.

  • Elimina wp-config-sample.php

In questo post abbiamo rinominato questo file in wp-config.php. Abbiamo fatto in questo modo poiché abbiamo aggiunto manualmente le credenziali del database affinché WordPress si connettesse al server del database e aggiunto anche le chiavi salt. Questo file riappare anche con ogni aggiornamento/aggiornamento di WordPress e si consiglia di eliminarlo poiché è esposto a molti attacchi dannosi che possono causare la rimozione del tuo sito.

  • Nascondi l'URL di wp-login e aggiungi l'accesso 2FA

Si consiglia vivamente di modificare l'accesso URL predefinito per prevenire attacchi di forza bruta e aggiungere l'accesso con autenticazione a due fattori. Puoi farlo facilmente con plugin come – WPS Hide login e miniOrange 2-Factor. Inoltre ora WordPress ha anche il suo login 2FA per impostazione predefinita.

  • Aggiungi plug-in firewall e non utilizzare account con nome utente admin

Uno dei primi plugin che si consiglia vivamente di installare è un plugin firewall, come Wordfence o Sucuri

Riepilogo

Abbiamo illustrato i passaggi su come installare WordPress con Nginx su Debian 10 e anche su Debian 11. Questo scenario in cui WordPress è servito con il suo database su una singola macchina server è una buona opzione se stai iniziando ora e non hai un budget extra da risparmiare sull'infrastruttura o se sei un principiante che prova WordPress per la prima volta su un hosting cloud/dedicato/VM/VPS o solo per alcuni scopi di test.

Ma uno svantaggio che può causare nel tempo è che se si dispone ancora di questo scenario in produzione, può diventare piuttosto difficile mantenere il server quando è necessario applicare gli aggiornamenti poiché può causare tempi di inattività. Ecco perché è prassi comune avere almeno due server e separare l'installazione di WordPress avendo su un server solo il server web (Nginx o Apache) e l'installazione di WordPress e sull'altro il server di database (MariaDB, MySQL). Puoi controllare il processo di configurazione per questo tipo di ambiente in questo post.

Grazie mille per il tuo tempo...


Debian
  1. Come installare Nginx su Debian 8 (Jessie)

  2. Come installare Nginx su Debian 9 (Stretch)

  3. Come installare Webmin su Debian 10/11

  4. Installa Plone con Nginx su un VPS Debian 8

  5. Come installare WordPress con Nginx su Debian 10

Come installare l'ultimo PHP 8.1 su Debian 11/10

Come installare il server SVN su Debian 11/10

Come installare Nginx con PHP-FPM su Debian 10

Come installare WordPress con Stack LEMP su Debian 11 Bullseye

Come installare WordPress con lo stack LAMP su Debian 11 Bullseye

Come installare phpMyAdmin con Nginx su Debian 11