GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare WonderCMS con Nginx su Debian 11 Bullseye

WonderCMS è un sistema di gestione dei contenuti veloce e diretto che non richiede database per creare siti web. Offre funzionalità avanzate come URL di accesso personalizzato, design SEO friendly con elementi WYSIWYG per la modifica del tuo sito in formato testo normale o codice HTML; framework CSS flessibile in modo da poter cambiare l'aspetto delle singole pagine senza influire su altre parti della pagina Web, inclusi titoli/dimensioni dei caratteri, ecc. Insieme al supporto nativo per il markdown, che consente agli utenti di pubblicare articoli online utilizzando solo paragrafi.

Nel seguente tutorial imparerai come installare WonderCMS usando Nginx e PHP insieme a importare repository aggiornati o usare la versione predefinita e come creare un blocco server e configurarlo usando il terminale della riga di comando su Debian 11 Bullseye desktop o server.

Installa Nginx

Per avviare l'installazione, 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 gli utenti che desiderano utilizzare solo la versione APT predefinita di Debian di Nginx, utilizzare il comando seguente o saltare e importare l'ultima linea principale o stabile di NGINX.

Installa Nginx – Debian 11 Repository

sudo apt install nginx nginx-full

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

Importa UN SOLO REPOSITORY!

Opzione 1 – Importa repository mainline:

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

Opzione 2 – Importa 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 -y

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

L'installazione di Nginx con il repository personalizzato include 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 --now

Installa PHP e PHP-FPM

Ora stiamo installando PHP, che è il comunicatore di back-end o 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 repository PHP 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

L'impostazione predefinita di molte versioni PHP minime di CMS è l'installazione di PHP 7.4. Sebbene sia considerato incredibilmente stabile, idealmente dovresti installare PHP 8.0, se possibile, per vantaggi in termini di prestazioni e sicurezza.

Nel tuo terminale, esegui il seguente comando.

sudo apt install php7.4 php7.4-fpm php7.4-mbstring php7.4-curl php7.4-zip

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

sudo systemctl enable php7.4-fpm --now

Opzione 2. Installa PHP 8.0

La maggior parte degli utenti dovrebbe installare PHP 8.0 per le proprie applicazioni web con 7.4 considerato vecchio stabile, simile a 7.4 nel tuo terminale; eseguire il comando seguente.

sudo apt install php8.0 php8.0-fpm php8.0-mbstring php8.0-curl php8.0-zip

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

sudo systemctl enable php8.0-fpm --now

Opzione 3. Installa PHP 8.1

La terza opzione è installare PHP 8.1, l'ultima versione al momento di questo tutorial. Simile a 8.0 e 7.4, esegui il seguente comando per installare PHP 8.1 per WonderCMS.

sudo apt install php8.1 php8.1-fpm php8.1-mbstring php8.1-curl php8.1-zip

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

sudo systemctl enable php8.1-fpm --now

Installa WonderCMS

Scarica WonderCMS

Per prima cosa, scarica il pacchetto archivio WonderCMS visitando la pagina di download ufficiale per prendere il collegamento più recente e scaricarlo utilizzando il comando del terminale con wget o curl comando.

Esempio:

wget https://github.com/robiso/wondercms/releases/download/3.3.1/wondercms-331.zip

Crea una struttura di cartelle per WonderCMS

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

Crea la directory per WonderCMS:

sudo mkdir -p /var/www/wondercms

UnzipWonderCMS nella directory www:

sudo unzip wondercms*.zip -d /var/www/

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

Imposta autorizzazione chown (importante):

sudo chown -R www-data:www-data /var/www/wondercms/

Imposta l'autorizzazione chmod (importante):

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

Crea configurazione blocco server Nginx

La fase successiva consiste nel creare il blocco server per WonderCMS per i nuovi utenti di Nginx; questo è il file di configurazione del sito Web per l'applicazione Web sul back-end, lo stesso dell'host virtuale per gli utenti che migrano da applicazioni Web di tipo Apache.

Innanzitutto, crea un blocco server utilizzando il comando seguente, assicurati di sostituire example.com con il tuo nome di dominio o nome di tua scelta.

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;
        # adapt to your server name
        server_name www.wonder-example.com;
        # adapt the path
        root /var/www/wondercms;
        index index.php;
        # prevent directory listing
        autoindex off;

        # rewrite url to make it pretty
        location / {
            try_files $uri $uri/ @rewrite;
        }
            location @rewrite {
            rewrite ^/(.+)$ /index.php?page=$1 last;
        }

        # prevent access to database.js
        location ~ database.js {
            return 403;
        }

        location ~ cache.json {
            return 403;
        }

        # use php-fpm for dealing with php files

location ~ \.php$ {
      fastcgi_pass unix:/run/php/php8.1-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; 
        }
    }

Nota, se stai utilizzando PHP 8.xx 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;" per 8.0 o "fastcgi_pass unix:/run/php/php8.1-fpm.sock;" per 8.1.

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.com.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 WonderCMS. Queste impostazioni sono più di una guida e puoi aumentare e 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.

sudo nano /etc/php/{version}/fpm/php.ini

Successivamente, idealmente, puoi migliorare ulteriormente il tuo CMS regolando alcune delle impostazioni seguenti. Nota che se hai una bassa risorsa 1VCPU, 1 GB, non farai molto. Tuttavia, le impostazioni seguenti sono solo una guida, fai qualche ricerca o usale e aggiustala.

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

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

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

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

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

Ora riavvia il tuo server PHP-FPM.

sudo systemctl restart php{version}-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 .

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 WonderCMS WebUI

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

La prima pagina che vedrai è una password temporanea e il pulsante di accesso.

Fai clic su Accedi per procedere.

Esempio:

Inserisci la tua password per continuare a utilizzare la password disponibile nella pagina di accesso Benvenuto al tuo sito web. Se hai dimenticato o non hai copiato, fai clic su Indietro e copia nuovamente, quindi accedi nuovamente.

Esempio:

Una volta effettuato l'accesso, raggiungerai la tua pagina CMS che assomiglia alla pagina di accesso originale, non lasciarti ingannare; questa è una pagina di modifica aperta. Nella parte superiore, vedrai le impostazioni di modifica e questo è altamente consigliato per proteggere ulteriormente il tuo sito Web.

Esempio (fai clic sull'immagine per ingrandire) :

Una volta aperta la pagina delle impostazioni, da qui puoi regolare le impostazioni di sicurezza dei plugin e iniziare praticamente a personalizzare il back-end del tuo sito web prima di accedere all'editor di pagine di WonderCMS.

Esempio (fai clic sull'immagine per ingrandire) :

Congratulazioni, hai installato con successo l'ultima versione di WonderCMS con Nginx e PHP.

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 .

Facoltativamente, puoi impostare un processo cron per rinnovare automaticamente i certificati. Certbot offre uno script che lo fa automaticamente e puoi prima testare per assicurarti che tutto funzioni eseguendo una corsa a secco.

sudo certbot renew --dry-run

Se tutto funziona, apri la finestra di crontab usando il seguente comando da terminale.

sudo crontab -e

Quindi, specifica l'ora in cui dovrebbe rinnovarsi automaticamente. Questo dovrebbe essere controllato almeno quotidianamente e, se il certificato deve essere rinnovato, lo script non aggiornerà il certificato. Se hai bisogno di aiuto per trovare un buon momento per impostare, usa il crontab.guru strumento gratuito.

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

Debian
  1. Come installare Phorum con Nginx su Debian 9

  2. Come installare HTTP Git Server con Nginx su Debian 11

  3. Come installare Ghost su Debian con Nginx

  4. Come installare FuelPHP con Nginx su un VPS Debian 8

  5. Come installare WonderCMS con Nginx su Debian 11

Come installare WordPress con Stack LEMP su Debian 11 Bullseye

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

Come installare Nginx con Let's Encrypt TLS/SSL su Debian 11 Bullseye

Come installare phpMyAdmin con Nginx su Debian 11

Come installare Nginx con PHP-FPM su Debian 11

Come installare Debian 11 Bullseye {Guida con schermate}