Comment installer le CMS BoltWire avec Nginx sur Ubuntu 20.04 LTS

Bolt est un système de gestion de contenu (CMS) léger construit sur le populaire framework PHP. Bolt est parfait pour une petite entreprise qui souhaite gérer son propre site Web sans se soucier de devoir apprendre le HTML et d’autres langages de programmation. Bolt propose des fonctions avancées telles que des balises wiki robustes, le commerce électronique, une galerie de photos et un constructeur d’albums, une galerie et un lecteur audio, et des livres d’or.

Boltwire se distingue par sa gratuité totale pour les personnes et les groupes de toutes tailles qui ont besoin d’un CMS. Joe Casabona est le créateur de Boltwire et il partage sa passion en aidant les autres à tirer le meilleur parti de son projet open-source. Bolt est utilisé dans plus de 200 pays pour gérer plus de 500 000 sites Web. Ses développeurs sont des bénévoles et attendent de tous les utilisateurs qu’ils prennent part au projet en offrant des commentaires et en contribuant à son développement.

Bolt possède quelques fonctionnalités uniques :

  • Génération dynamique de pages : Une page peut être assemblée en fonction des données trouvées lors de la récupération de la base de données. Par exemple, lorsqu’un utilisateur publie une nouvelle entrée dans un journal en ligne, d’autres entrées de son blog peuvent être ajoutées dynamiquement sans avoir à rafraîchir toute la page Web. Cela permet des temps de chargement plus rapides, surtout avec de grandes quantités de pages ou d’éléments multimédias par catégorie (par exemple, toutes les photos d’une galerie de photos).
  • Gestion et administration du contenu : Plusieurs utilisateurs peuvent gérer le contenu, afin de s’assurer que chaque utilisateur ne peut modifier que certaines parties des pages. Ils peuvent aussi être limités sur ce qu’ils sont autorisés à voir ou à modifier. Par exemple, la plupart des gens ne sont pas autorisés à publier de nouveaux articles ou à ajouter des commentaires librement ; cela est réservé aux administrateurs du site. Les lecteurs peuvent toujours voir n’importe quel article sans se connecter au préalable, sauf indication contraire de l’administrateur.
  • Facilité d’utilisation : Bolt réduit considérablement l’effort nécessaire pour créer des pages Web par rapport à d’autres CMS tels que Joomla et Drupal. Les assistants intégrés à Bolt automatisent une grande partie de son processus de configuration pour que tu n’aies pas à te soucier de la façon dont les choses fonctionnent sous le capot.
  • Extensibilité facile : Comme Bolt est open source, il est facile de créer de nouveaux modules qui étendent ou ajoutent des fonctions à Bolt. Les nouvelles fonctions sont souvent intégrées au logiciel de base, ce qui les rend encore plus faciles à utiliser. Avec environ 40 extensions disponibles sur Modboom actuellement, tu peux facilement étendre n’importe quelle partie de Bolt que tu veux sans avoir à t’aventurer trop profondément dans la programmation PHP.
  • BoltWire est disponible dans un certain nombre de langues : Anglais (par défaut), allemand, italien, japonais, polonais, portugais et espagnol. Outre les paquets BoltWire standard pour les langues ci-dessus, une localisation complète est également disponible en français (100%) et en néerlandais (plus de 50%).

L’inconvénient est qu’il y a peu d’assistance disponible à part les forums d’aide si tu as des questions sur la façon dont les choses fonctionnent sous le capot dans ta langue locale. À cet égard, c’est ta propre responsabilité de faire fonctionner les choses comme tu le souhaites. Cependant, si tu es à l’aise avec un éditeur de texte et que tu as le temps de travailler sur Bolt toi-même, rien ne t’empêche de créer un site Web simple mais d’aspect professionnel en quelques minutes.

Dans ce guide, nous allons apprendre à installer BoltWire sur le serveur Ubuntu 20.04.

Conditions préalables

  • Un serveur récent fonctionnant sous Ubuntu 20.04.
  • Un accès complet à la racine SSH ou un utilisateur avec des privilèges sudo.
  • Un nom de domaine est enregistré et pointe vers ton serveur.

Mise en route

Tout d’abord, connecte-toi à ton Ubuntu avec SSH.

ssh [email protected]_IP -p Numéro_de_port

root est l’utilisateur par défaut sur Ubuntu, remplace ‘root’ par le nom de ton propre utilisateur, si tu en utilises un autre.

IP_Address est l’adresse de ton serveur. Tu peux la vérifier en utilisant

hostname -I sur la ligne de commande. Port_number doit être 22 pour SSH.

hostname -I

Le ‘-p’ indique à SSH d’utiliser le port spécifié. Si tu ne spécifies pas de numéro de port, 22 est utilisé .

Si tu es derrière un pare-feu, le port 22 peut être bloqué. Dans ce cas, change le numéro de port par quelque chose d’autre comme 2222.

Mise à jour de ton système

Tu peux vérifier si la bonne version d’Ubuntu est installée sur ton système avec la commande suivante :

sudo lsb_release -a

Exemple de sortie :

Vérifie la version d'Ubuntu

Il est toujours conseillé de mettre à jour le système avant d’installer des paquets.

sudo apt-get update && apt-get upgrade -y

-apt-get update met à jour les listes de paquets et apt-get upgrade met à niveau ton système.

Exemple de sortie :

Mets à jour les paquets

La mise à jour peut prendre un certain temps selon le nombre de paquets à télécharger et à installer. Une fois la mise à jour terminée, tu seras invité à redémarrer ton serveur. Exécute la commande ci-dessous pour redémarrer ton système après les mises à jour :

sudo reboot

Installation des paquets requis

L’installation de Bolt nécessite qu’un certain nombre de paquets soient installés sur ton système. Certains de ces paquets sont installés dans un ordre spécifique. Dans ce cas, nous allons installer tous les paquets nécessaires à l’installation de Bolt avec la commande ci-dessous :

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

socat est pour le proxys, ce qui fait que Bolt semble fonctionner sur le serveur web.

apt-transport-https permet aux opérations en ligne de commande comme sudo apt update de fonctionner avec des connexions https. bash-completion est un programme qui permet à bash d’autocompléter les commandes après avoir tapé les premiers caractères.

curl est utilisé pour télécharger des paquets et wget est utilisé pour télécharger des fichiers comme la dernière version de Bolt depuis son site Web.

Exemple de résultat :

Installe les prérequis

Installation de Nginx

Nginx est utilisé comme proxy inverse pour gérer tes sites Web dans Bolt. Nginx est léger, facile à configurer et rapide. Exécute la commande ci-dessous pour installer Nginx

sudo apt-get install nginx

Tape ‘y’ si tu y es invité, le processus d’installation démarrera automatiquement.

Exemple de résultat :

Installe Nginx

Une fois l’installation terminée, démarre le service Nginx et active son exécution au démarrage du système.

sudo systemctl start nginx
sudo systemctl enable nginx

Pour contrôler et vérifier si Nginx est en cours d’exécution ou non, utilise cette commande dans le terminal.

sudo systemctl status nginx

Exemple de sortie :

Nginx est en cours d'exécution

Configuration de Nginx

BoltWire CMS est installé dans le répertoire /var/www/. Pour accéder et tester BoltWire CMS, nous devons configurer le bloc serveur Nginx pour acheminer les demandes vers le chemin du dossier webroot /var/www/automatiquement pour toutes les demandes de contenu statique ainsi que les demandes de fichiers de modules et de plugins.

Exécute les commandes suivantes pour créer un nouveau fichier de configuration appelé bolt.conf

sudo nano /etc/nginx/sites-available/bolt.conf

Remplis le fichier de configuration avec le contenu suivant :

server {
listen 80;
 listen [::]:80; 
 root /var/www/bolt; 
 index index.php index.html index.htm; 
 server_name bolt.example.com;

 location / { 
  try_files      $uri $uri/ /index.php?$query_string;
  } 

 location ~ [^/]\.php(/|$) { 
  try_files      /index.php =404;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_index      index.php;
 fastcgi_pass       unix:/var/run/php/php7.2-fpm.sock;
  include         fastcgi_params;
  fastcgi_param  PATH_INFO    $fastcgi_path_info;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  } 

location = /bolt { 
 try_files        $uri /index.php?$query_string; 
 } 

location ^~ /bolt/ { 
 try_files         $uri /index.php?$query_string; 
 } 

}

Le bloc serveur Nginx que nous venons de créer utilise la racine du document par défaut qui est définie sur le répertoire /var/www/. Si tu exécutes BoltWire CMS dans un environnement de serveur différent, modifie le fichier conf et remplace le chemin de la racine du document en conséquence.

La directive server_name configure l’URL que ton serveur Web Nginx écoutera. Remplace bolt.example.com par le nom de domaine ou l’adresse IP de ton serveur réel.

try_files $uri $uri/ /index.php?$query_string ; Cette directive te permet de traiter directement les demandes de chemin d’accès aux fichiers s’ils sont trouvés. Par exemple, si un utilisateur essaie d’accéder à la page d’accueil de BoltWire CMS depuis le navigateur, /index.php sera utilisé comme fichier d’index s’il existe, sinon il retombera sur la réponse 404 Not Found de PHP-FPM.

Après avoir effectué les modifications et les avoir enregistrées dans le fichier bolt.conf, recharge Nginx et redémarre-le pour que la nouvelle configuration prenne effet.

sudo systemctl reload nginx
sudo systemctl restart nginx

Vérifie la configuration de Nginx en exécutant les commandes suivantes :

sudo nginx -t

Exemple de sortie :

Vérifie la configuration de Nginx

Installation de MySQL

BoltWire CMS nécessite un minimum de la version 4.2 du serveur MySQL, mais BoltWire CMS ne fonctionne pas avec 5.x+.

Tu as donc plusieurs options : Utiliser un serveur de base de données distant tel que Microsoft SQL Server Mettre en œuvre MySQL sur toutes les machines du serveur Web (non recommandé) Mettre à niveau ta version de MySQL. Les premières options sont assez simples, mais le type de mise à niveau est complexe.

Ceux qui utilisent une pile LAMP (Linux, Apache, MySQL et PHP) n’ont pas besoin d’installer MySQL séparément car Ubuntu inclut déjà le serveur MySQL dans son référentiel.

Exécute la commande ci-dessous pour installer MySQL :

sudo apt -y install mysql-server

Exemple de résultat :

Installe MySQL

Une fois l’installation terminée, exécute la commande ci-dessous pour lancer le démon MySQL (serveur MySQL) pour cette session et lui permettre de s’exécuter au démarrage du système :

sudo systemctl start mysql
sudo systemctl enable mysql 

Création d’une base de données

Nous allons utiliser la ligne de commande pour créer une base de données appelée bolt.

Connecte-toi à mysql pour créer une base de données en exécutant la commande ci-dessous :

sudo mysql -u root -p 

Saisis le mot de passe root pour mysql. Tu es maintenant connecté à la console mysql. Pour créer une base de données et un utilisateur de base de données, exécute la commande ci-dessous :

CREATE DATABASE bolt;
CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL ON bolt.* TO 'bolt'@'localhost'; 
FLUSH PRIVILEGES; 
exit

CREATE USER ‘bolt’@’localhost’ IDENTIFIED BY ‘mypassword’ créera un utilisateur ‘bolt’ dont le mot de passe est ‘mypassword’. Utilise un mot de passe sécurisé au lieu du mot ‘mypassword’ ici ! Flush privileges rechargera le tableau des privilèges d’octroi créé ci-dessus.

Installation de PHP

BoltWire CMS nécessite PHP version 7 ou supérieure et ses en-têtes de développement. Nous ajouterons le PPA ppa:ondrej/php avec la version PHP requise (7.2), tu peux la changer pour la version PHP dont tu as besoin. Nous allons exécuter les commandes suivantes pour ajouter le ppa et mettre à jour apt-get

sudo apt -y install software-properties-common 
sudo add-apt-repository ppa:ondrej/php 
sudo apt-get update

Exécute la commande ci-dessous pour installer PHP 7.2 :

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-zip php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-gd php7.2-mysql php7.2-intl php7.2-json php7.2-opcache php7.2-xml

php7.2-cli est l’interface de ligne de commande pour PHP7.2 et avec php7.2-common, tu installeras php7.2-extensions, le module de serveur Web (PHP) et les extensions CLI standard. Avec php7.2 -fpm, tu installeras FastCGI Process Manager, un moyen courant d’exécuter des applications PHP à partir de ton serveur Web. php7.2-mbstring installera les fonctions de chaînes multi-octets, nécessaires pour BoltWire CMS. php7.2-opcache installera le cache opcode pour PHP7.2, qui offre de meilleures performances et réduit la charge sur ton serveur Web en mettant en cache les scripts compilés. php7.2-xml installera les extensions de traitement XML pour PHP7.2, nécessaires pour utiliser BoltWire CMS.

Exemple de résultat :

Installation de PHP

Après avoir installé PHP 7.2, exécute les commandes ci-dessous pour vérifier ta version de PHP7.2 :

php -v 

Exemple de résultat :

Vérifie la version de PHP

Ensuite, ouvre le fichier de configuration par défaut de PHP pour Nginx en utilisant l’éditeur de texte nano :

sudo nano /etc/php/7.2/fpm/php.ini

Maintenant, nous allons apporter les changements sur les lignes suivantes :

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/St. Louis
  • file_uploads = On active la fonction de téléchargement de fichiers dans le CMS BoltWire.
  • allow_url_fopen = On autorise les URL directes ou les redirections HTTP sur les demandes de fichiers téléchargés depuis le serveur Web distant.
  • memory_limit = 256M est la limite de mémoire PHP 7.2 en Mo à définir pour les processus de travail de Nginx. Exécuter un script PHP avec une consommation de mémoire élevée peut provoquer une erreur d’exécution de php.
  • upload_max_filesize = 100M est la taille maximale pour un seul fichier à télécharger sur le site BoltWire CMS, si tu veux activer le téléchargement de fichiers de taille illimitée, change cette valeur en 0.
  • max_execution_time = 360 est le temps d’exécution maximum en secondes pour le script PHP à exécuter, si un script dépasse cette valeur, il sera terminé.
  • date.timezone = America/St. Louis, le fuseau horaire de ton emplacement pour afficher correctement les valeurs de date et d’heure du client dans le système CMS de BoltWire.

Redémarre php7.2-fpm pour que les modifications ci-dessus prennent effet :

sudo service php7.2-fpm restart

Cela devrait suffire pour installer PHP7.2 et les paquets connexes nécessaires, passons à l’étape suivante.

Installation de Composer

BoltWire CMS a besoin de Composer pour ajouter les bibliothèques externes requises sur le site Web. Nous devons donc l’installer avant de poursuivre ce tutoriel. Composer est un gestionnaire de paquets pour PHP qui gère les dépendances des projets PHP. Il est similaire à npm de NodeJS ou à ruby gems.

Tout d’abord, nous nous rendons dans le répertoire personnel et téléchargeons le programme d’installation :

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php

La commande ci-dessous installera Composer :

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

La commande ci-dessus téléchargera et installera Composer en tant que binaire pour tout le système dans le répertoire /usr/local/bin.

Tu peux choisir de configurer Composer pour ton utilisateur uniquement en remplaçant la partie /usr/local/bin de la commande par ~/user_.

Une fois l’installation terminée, tu peux exécuter la commande ci-dessous pour tester si l’installation a réussi.

composer

Exemple de sortie :

PHP composer

Installation de Bolt

Maintenant que tous les paquets requis ont été installés, nous pouvons passer à l’installation de Bolt.

Tout d’abord, nous allons dans le répertoire /var/www/ et nous téléchargeons la dernière version du CMS Bolt depuis GitHub avec la commande ci-dessous :

cd /var/www/
sudo git clone https://github.com/bolt/bolt.git

Exemple de sortie :

Télécharge Bolt sur Github

Une fois téléchargé, tu devrais voir un répertoire nommé bolt avec un seul fichier nommé « composer.json », qui est le fichier de configuration du compositeur pour Bolt CMS.

Maintenant, nous allons nous rendre dans le répertoire bolt et installer Bolt à partir de là :

cd bolt
sudo composer install

Cette commande installera tous les fichiers sources et dépendances Bolt nécessaires dans /var/www/bolt à l’aide du gestionnaire de paquets Composer.

Exemple de résultat :

Installe Bolt à l'aide de composer

L’étape suivante consiste à exécuter la commande suivante pour définir le répertoire de travail de Bolt :

sudo chown -R www-data:www-data /var/www/bolt
sudo chmod -R 755 /var/www/bolt

La commande ci-dessus changera la propriété des fichiers Bolt à l’utilisateur www-data de Nginx, afin qu’il puisse lire et écrire le fichier lorsque l’URL Bolt est consultée.

L’étape suivante consiste à configurer le fichier de configuration de Bolt :

sudo cp app/config/config.yml.dist app/config/config.yml

Accéder au CMS BoltWire

Nous devrions maintenant pouvoir accéder au CMS BoltWire en utilisant l’URL suivante depuis un navigateur sur un ordinateur Linux ou Windows :

http://localhost:8000/bolt ou http://bolt.example.com/bolt

Tu devrais obtenir une page d’accueil par défaut de BoltWire CMS comme celle ci-dessous :

Boutique CMS

Remplis toutes les informations requises dans ce formulaire et tu pourras accéder à ton tableau de bord BoltWire comme celui ci-dessous :

Tableau de bord du CMS Bolt

Maintenant, nous avons configuré avec succès un serveur Linux pour Bolt Wire CMS.

Si tu rencontres des problèmes lorsque tu essaies d’accéder à ton CMS BoltWire nouvellement installé. Voici une liste des erreurs courantes et de leurs solutions possibles :

  • « Accès refusé – erreur« . Cela signifie que le CMS BoltWire est en cours d’exécution mais que tu ne peux pas accéder à ses pages depuis le navigateur, essaie de vérifier ton répertoire de configuration Nginx.
  • « Impossible de charger la bibliothèque dynamique ‘/var/www/BoltWire/vendor/php72-zip/libphp7. 2.so » ou « Erreur d’exécution du script ». Cela signifie que le répertoire de BoltWire CMS n’a pas les autorisations requises pour exécuter et lancer le fichier PHP.
  • « Erreur d’initialisation … Aucun fichier ou répertoire de ce type« . Cela signifie que BoltWire CMS n’est pas installé correctement. Tu dois vérifier si tu as suivi la bonne procédure pour l’installation de BoltWire CMS.
  • « Permission refusée« . Cela signifie que tu n’as pas un accès correct au répertoire /var/www/bolt ou /var/www.
  • « Erreur fatale : La classe ‘PDO’ n’a pas été trouvée dans…« . Cela signifie que PHP ne parvient pas à se connecter à la base de données et que tu dois peut-être vérifier ta configuration PHP.
  • « Recherche de …  » ou « Attention : Un argument non valide a été fourni pour foreach()… ». Cela signifie que le CMS BoltWire est incapable de trouver ce que tu lui as donné. En général, cela est dû à l’ignorance du nom du blog et du slug ou du chemin dans ta configuration.
  • « Impossible de créer le répertoire … Index indéfini : données consultées« . Cela signifie que le BoltWire CMS ne peut pas créer son répertoire dans ton serveur Nginx et que tu dois peut-être vérifier la configuration de PHP.
  • « Erreur d’analyse : erreur de syntaxe, ‘=’ inattendu dans … à …« . Cela signifie que le BoltWire CMS ne peut pas exécuter son fichier ou qu’il ne peut pas lire un de tes fichiers. Cela peut se produire lorsque tu as utilisé une syntaxe incorrecte dans ta configuration.
  • « 404 non trouvé nginx/1.14.0 (ubuntu) » Ajouter un enregistrement ‘A’ pour bolt.example.com vers ton serveur devrait t’aider.
  • « 404 Not Found » ou « L’URL demandée … n’a pas été trouvée sur ce serveur ».« . Cela signifie que BoltWire CMS n’a pas pu trouver ses fichiers. Tu dois peut-être vérifier ta configuration BoltWire et t’assurer que tu y as spécifié le bon chemin.

BoltWire est installé mais il n’y a pas de pages ou la page de connexion BoltWire s’affiche si le CMS BoltWire est installé, alors Bolt recherchera un modèle BoltWire par défaut dans le dossier /var/www/bolt/_templates du répertoire d’installation de Bolt et s’il ne trouve aucun fichier à cet endroit, Bolt utilisera un fichier index.php du répertoire d’installation de Bolt comme page d’accueil. Si cela ne fonctionne pas non plus, il y a peut-être un problème avec ta configuration PHP ou ta configuration Nginx.

Conclusion

Le CMS BoltWire est un excellent logiciel pour gérer un blog ou un site Web personnel. Tu peux en savoir plus sur Bolt CMS sur le site officiel de BoltWire CMS.

J’espère que cet article t’aidera à apprendre comment installer BoltWire sur un serveur Ubuntu 20.04. Si tu aimes cet article, alors partage-le avec tes amis sur twitter ou facebook. Si tu as des questions, alors n’hésite pas à laisser un commentaire ci-dessous.

Vous aimerez aussi...