October CMS est une plate-forme CMS gratuite, open-source et auto-hébergée basée sur Laravel PHP Framework. Le code source du CMS d'octobre est hébergé sur Github. Dans ce didacticiel, nous vous guiderons tout au long du processus d'installation du CMS d'octobre sur un système d'exploitation Debian 9 (stretch) en utilisant NGINX comme serveur Web, MariaDB comme serveur de base de données, et éventuellement, vous pouvez sécuriser la couche de transport à l'aide du client acme.sh. et l'autorité de certification Let's Encrypt pour ajouter la prise en charge SSL.
Exigences
Avant de continuer, vous devez vérifier que votre serveur répond à la configuration système minimale requise. Le CMS d'octobre présente les exigences suivantes en matière de serveur pour l'hébergement Web :
- PHP version 7.0 ou supérieure
- Extension PHP PDO
- Extension PHP cURL
- Extension PHP OpenSSL
- Bibliothèque PHP Mbstring
- Bibliothèque PHP Zip
- Bibliothèque PHP GD
- Extension PHP XML
- Extension PHP JSON
- Apache avec
mod_rewrite
ou NGINX - Serveur de base de données (MariaDB, MySQL, PostgreSQL)
Prérequis
- Un système exécutant Debian 9 (étiré).
- Un utilisateur non root avec des privilèges sudo.
Étapes initiales
Vérifiez la version de votre système Debian :
lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)
Configurez le fuseau horaire :
dpkg-reconfigure tzdata
Mettez à jour les packages de votre système d'exploitation (logiciels). Il s'agit d'une première étape importante car elle garantit que vous disposez des dernières mises à jour et correctifs de sécurité pour les packages logiciels par défaut de votre système d'exploitation :
apt update && apt upgrade -y
Installez certains packages essentiels nécessaires à l'administration de base du système d'exploitation Debian :
apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-https
Étape 1 - Installer PHP et les extensions PHP nécessaires
La plate-forme CMS d'octobre nécessite PHP version 7.0 ou supérieure. Par défaut, Debian 9 a PHP version 7.0 dans ses référentiels de logiciels par défaut, ce qui convient au CMS d'octobre.
Installez PHP, ainsi que les extensions PHP nécessaires :
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql php7.0-curl php7.0-json php7.0-zip php7.0-gd php7.0-xml php7.0-mbstring
Pour afficher PHP compilé en modules, vous pouvez exécuter :
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Vérifiez la version de PHP :
php --version
# PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies
Le service PHP-FPM est automatiquement démarré et activé au redémarrage sur le système Debian 9, il n'est donc pas nécessaire de le démarrer 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 :Installez MariaDB et créez une base de données pour octobre
October est compatible avec les bases de données MySQL/MariaDB, PostgreSQL, SQLite et SQL. L'équipe Debian a remplacé MySQL par MariaDB comme base de données par défaut à partir de Debian 9 (stretch), donc dans ce tutoriel, nous utiliserons MariaDB comme serveur de base de données. Si vous souhaitez installer MySQL d'origine, vous pouvez ajouter et utiliser le référentiel MySQL officiel géré par Oracle.
Installez le serveur de base de données MariaDB à partir du dépôt officiel MariaDB :
sudo apt install -y software-properties-common dirmngr apt-transport-https
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main'
sudo apt update
sudo apt install -y mariadb-server
Vérifiez la version de MariaDB :
mysql --version
# mysql Ver 15.1 Distrib 10.2.21-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Exécutez l'mysql_secure installation
script pour améliorer la sécurité de MariaDB et définir le mot de passe pour MariaDB root
utilisateur :
sudo mysql_secure_installation
Répondez à chacune des questions :
Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Connectez-vous à MariaDB en tant qu'utilisateur root :
sudo mysql -u root -p
# Enter password
Créez une base de données et un utilisateur MariaDB que vous utiliserez pour votre installation d'October, et rappelez-vous les identifiants :
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Quittez le shell MariaDB :
exit
Étape 3 - Installer le client Acme.sh et obtenir le certificat Let's Encrypt (facultatif)
Sécuriser votre site Web avec HTTPS n'est pas nécessaire, mais c'est une bonne pratique pour sécuriser le trafic de votre site. Afin d'obtenir un certificat SSL de Let's Encrypt, nous utiliserons le client Acme.sh. Acme.sh est un logiciel shell UNIX pur permettant d'obtenir des certificats SSL de Let's Encrypt sans aucune dépendance.
Téléchargez et installez 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érifiez la version d'acme.sh :
acme.sh --version
# v2.8.0
Obtenir RSA et ECC/ECDSA certificats pour votre 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 vous voulez de faux certificats pour les tests, vous pouvez ajouter --staging
indicateur aux commandes ci-dessus.
Après avoir exécuté les commandes ci-dessus, vos certificats et les clés sera dans :
- Pour RSA :
~/example.com
répertoire. - Pour ECC/ECDSA :
~/example.com_ecc
répertoire.
Pour répertorier vos certificats émis, vous pouvez exécuter :
acme.sh --list
Créez un répertoire pour stocker vos certificats. Nous utiliserons /etc/letsencrypt
répertoire.
mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installez/copiez les certificats dans le répertoire /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"
Tous les certificats seront automatiquement renouvelés tous les 60 jours.
Après avoir obtenu les certificats, quittez l'utilisateur root et revenez à l'utilisateur sudo normal :
exit
Étape 4 :Installez NGINX et configurez NGINX pour octobre
Installez le serveur Web NGINX :
sudo apt install -y nginx
Vérifiez la version de NGINX :
sudo nginx -v
# nginx version: nginx/1.10.3
Configurez NGINX pour octobre en exécutant :
sudo vim /etc/nginx/sites-available/october.conf
Et remplissez le fichier avec la configuration suivante :
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name example.com;
index index.php index.html;
root /var/www/october;
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;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_read_timeout 120s;
}
location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; }
}
Activez le nouveau october.conf
configuration en liant le fichier au sites-enabled
répertoire.
sudo ln -s /etc/nginx/sites-available/october.conf /etc/nginx/sites-enabled
Vérifiez la configuration de NGINX pour les erreurs de syntaxe :
sudo nginx -t
Recharger le service NGINX :
sudo systemctl reload nginx.service
Étape 5 - Téléchargez et installez la plate-forme CMS d'octobre
Créez un répertoire racine de document :
sudo mkdir -p /var/www/october
Changer le propriétaire du /var/www/october
répertoire vers [your_user]:
sudo chown -R [your_user]:[your_user] /var/www/october
Accédez à la racine du document :
cd /var/www/october
Téléchargez le programme d'installation du CMS d'octobre :
wget https://octobercms.com/download -O october.zip
Décompressez le programme d'installation du CMS d'octobre :
unzip october.zip
rm october.zip
mv install-master/* .
Changer le propriétaire du /var/www/october
répertoire vers www-data:
sudo chown -R www-data:www-data /var/www/october
Accédez au install.php
script dans votre navigateur Web, comme example.com/install.php
et suivez les instructions d'installation.
Étape 6 - Terminez la configuration d'octobre
Assurez-vous que votre vérification du système est correcte et continuez en appuyant sur "Accepter et Continuer bouton ".
Configurez votre base de données et vos paramètres d'administrateur.
Vous pouvez également configurer certains paramètres avancés ou conserver les valeurs par défaut.
Et enfin quand tout est configuré appuyez sur bleu "Continuer bouton ".
Ensuite, il vous sera demandé "Comment voulez-vous configurer votre site ? ". Vous aurez 3 options : Recommencer à zéro , Commencer par un thème , Utiliser un ID de projet . Sélectionnez votre option préférée.
Pour accéder à la zone d'administration de la plate-forme CMS d'octobre, ajoutez simplement /backend
à votre URL/IP.
Après l'installation, pour des raisons de sécurité, vous devez supprimer les fichiers d'installation, le install.php
script et les install_files
répertoire :
sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files
Liens
- https://octobercms.com/
- https://github.com/octobercms/octobre