GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare WordPress con Stack LEMP su Debian 11 Bullseye

WordPress è il sistema di gestione dei contenuti più dominante scritto in PHP, combinato con database MySQL o MariaDB. È possibile creare e mantenere un sito senza una conoscenza preliminare dello sviluppo web o della codifica. La prima versione di WordPress è stata creata nel 2003 da Matt Mullenweg e Mike Little ed è ora utilizzata dal 70% del mercato web noto, secondo W3Tech. WordPress è disponibile in due versioni:l'open source gratuito WordPress.org e WordPress.com, un servizio a pagamento che parte da $ 5 al mese fino a $ 59. L'uso di questo sistema di gestione dei contenuti è facile e spesso visto come un trampolino di lancio per creare un blog o un sito simile in primo piano.

Nel seguente tutorial imparerai come installare WordPress self-hosted utilizzando le ultime versioni di Nginx, MariaDB e PHP disponibili.

Prerequisiti

  • Sistema operativo consigliato: Debian 11 Bullseye
  • Account utente: Un account utente con accesso sudo o root.
  • Pacchetti richiesti: elencati durante il tutorial

Aggiorna sistema operativo

Aggiorna la tua Debian sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:

sudo apt update && sudo apt upgrade -y

Il tutorial utilizzerà il comando sudo e supponendo che tu abbia lo stato sudo .

Per verificare lo stato di sudo sul tuo account:

sudo whoami

Esempio di output che mostra lo stato di sudo:

[joshua@debian~]$ sudo whoami
root

Per configurare un account sudo esistente o nuovo, visita il nostro tutorial su Aggiunta di un utente a Sudoer su Debian .

Per utilizzare l'account root , usa il comando seguente con la password di root per accedere.

su

Installa il pacchetto CURL e UNZIP

Il tutorial utilizza il comando curl e unzip durante alcune parti. Per assicurarti che sia installato, esegui il seguente comando nel tuo terminale:

sudo apt install curl unzip -y

Installa Nginx più recente – (stack LEMP)

Per avviare l'installazione dello stack LEMP, dovrai installare Nginx server web. Un metodo consiste nell'installare l'ultima linea principale o stabile di Nginx dal repository Ondřej Surý per avere il software più aggiornato. Molti utenti di Ubuntu conoscerebbero il suo PPA e tu puoi fare lo stesso in Debian.

Per utilizzare l'ultima versione di Nginx mainline o stable, dovrai prima importare il repository.

Per importare il repository della linea principale:

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

Per importare un repository stabile:

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

Aggiorna il tuo repository per riflettere la nuova modifica:

sudo apt update

Ora che hai installato il repository Nginx e aggiornato l'elenco dei repository, installa Nginx con quanto segue:

sudo apt install nginx-core nginx-common nginx nginx-full

Esempio di output:

Digita Y , quindi premi il TASTO INVIO per procedere e completare l'installazione.

Ora controlla per assicurarti che l'ultimo Nginx dal repository Ondřej Surý sia stato installato utilizzando il comando apt-cache policy . Nota, l'esempio di tutorial installato Nginx Mainline:

apt-cache policy nginx

Esempio di output per Nginx Mainline :

Tieni presente che ti potrebbe essere richiesto di mantenere o sostituire il tuo /etc/nginx/ esistente nginx.conf file di configurazione durante l'installazione. Si consiglia di conservare il file di configurazione corrente premendo (n) .

Installando Nginx con il custom, il repository viene fornito con moduli aggiuntivi compilati, uno dei moduli più ordinati e consigliati da abilitare è il modulo Brotli.

Per installare brotli , apri il tuo nginx.conf file di configurazione:

nano /etc/nginx/nginx.conf

Ora aggiungi le righe aggiuntive prima in HTTP{} sezione:

brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
   application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
   application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
   font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
   image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

Il livello_comp_brotli può essere impostato tra 1 (minimo) e 11 (il massimo) . In genere, la maggior parte dei server si trova nel mezzo, ma se il tuo server è un mostro, imposta su 11 e monitora i livelli di utilizzo della CPU.

Quindi, verifica che le modifiche funzionino correttamente prima di renderle attive:

sudo nginx -t

Se le modifiche funzionano correttamente, dovresti vedere quanto segue:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ora rendi attive le modifiche riavviando il tuo server:

sudo systemctl restart nginx

Quindi, abilita Nginx all'avvio del sistema:

sudo systemctl enable nginx

Infine, verifica che Nginx funzioni correttamente; questo dovrebbe andare bene per saltare se hai eseguito il comando nginx -t e non ho avuto errori.

systemctl status nginx

Esempio di output:

Installa l'ultima versione di MariaDB (LEMP STACK)

Il tutorial consiglierà l'installazione di MariaDB costantemente su MySQL a causa delle prestazioni più di ogni altra cosa.

Per prima cosa, importa il repository ufficiale di MariaDB, 10.6 è l'attuale stabile, ma 10.7 è la nuova versione in uscita ma forse non altrettanto stabile.

Opzione 1 – Importa MariaDB 10.6:

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7 --skip-maxscale --skip-tools

Opzione 2 – Importa MariaDB 10.7:

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7 --skip-maxscale --skip-tools

Dopo aver scelto una versione, aggiorna il tuo repository APT.

sudo apt update

Installa MariaDB su Debian Desktop o Server

Per installare MariaDB, dovrai installare i pacchetti client e server. Questo può essere fatto come segue:

sudo apt install mariadb-server mariadb-client

Esempio di output:

Digita Y , quindi premi il TASTO INVIO per procedere e completare l'installazione.

Conferma l'installazione di MariaDB controllando la versione e build:

mariadb --version

Esempio di output:

mariadb  Ver 15.1 Distrib 10.6.4-MariaDB, for debian-linux-gnu (x86_64) using readline EditLine wrapper

Quindi, avvia il tuo servizio MariaDB eseguendo il seguente comando per avviare e abilitare all'avvio:

sudo systemctl start mariadb && sudo systemctl enable mariadb

Esempio di output in caso di successo:

Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mariadb

Controlla lo stato del server MariaDB

Ora hai installato MariaDB e puoi verificare lo stato del software del database utilizzando il seguente comando systemctl:

systemctl status mariadb

Per impostazione predefinita, troverai lo stato di MariaDB disattivato. Per avviare MariaDB, usa il seguente comando:

sudo systemctl start mariadb

Ora ricontrolla lo stato e dovresti ottenere quanto segue:

Per fermare MariaDB:

sudo systemctl stop mariadb

Per abilitare MariaDB all'avvio del sistema:

sudo systemctl enable mariadb

Per disabilitare MariaDB all'avvio del sistema:

sudo systemctl disable mariadb

Per riavviare il servizio MariaDB:

sudo systemctl restart mariadb

Proteggi MariaDB con lo script di sicurezza

Successivamente, ti verrà richiesto di inserire la tua (password root MariaDB) . Per ora, premi il tasto (INVIO) chiave in quanto la password di root non è ancora impostata come di seguito:

sudo mysql_secure_installation

Quindi, digita (Y) e premi Invio per configurare il (root) password come di seguito:

La prossima serie di domande che puoi tranquillamente premere (INVIO) , che risponderà (Y) a tutte le domande successive che ti chiedono di (rimuovere utenti anonimi, disabilitare il login root remoto e rimuovere il database di test) . Nota il (Y) è in maiuscolo, il che significa che è la risposta predefinita quando si preme il tasto (INVIO) chiave.

Esempio sotto:

[joshua@debian-11 ~]$ sudo mariadb-secure-installation

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!

Panoramica di ciò che avrebbe dovuto essere fatto sopra:

  • Impostazione della password per root conti.
  • Rimozione degli account root accessibili dall'esterno dell'host locale.
  • Rimozione degli account di utenti anonimi.
  • Rimozione del database di test, a cui per impostazione predefinita possono accedere utenti anonimi.

Questo passaggio è essenziale per la sicurezza del database MariaDB e non deve essere modificato o ignorato a meno che tu non sappia cosa stai facendo.

Installa l'ultimo PHP (LEMP STACK)

L'ultima parte del tutorial sarà l'installazione di PHP, che è il backend che comunica tra Apache e MariaDB, l'intermediario. PHP 8.0 sta diventando relativamente stabile e sono ora disponibili le versioni più recenti di PHP 8.1.

Il tutorial si concentrerà sull'importazione dell'ultima versione PHP di Ondřej Surý, il manutentore di Debian PHP. Questo è sempre aggiornato anche quando le nuove versioni di PHP vengono eliminate.

Importa il repository PHP di Ondřej Surý

Il primo passaggio consiste nell'importare e installare il GPG e il repository.

Nel tuo terminale, usa il seguente comando.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Questo comando installerà il repository PHP e aggiornerà il tuo repository APT.

Quindi, aggiorna l'elenco dei repository poiché il nuovo repository richiederà l'aggiornamento di alcuni pacchetti esistenti e si consiglia di farlo prima di installare qualsiasi versione di PHP.

sudo apt upgrade

Opzione 1. Installa PHP 7.4

Ora puoi procedere all'installazione di PHP 7.4 per le tue esigenze particolari come segue:

sudo apt install php7.4-fpm php7.4-cli php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-mcrypt php7.4-curl php7.4-json php7.4-opcache php7.4-readline php7.4-xml php7.4-gd -y

Verifica l'installazione e verifica la versione e la build:

php -v

Esempio di output:

Quindi, avvia e abilita l'avvio automatico di PHP 7.4-FPM all'avvio.

sudo systemctl start php7.4-fpm && sudo systemctl enable php7.4-fpm

Ora, per impostazione predefinita, PHP-FPM dovrebbe essere in esecuzione. Per confermare, usa il seguente comando systemctl:

sudo systemctl status php7.4fpm

Esempio di output:

Opzione 2. Installa PHP 8.0

Ora puoi procedere all'installazione di PHP 8.0 per le tue esigenze particolari come segue:

sudo apt install php8.0-fpm php8.0-cli php8.0-common php8.0-mbstring php8.0-xmlrpc php8.0-soap php8.0-gd php8.0-xml php8.0-intl php8.0-mysql php8.0-cli php8.0-ldap php8.0-zip php8.0-mcrypt php8.0-curl php8.0-opcache php8.0-readline php8.0-xml php8.0-gd unzip -y

Verifica l'installazione e verifica la versione e la build:

php -v

Esempio di output:

Ora, per impostazione predefinita, PHP-FPM dovrebbe essere in esecuzione. Per confermare, usa il seguente comando systemctl:

sudo systemctl status php8.0-fpm

Esempio di output:

Installa il backend di WordPress

Scarica WordPress

Visita la pagina di download di WordPress.org e scorri verso il basso per trovare latest.zip Link per scaricare. Quindi utilizzando il comando wget scarica il file.

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

Crea una struttura di cartelle per WordPress

Ora che hai scaricato l'archivio, procedi a decomprimerlo e spostalo nella tua directory www.

Crea la directory per WordPress:

sudo mkdir -p /var/www/html/wordpress

Decomprimi WordPress nella directory www:

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

Devi impostare le autorizzazioni del proprietario della directory su WWW altrimenti avrai problemi con i permessi di scrittura di WordPress.

Imposta l'autorizzazione chown (importante):

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

Imposta l'autorizzazione chmod (importante):

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

Crea database per WordPress

WordPress richiede un database per funzionare, quindi perché è stato necessario installare MariaDB. Prima di continuare oltre, è necessario creare un database per WordPress utilizzando MariaDB. Per prima cosa, apri la console del terminale e digita quanto segue.

Richiama la shell MariaDB come root:

sudo mariadb -u root

Secondo comando alternativo:

sudo mysql -u root

Quindi, crea il database. Questo può essere qualsiasi nome tu voglia. Per la guida, la chiamerai "WORDPRESSDB."

Crea database WordPress:

CREATE DATABASE WORDPRESSDB;

Dopo aver creato il database, dovresti creare un nuovo utente per il nuovo sito di WordPress.

Questo viene fatto come misura di sicurezza, quindi ogni database ha un utente diverso. Se un nome utente è compromesso, l'attaccante non accede a tutti i database dell'altro sito web.

Crea l'utente del database di WordPress:

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

Sostituisci WPUSER e PASSWORD con qualsiasi nome utente o password desideri. Non copiare e incollare l'utente/passo predefinito sopra per motivi di sicurezza.

Ora assegna all'utente appena creato l'accesso al database del sito Web di WordPress solo di seguito.

Assegna database all'account utente WordPress creato:

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

Una volta completate tutte le impostazioni di configurazione del database, è necessario svuotare i privilegi per rendere effettivi e uscire.

Privilegi di risciacquo:

FLUSH PRIVILEGES;

Esci da MariaDB:

EXIT;

Imposta i file di configurazione di WordPress

Devi impostare alcune impostazioni in wp-config-sample.php file. Di seguito, vedrai come rinominare il file di esempio e inserire le informazioni richieste.

Innanzitutto, rinomina il file di configurazione.

Vai alla directory di WordPress:

cd /var/www/html/wordpress/

Rinomina file di configurazione:

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

Usando un editor di testo, apri il file wp-config.php appena rinominato. Nel nostro esempio useremo nano.

sudo nano wp-config.php

Successivamente, inserirai il nome del database, l'account utente con una password, l'indirizzo IP dell'host se diverso da localhost.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 
define( 'DB_NAME', 'wordpressdb' );
/* MySQL database username */ 
define( 'DB_USER', 'wpuser1' );
/* MySQL database password */
define( 'DB_PASSWORD', 'YOUR PASSWORD' );
/* 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', '' );

Mentre sei in questo file, l'aggiunta di impostazioni extra renderà più facile la gestione del tuo WordPress, come il salvataggio diretto dei file invece di utilizzare FTP e l'aumento dei limiti di dimensione della memoria.

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

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

##change Wordpress database table prefix if wanted##
 $table_prefix = 'wp_';

Imposta le chiavi salt di sicurezza di WordPress

Sarebbe meglio visitare l'API della chiave segreta di WordPress per generare la tua. Il generatore di chiavi salt di indirizzo è disponibile su https://api.wordpress.org/secret-key/1.1/salt/ . Sostituisci le righe di esempio con i codici del generatore.

NON COPIATE L'ESEMPIO QUI SOTTO ED È SOLO PER RIFERIMENTO.

define('AUTH_KEY',         '<3yfS7/>%m.Tl^8Wx-Y8-|T77WRK[p>(PtH6V]Dl69^<8|K86[_Z},+THZ25+nJG');
define('SECURE_AUTH_KEY',  'bN#Qy#ChBX#Y`PE/_0N42zxgLD|5XpU[mu.n&:t4q~hg<UP/b8+xFTly_b}f]M;!');
define('LOGGED_IN_KEY',    'owpvIO-+WLG|,1)CQl*%gP1uDp}s(jUbYQ[Wm){O(x@sJ#T}tOTP&UOfk|wYsj5$');
define('NONCE_KEY',        '8=Vh|V{D<>`CLoP0$H!Z3gEqf@])){L+6eGi`GAjV(Mu0YULL@sagx&cgb.QVCbi');
define('AUTH_SALT',        '%TX*X$GE-;|?<-^(+K1Un!_Y<hk-Ne2;&{c[-v!{q4&OiJjQon /SHcc/:MB}y#(');
define('SECURE_AUTH_SALT', '=zkDT_%}J4ivjjN+F}:A+s6e64[^uQ<qNO]TfHS>G0elz2B~7Nk.vRcL00cJoo7*');
define('LOGGED_IN_SALT',   '{$-o_ull4|qQ?f=8vP>Vvq8~v>g(2w12`h65ztPM(xo!Fr()5xrqy^k[E~TwI!xn');
define('NONCE_SALT',       'a1G(Q|X`eX$p%6>K:Cba!]/5MAqX+L<A4yU_&CI)*w+#ZB+*yK*u-|]X_9V;:++6');

Configurazione del blocco del server Nginx

Ora sei quasi pronto per installare WordPress tramite l'interfaccia utente web. Tuttavia, è necessario configurare il blocco del server Nginx. Le impostazioni seguenti sono piuttosto cruciali. Va notato per sottolineare l'importanza di "try_files $uri $uri/ /index.php?$args;" poiché è spesso un problema con altri tutorial che lasciano il finale ?$args tralasciato, la causa di gravi problemi di salute del sito arriva all'API REST di WordPress.

Innanzitutto, crea un nuovo file di configurazione del server con il seguente comando sostituendo l'esempio con il tuo nome di dominio,

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

Di seguito è riportato un esempio; puoi scegliere le parti; tuttavia, la "posizione ~ \.php$" deve essere nel file di configurazione di Nginx.

NOTA:assicurati di modificare www.example.com e example.com e il percorso principale.

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;

  # assets, media
  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;
  }
  
  # svg, fonts
  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;
  }
}

Nota, se stai utilizzando PHP 8.0 trova e sostituisci la riga sopra "fastcgi_pass unix:/run/php/php7.4-fpm.sock;" a "fastcgi_pass unix:/run/php/php8.0-fpm.sock;" .

Successivamente, dovrai abilitare il file di configurazione di Nginx da "sites-available" . Per fare ciò, creerai un collegamento simbolico a "sites-enabled" come segue.

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

Assicurati di sostituire “example.conf” con il nome del file di configurazione.

Ora puoi eseguire una corsa a secco, quindi riavviare il tuo server Nginx se tutto è a posto.

sudo nginx -t

Dopo aver controllato e tutto è a posto con il test di funzionamento a secco di Nginx, riavvia il servizio Nginx.

sudo systemctl restart nginx

Configurazione PHP.ini

Prima di passare alla parte di installazione dell'interfaccia utente web, dovresti regolare il tuo PHP per un uso ottimale per WordPress. Queste impostazioni sono più di una guida e puoi aumentare, diminuire come meglio credi.

Per prima cosa, apri il tuo php.ini. Tieni presente che la tua posizione potrebbe variare a seconda del numero di versione di PHP.

PHP 7.4:

sudo nano /etc/php/7.4/fpm/php.ini

PHP 8.0:

sudo nano /etc/php/8.0/fpm/php.ini

I file multimediali di WordPress possono essere piuttosto significativi e l'impostazione predefinita può essere troppo bassa. Puoi aumentare questo valore all'incirca a quello che ritieni sarà la dimensione del tuo file più ampia. Trova le seguenti righe di seguito e adatta alle tue esigenze.

##increase upload max size recommend 50 to 100mb## 
 upload_max_filesize = 100MB

##increase post max size recommend 50 to 100mb##
 post_max_size = 100MB

## increase max execution time recommend 150 to 300##
 max_execution_time = 300

## increase GET/POST/COOKIE input variables recommend 5000 to 10000##
max_input_vars = 10000

## increase memory limit recommend 256mb or 512mb##
memory_limit = 256M

Ora riavvia il tuo server PHP-FPM.

PHP 7.4:

sudo systemctl restart php7.4-fpm

PHP 8.0:

sudo systemctl restart php8.0-fpm

Le impostazioni PHP che hai modificato sono per il backend PHP. Dovrai anche modificare il blocco del server Nginx per consentire corporature di grandi dimensioni. Questo viene fatto riaprendo il blocco del server e aggiungendo la seguente riga.

Apri il tuo blocco server.

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

Regola questa linea per aumentare le dimensioni del corpo.

client_max_body_size 100M;

Ricorda, mantieni la dimensione massima del client uguale all'impostazione del file PHP della dimensione massima .

Quindi, prova le modifiche, quindi riavvia il tuo server Nginx se tutto è a posto.

sudo nginx -t

Dopo aver controllato e tutto è a posto con il test di funzionamento a secco di Nginx, riavvia il servizio Nginx.

sudo systemctl restart nginx

Installa WordPress Frontend

Ora che tutte le impostazioni e le configurazioni del backend sono state completate, puoi andare al tuo dominio e iniziare l'installazione.

##go to installation address##
 https://www.yoursite.com
##alternative url##
 https://www.yoursite.com/wp-admin/install.php

La prima pagina che vedrai sta creando un nome utente e una password insieme ad alcuni dettagli del sito. Questo sarà il tuo futuro account di accesso amministratore e potrai modificarlo anche in seguito.

Se stai creando un sito web, abilita "scoraggia fortemente i motori di ricerca dall'indicizzazione" impedisce a Google o Bing o a qualsiasi altro "bot di motori di ricerca affidabile e rispettabile" dall'indicizzazione di un sito Web WIP. Una volta terminato, arriverai alla schermata successiva con un login.

Congratulazioni, hai installato con successo l'ultima versione di WordPress su Nginx con lo stack LEMP.

Proteggi Nginx con il certificato gratuito SSL Let's Encrypt

Idealmente, vorresti eseguire il tuo Nginx su HTTPS utilizzando un certificato SSL . Il modo migliore per farlo è utilizzare Let's Encrypt, un'autorità di certificazione gratuita, automatizzata e aperta gestita dal Internet Security Research Group (ISRG) senza scopo di lucro .

Innanzitutto, installa il pacchetto certbot come segue:

sudo apt install python3-certbot-nginx -y

Una volta installato, esegui il seguente comando per avviare la creazione del tuo certificato:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com

Questa configurazione ideale include reindirizzamenti HTTPS 301 forzati, un'intestazione Strict-Transport-Security e graffatura OCSP. Assicurati solo di adattare l'e-mail e il nome di dominio alle tue esigenze.

Ora il tuo URL sarà HTTPS://www.example.com invece di HTTP://www.example.com .

Se utilizzi il vecchio URL HTTP , reindirizzerà automaticamente a HTTPS .


Debian
  1. Installa WordPress con Nginx su Debian 10/11

  2. Come installare WordPress con Stack LEMP su CentOS 8

  3. Come installare WordPress con Nginx su Debian 10

  4. Come installare MERN Stack con Nginx su Debian 11

  5. Come installare lo stack LEMP su Debian 10 Buster

Come installare phpMyAdmin con Nginx su Debian 11 Bullseye

Come installare WonderCMS con Nginx su Debian 11 Bullseye

Come installare phpBB con LEMP (Nginx, MariaDB e PHP) su Debian 11 Bullseye

Come installare WordPress con lo stack LAMP su Debian 11 Bullseye

Come installare Nginx Google Pagespeed su Debian 11 Bullseye

Come installare lo stack LEMP su Debian 11