GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare WonderCMS con Nginx e Lets Encrypt SSL su CentOS 7

WonderCMS è un CMS flat file gratuito e open source, pensato per essere estremamente piccolo, leggero e semplice. È costruito con PHP, jQuery, HTML/CSS e sviluppato dal 2008. Non è richiesta alcuna configurazione iniziale. Il processo di installazione è piuttosto semplice:decomprimi e carica 5 file. Tutti i file possono essere facilmente spostati, sottoposti a backup e ripristinati copiando/incollando tutti i file in un'altra posizione. Spostarli su un altro host non richiede alcuna riconfigurazione. WonderCMS inoltre non richiede un database tradizionale/relazionale come MySQL. La tecnologia dei file flat consente a WonderCMS di salvare tutti i dati in un file di testo (file flat) chiamato database.js che è strutturato in formato JSON. In questo tutorial, esamineremo l'installazione e la configurazione di WonderCMS sul sistema CentOS 7 utilizzando Nginx come server Web e, facoltativamente, puoi proteggere il livello di trasporto utilizzando il client Acme.sh e l'autorità di certificazione Let's Encrypt per aggiungere il supporto SSL.

Requisiti

I requisiti per l'installazione e l'esecuzione di WonderCMS sono:

  • PHP versione 7.1 o successiva con le estensioni curl, mbstring e zip.
  • Server Web (Apache con mod_rewrite modulo abilitato, Nginx, IIS).

Prerequisiti

  • Sistema operativo CentOS 7.
  • Un utente non root con sudo privilegi.

Passaggi iniziali

Controlla la tua versione di CentOS:

cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)

Imposta il fuso orario:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:

sudo yum update -y

Installa alcuni pacchetti essenziali necessari per l'amministrazione di base del sistema operativo CentOS:

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release

Passaggio 1:installa PHP e le estensioni PHP necessarie

Imposta il repository YUM di Webtatic:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installa PHP e le estensioni PHP necessarie:

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-zip php72w-mbstring php72w-json

Per mostrare PHP compilato nei moduli, puoi eseguire:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controlla la versione PHP:

php --version

Avvia e abilita il servizio PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Passaggio 2:installa il client acme.sh e ottieni il certificato Let's Encrypt (opzionale)

Proteggere il tuo forum con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere un certificato TLS da Let's Encrypt utilizzeremo il client acme.sh. Acme.sh è un puro software shell UNIX per ottenere certificati TLS da Let's Encrypt con zero dipendenze.

Scarica e installa acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Controlla la versione acme.sh:

acme.sh --version
# v2.8.0

Ottieni RSA e ECC/ECDSA certificati per il tuo dominio/nome host:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Se vuoi certificati falsi per i test puoi aggiungere --staging flag ai comandi precedenti.

Dopo aver eseguito i comandi precedenti, i tuoi certificati e chiavi sarà in:

  • Per RSA :/home/username/example.com directory.
  • Per ECC/ECDSA :/home/username/example.com_ecc directory.

Per elencare i certificati emessi puoi eseguire:

acme.sh --list

Crea una directory in cui archiviare i tuoi certificati. Useremo /etc/letsencrypt directory.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installa/copia i certificati nella directory /etc/letsencrypt.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Tutti i certificati verranno rinnovati automaticamente ogni 60 giorni.

Dopo aver ottenuto i certificati, esci dall'utente root e torna al normale utente sudo:

exit

Passaggio 3:installa e configura NGINX

WonderCMS può funzionare bene con molti popolari software per server web. In questo tutorial, abbiamo selezionato NGINX.

Installa NGINX:

sudo yum install -y nginx

Controlla la versione di NGINX:

nginx -v
# nginx version: nginx/1.12.2

Avvia e abilita il servizio NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Quindi, configura NGINX per WonderCMS. Esegui sudo vim /etc/nginx/conf.d/wondercms.conf e aggiungi la seguente configurazione:

server {
  
  listen 80;
listen 443 ssl; server_name example.com; root /var/www/wondercms;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
index index.php; location / { if (!-e $request_filename) { rewrite ^/(.+)$ /index.php?page=$1 last; } } location ~ database.js { return 403; } location ~ \.php(/|$) {
try_files $uri =404; fastcgi_pass http://127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

Controlla la configurazione di NGINX per errori di sintassi:

sudo nginx -t

Ricarica il servizio NGINX:

sudo systemctl reload nginx.service

Fase 4 - Installa WonderCMS

Crea una directory principale dei documenti per WonderCMS.

sudo mkdir -p /var/www/wondercms

Modifica la proprietà del /var/www/wondercms directory in [jour_username]. The string [jour_username] must be replaced with the name of the Linux user that you are currently logged in.

sudo chown -R [your_username]:[your_username] /var/www/wondercms

Vai alla directory principale del documento:

cd /var/www/wondercms

Scarica e decomprimi il sorgente di WonderCMS:

wget https://github.com/robiso/wondercms/releases/download/2.7.0/WonderCMS-2.7.0.zip
unzip WonderCMS-2.7.0.zip
rm WonderCMS-2.7.0.zip

Sposta i file WonderCMS nella directory principale del documento.

mv wondercms/* . && mv wondercms/.*.
rmdir wondercms

Modifica la proprietà del /var/www/wondercms directory in nginx:

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

Esegui sudo vim /etc/php-fpm.d/www.conf e imposta utente e gruppo su nginx .

sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

Rimuovere il # davanti alla riga dell'utente e del gruppo, nel caso in cui ci sia un # davanti.

Quindi riavvia il servizio PHP-FPM.

sudo systemctl restart php-fpm.service

Apri il tuo sito in un browser web e accedi con la password predefinita admin e successivamente modificare la password predefinita.

Link

  • https://www.wondercms.com/
  • https://github.com/robiso/wondercms

Cent OS
  1. Come installare Nextcloud con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

  2. Come installare Magento 2 con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

  3. Come installare Shopware con NGINX e Lets Encrypt su CentOS 7

  4. Come installare Pico CMS con Nginx e Lets Encrypt su CentOS 7

  5. Installa Automatad CMS con Nginx e Lets Encrypt SSL su CentOS 7

Come installare Drupal 9 con Nginx e Lets Encrypt SSL su Debian 10

Come installare ElkArte Forum con Apache e Lets Encrypt SSL su CentOS 8

Come installare Shopware 6 con NGINX e Lets Encrypt su CentOS 8

Come installare PrestaShop con Apache e Lets Encrypt SSL su CentOS 8

Come installare Moodle con Nginx e Lets Encrypt SSL su Ubuntu 20.04

Come installare Let's Encrypt SSL con Nginx su CentOS 7