GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer la plate-forme CMS d'octobre sur Debian 9

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éroCommencer par un thèmeUtiliser 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

Debian
  1. Comment installer PHP 8.0 sur Debian 11

  2. Comment installer PHP 8.0 sur Debian 10 / Debian 9

  3. Comment installer PHP sur Debian 10 (Buster)

  4. Comment installer PHP sur Debian 10 Buster

  5. Comment installer PHP sur Debian 11

Comment installer Craft CMS sur Debian 9

Comment installer Fork CMS avec NGINX sur Debian 9

Comment installer Pagekit CMS sur Debian 9

Comment installer Bludit CMS avec NGINX sur Debian 9

Comment installer la plate-forme de commerce électronique X-Cart sur Debian 10

Comment installer Nginx et PHP sur Debian 10