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. Devi semplicemente creare file .md nella cartella dei contenuti e questa 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 Debian 10 (buster).
Requisiti
I requisiti per eseguire Pico sono:
- Nginx
- Versione PHP 5.3.6 o successiva
- Compositore
Prerequisiti
- Sistema operativo Debian 10 (buster).
- Un utente non root con
sudo
privilegi.
Passaggi iniziali
Controlla la tua versione di Debian:
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Imposta il fuso orario:
sudo dpkg-reconfigure tzdata
Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo essenziale perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:
sudo apt update && sudo apt upgrade -y
Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Debian:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https
Passaggio 1: Installa PHP
Installa PHP e le estensioni PHP richieste:
sudo apt install -y php7.3 php7.3-cli php7.3-fpm php7.3-common php7.3-curl php7.3-gd php7.3-json php7.3-zip php7.3-xml php7.3-mbstring
Per mostrare PHP compilato nei moduli, puoi eseguire:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Controlla la versione PHP:
php --version
# PHP 7.3.4-2 (cli) (built: Apr 13 2019 19:05:48) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies
Il servizio PHP-FPM viene avviato e abilitato automaticamente al riavvio sul sistema Debian 10, quindi non è necessario avviarlo e abilitarlo manualmente. Possiamo passare al passaggio successivo, che è l'installazione e la configurazione del database.
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.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 desideri certificati falsi per il 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 all'utente sudo normale:
exit
Passaggio 3:installa e configura NGINX
Installa NGINX:
sudo apt install -y nginx
Controlla la versione di NGINX:
sudo nginx -v
# nginx version: nginx/1.14.2
Quindi, configura NGINX per Pico CMS. Esegui sudo vim /etc/nginx/sites-available/pico.conf
e aggiungi 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 unix:/var/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param PICO_URL_REWRITING 1;
}
}
Attiva il nuovo pico.conf
configurazione collegando il file a sites-enabled
directory:
sudo ln -s /etc/nginx/sites-available/pico.conf /etc/nginx/sites-enabled
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.8.6 2019-06-11 15:03:05
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]
:
sudo chown -R [your_username]:[your_username] /var/www/pico
Sostituisci [your_username] nel comando sopra con il nome utente dell'utente Linux a cui hai effettuato l'accesso.
Quindi vai alla directory principale del documento:
cd /var/www/pico
Scarica Pico con il compositore:
composer create-project picocms/pico-composer .
Cambia la proprietà del /var/www/pico
directory in www-data:
sudo chown -R www-data:www-data /var/www/pico
Hai installato con successo Pico CMS sul sistema Debian 10 (buster). 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