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 .