Comment installer la plateforme CMS October sur CentOS 7
October CMS est une plateforme CMS gratuite, open-source et auto-hébergée basée sur le framework PHPFramework PHP Laravel.Le code source d’October CMSest hébergé sur Github.Dans ce tutoriel, nous allons te guider dans le processus d’installation d’October CMS sur un serveur CentOS 7 frais.
Exigences
Avant de continuer, tu dois vérifier que ton serveur répond à la configuration minimale requise. October CMS a la configuration serveur suivante 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
Conditions préalables
- Un serveur exécutant CentOS 7.
- Un utilisateur non-root avec des privilèges sudo.
Étapes initiales
Vérifie la version de ton système CentOS :
cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)
Configure le fuseau horaire :
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Mets à jour les paquets de ton système d’exploitation :
sudo yum update -y
Installe les paquets vim, git, unzip et socat :
sudo yum install -y vim git unzip socat
Étape 1 – Installer PHP
La plateforme CMS d’October nécessite PHP version 7.0 ou supérieure. Les dépôts CentOS par défaut contiennent une version plus ancienne de PHP, et nous devrons donc configurer un dépôt tiers pour installer une version plus récente de PHP. Nous utiliserons le référentiel Webtatic.
Configure le référentiel YUM de Webtatic :
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Installe PHP, ainsi que les extensions PHP nécessaires :
sudo yum install -y php72w-cli php72w-fpm php72w-pdo php72w-common php72w-mysql php72w-curl php72w-json php72w-zip php72w-gd php72w-xml php72w-mbstring
Vérifie la version de PHP :
php --version
# PHP 7.2.11 (cli) (built: Oct 11 2018 19:14:35) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies # with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
Démarre et active le service PHP-FPM :
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Étape 2 – Installe MariaDB et crée une base de données pour October
Installe le serveur de base de données MariaDB :
sudo yum install -y mariadb-server
Vérifie la version de MariaDB :
mysql --version
# mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
Démarre et active le service MariaDB :
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Exécute le scriptmysql_secure installation
pour améliorer la sécurité de MariaDB et définir le mot de passe de l’utilisateur MariaDBroot
:
mysql_secure_installation
Connecte-toi à MariaDB en tant qu’utilisateur root :
mysql -u root -p
# Enter password
Crée une base de données et un utilisateur MariaDB que tu utiliseras pour ton installation d’October, et retiens les informations d’identification :
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Quitte le shell MariaDB :
quit
Étape 3 – Installer le client Acme.sh et obtenir le certificat Let’s Encrypt (facultatif)
Il n’est pas nécessaire de sécuriser ton site Web avec HTTPS, mais c’est une bonne pratique pour sécuriser le trafic de ton site. Pour obtenir le certificat SSL de Let’s Encrypt, nous allons utiliser le client Acme.sh. Acme.sh est un logiciel shell unix pur pour obtenir des certificats SSL de Let’s Encrypt sans aucune dépendance.
Télécharge et installe Acme.sh :
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
Vérifie la version d’Acme.sh :
/etc/letsencrypt/acme.sh --version
# v2.8.0
Obtiens des certificatsRSAetECC/ECDSApour ton domaine/nom d’hôte :
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Après avoir exécuté les commandes ci-dessus, tescertificatsetclésseront dans :
- PourRSA:
/etc/letsencrypt/example.com
répertoire. - PourECC/ECDSA:
/etc/letsencrypt/example.com_ecc
répertoire.
Étape 4 – Installe et configure Nginx
Installe le serveur Web Nginx :
sudo yum install -y nginx
Vérifie la version de NGINX :
nginx -v
# nginx version: nginx/1.12.2
Démarre et active le service Nginx :
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Exécutesudo vim /etc/nginx/conf.d/october.conf
et remplis 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.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
include fastcgi.conf;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 120s;
}
rewrite ^themes/.*/(layouts|pages|partials)/.*.htm /index.php break;
rewrite ^bootstrap/.* /index.php break;
rewrite ^config/.* /index.php break;
rewrite ^vendor/.* /index.php break;
rewrite ^storage/cms/.* /index.php break;
rewrite ^storage/logs/.* /index.php break;
rewrite ^storage/framework/.* /index.php break;
rewrite ^storage/temp/protected/.* /index.php break;
rewrite ^storage/app/uploads/protected/.* /index.php break;
}
Teste la configuration de NGINX.
sudo nginx -t
Recharge NGINX.
sudo systemctl reload nginx.service
Étape 5 - Télécharge et installe la plateforme October CMS
Crée un répertoire racine de document :
sudo mkdir -p /var/www/october
Change la propriété du répertoire/var/www/october
pourjohndoe:
sudo chown -R [your_user]:[your_user] /var/www/october
Navigue vers la racine du document :
cd /var/www/october
Télécharge l'installateur d'October CMS :
wget http://octobercms.com/download -O october.zip
Dézippe l'installateur d'October CMS :
unzip october.zip
rm october.zip
mv install-master/* .
Change la propriété du répertoire/var/www/october
ennginx:
sudo chown -R nginx:nginx /var/www/october
Exécutesudo vim /etc/php-fpm.d/www.conf
et configure l'utilisateur et le groupe ànginx
. Initialement, ils seront définis surapache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Redémarre le service PHP-FPM :
sudo systemctl restart php-fpm.service
Accède au scriptinstall.php
dans ton navigateur Web, commeexample.com/install.php
et suis les instructions d'installation.
Étape 6 - Termine l'installation d'Octobre
Assure-toi que ta vérification du système est correcte, et procède en appuyant sur le bouton"Accepter et continuer".
Configure ta base de données et les paramètres de l'utilisateur admin.
Tu peux aussi configurer certains paramètres avancés ou tu peux laisser les valeurs par défaut.
Et enfin, quand tout est configuré, appuie sur le bouton bleu"Continuer".
Ensuite, il te sera demandé"Comment veux-tu configurer ton site ?". Tu auras 3 options : Commence à zéro, Commence à partir d'un thème, Utilise un ID de projet. Sélectionne ton option préférée.
Pour accéder à la zone d'administration de la plateforme October CMS, ajoute simplement/backend
à ton URL/IP.
Après l'installation, pour des raisons de sécurité, tu dois supprimer les fichiers d'installation, le scriptinstall.php
et le répertoireinstall_files
:
sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files