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 Ubuntu 18.04 LTS.
Requisiti
I requisiti per eseguire Pico sono:
- Nginx
- Versione PHP 5.3.6 o successiva
- Compositore
Prerequisiti
- Un sistema operativo Ubuntu 18.04 LTS.
- Un utente non root con
sudo
privilegi.
Passaggi iniziali
Controlla la tua versione di Ubuntu:
lsb_release -ds
# Ubuntu 18.04.2 LTS
Imposta il fuso orario:
sudo dpkg-reconfigure tzdata
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 apt update && sudo apt upgrade -y
Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Ubuntu:
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 necessarie:
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-zip php7.2-xml php7.2-mbstring
Per mostrare PHP compilato nei moduli, puoi eseguire:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Controlla la versione PHP:
php --version
# PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Il servizio PHP-FPM viene avviato e abilitato automaticamente al riavvio sul sistema Ubuntu 18.04, 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 il 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 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
Installa NGINX:
sudo apt install -y nginx
Controlla la versione di NGINX:
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
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.2-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 il 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') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { 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.5 2019-04-09 17:46:47
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
Modifica la proprietà del /var/www/pico
directory in [jour_username]
:
sudo chown -R [your_username]:[your_username] /var/www/pico
Vai alla directory principale del documento:
cd /var/www/pico
Scarica Pico con il compositore:
composer create-project picocms/pico-composer .
Modifica 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 server Ubuntu 18.04. 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