Comment installer Pico CMS avec Nginx sur Debian 10

Pico est un CMS open-source simple et rapide à base de fichiers plats écrit en PHP. Cela signifie qu’il n’y a pas de backend d’administration ni de base de données à gérer. Il te suffit de créer des fichiers .md dans le dossier de contenu pour qu’ils deviennent des pages.Pico utilise le moteur de templatingTwig pour des thèmes puissants et flexibles.Le code source de Pico est disponible sur Github. Dans ce tutoriel, nous allons installer Pico CMS avec Nginx sur le système Debian 10 (buster).

Exigences

Les conditions requises pour exécuter Pico sont les suivantes :

  • Nginx
  • PHP version 5.3.6 ou supérieure
  • Composer

Conditions préalables

  • Système d’exploitation Debian 10 (buster).
  • Un utilisateur non-root avec des privilèges sudo.

Étapes initiales

Vérifie ta version de Debian :

lsb_release -ds
# Debian GNU/Linux 10 (buster)

Configure le fuseau horaire :

sudo dpkg-reconfigure tzdata

Mets à jour les paquets de ton système d’exploitation (logiciels). C’est une première étape essentielle car elle permet de s’assurer que tu disposes des dernières mises à jour et des derniers correctifs de sécurité pour les paquets logiciels par défaut de ton système d’exploitation :

sudo apt update && sudo apt upgrade -y

Installe certains paquets essentiels qui sont nécessaires à l’administration de base du système d’exploitation Debian :

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

Étape 1 – Installer PHP

Installe PHP, ainsi que les extensions PHP requises :

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

Pour afficher PHP compilé dans des modules, tu peux exécuter :

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Vérifie la version de 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

Le service PHP-FPM est automatiquement lancé et activé au redémarrage sur le système Debian 10, il n’est donc pas nécessaire de le lancer et de l’activer manuellement. Nous pouvons passer à l’étape suivante, qui est l’installation et la configuration de la base de données.

Étape 2 – Installe le client acme.sh et obtiens le certificat Let’s Encrypt(facultatif)

Sécuriser ton forum avec HTTPS n’est pas nécessaire, mais c’est une bonne pratique pour sécuriser le trafic de ton site. Pour obtenir un certificat TLS de Let’s Encrypt, nous allons utiliser le client acme.sh. Acme.sh est un logiciel shell UNIX pur pour obtenir des certificats TLS de Let’s Encrypt sans aucune dépendance.

Télécharge et installe 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 ~

Vérifie la version d’acme.sh :

acme.sh --version
# v2.8.0

Obtiens des certificats RSA et ECC/ECDSA pour ton domaine/nom d’hôte :

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

Si tu veux de faux certificats pour les tester, tu peux ajouter l’indicateur --stagingaux commandes ci-dessus.

Après avoir exécuté les commandes ci-dessus, tescertificats et tesclés seront dans :

  • Pour RSA: /home/username/example.com répertoire.
  • Pour ECC/ECDSA: /home/username/example.com_ecc répertoire.

Pour répertorier tes certs émis, tu peux exécuter :

acme.sh --list

Crée un répertoire pour stocker tes certs. Nous utiliserons le répertoire/etc/letsencrypt.

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

Installe/copie les certificats dans/etc/letsencryptrépertoire.

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

Tous les certificats seront automatiquement renouvelés tous les 60 jours.

Après avoir obtenu les certificats, quitte l'utilisateur root et retourne à l'utilisateur sudo habituel :

exit

Étape 3 - Installer et configurer NGINX

Installe NGINX :

sudo apt install -y nginx

Vérifie la version de NGINX :

sudo nginx -v
# nginx version: nginx/1.14.2

Ensuite, configureNGINX pour Pico CMS. Exécute sudo vim /etc/nginx/sites-available/pico.conf et ajoute la configuration suivante.

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

Active la nouvelle configuration pico.conf en liant le fichier au répertoire sites-enabled:

sudo ln -s /etc/nginx/sites-available/pico.conf /etc/nginx/sites-enabled

VérifieNGINX pour vérifier qu'il n'y a pas d'erreurs de syntaxe dans la configuration :

sudo nginx -t

RechargeNGINX service :

sudo systemctl reload nginx.service

Étape 4 - Installer Composer

Installe Composer, le gestionnaire de dépendances PHP de manière 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

Vérifie la version de Composer :

composer --version
# Composer version 1.8.6 2019-06-11 15:03:05

REMARQUE : Les commandes d'installation de Composer changeront à l'avenir, alors consulte https://getcomposer.org/download/ pour connaître les commandes les plus récentes si les commandes ci-dessus ne fonctionnent pas.

Étape 5 - Installe Pico CMS

Crée un répertoire racine de document pour Pico CMS :

sudo mkdir -p /var/www/pico

Change la propriété du /var/www/pico en[your_username]:

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

Remplace [ton_nom_d'utilisateur] dans la commande ci-dessus par le nom d'utilisateur de l'utilisateur Linux auquel tu es actuellement connecté.

Puis navigue dans le répertoire racine du document :

cd /var/www/pico

Télécharge Pico avec composer :

composer create-project picocms/pico-composer .

Change la propriété du répertoire /var/www/pico directory to www-data:

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

Tu as réussi à installer Pico CMS sur le système Debian 10 (buster). Tu peux maintenant simplement créer ton propre dossier de contenu dans le répertoire racine de Pico, créer des fichiers .md dans le répertoire de contenu et ces fichiers deviennent tes pages.

Pic de la CMS

Liens

Vous aimerez aussi...