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

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

Pico è un CMS flat-file open source semplice e veloce scritto in PHP. Ciò significa che non ci sono back-end e database di amministrazione da gestire. Crea semplicemente file .md nella cartella del contenuto e quella diventa una pagina. Pico utilizza il motore di creazione di modelli Twig, per temi potenti e flessibili. Il codice sorgente di Pico è disponibile su Github. In questo tutorial, installeremo Pico CMS con Nginx sul sistema CentOS 7.

Requisiti

I requisiti per eseguire Pico sono:

  • Nginx
  • Versione PHP 5.3.6 o successiva
  • Compositore

Prerequisiti

  • Un 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

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-gd php72w-json php72w-zip php72w-xml php72w-mbstring

Per mostrare PHP compilato nei moduli, puoi eseguire:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controlla la versione PHP:

php --version
# PHP 7.2.19 (cli) (built: Jan 12 2019 12:47:33) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

Avvia e abilita il servizio PHP-FPM:

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

Passaggio 2:installa acme.sh client e ottenere 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 di acme.sh:

acme.sh --version
# v2.8.2

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 certificatichiavi 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

Scarica e installa Nginx dal repository CentOS:

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

Configura NGINX per Pico CMS eseguendo:

sudo vim /etc/nginx/conf.d/pico.conf

E popolare il file con la seguente configurazione:

server {
  
  listen 80;
  listen 443 ssl;
  server_name example.com;
  root /var/www/pico;
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 ~ ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) { deny all; } location / { index index.php; try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PICO_URL_REWRITING 1; } }

Controlla la configurazione di NGINX per errori di sintassi:

sudo nginx -t

Ricarica servizio NGINX:

sudo systemctl reload nginx.service

Passaggio 4:installa Compositore

Installa Composer, il gestore delle dipendenze PHP a livello globale:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Controlla la versione Composer:

composer --version
# Composer version 1.9.0 2019-08-02 20:55:32

NOTA: I comandi di installazione di Composer cambieranno in futuro, quindi controlla https://getcomposer.org/download/ per i comandi più aggiornati se i comandi precedenti non funzionano.

Passaggio 5:installazione di Pico CMS

Crea una directory principale del documento per Pico CMS:

sudo mkdir -p /var/www/pico

Cambia la proprietà del /var/www/pico directory in your_username che avresti dovuto creare prima e dovresti essere loggato come questo utente.

sudo chown -R your_username:your_username /var/www/pico

NOTA: Non dimenticare di sostituire your_username con il nome che hai scelto.

Vai alla directory principale del documento:

cd /var/www/pico

Scarica Pico con il compositore:

composer create-project picocms/pico-composer .

Fornisci la proprietà appropriata:

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

Esegui sudo vim /etc/php-fpm.d/www.conf e imposta l'utente e il gruppo su nginx . Inizialmente, saranno impostati su apache. Corri:

sudo vim /etc/php-fpm.d/www.conf

E imposta utente e gruppo su nginx, come di seguito:

user = nginx
group = nginx

Infine, riavvia il servizio PHP-FPM per rendere effettive queste modifiche:

sudo systemctl restart php-fpm.service

Hai installato correttamente Pico CMS sul server CentOS 7. Ora puoi semplicemente creare la tua cartella dei contenuti nella directory principale di Pico, creare file .md nella directory dei contenuti e quei file diventeranno le tue pagine.

Link

  • http://picocms.org/
  • https://github.com/picocms/Pico

Cent OS
  1. Come installare Nextcloud con Nginx e PHP 7.3 su CentOS 8

  2. Come installare Bludit CMS con NGINX su CentOS 7

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

  4. Come installare Shopware con NGINX e Lets Encrypt su Fedora 30

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

Come installare Vanila Forum e proteggerlo con Lets Encrypt su CentOS 8

Come installare Askbot con Nginx e proteggere con Lets Encrypt su CentOS 8

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

Come installare NEOS CMS con Nginx e Lets Encrypt SSL su Rocky Linux 8

Come installare Shopware con NGINX e Lets crittografare su Debian 9

Come installare MyBB Forum con Nginx e Lets Encrypt su Debian 10