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