Comment configurer un flux de travail Drupal dans cPanel avec Git - OSTraining

Publié: 2022-06-29

Contrairement à d'autres CMS, la mise à jour du noyau Drupal n'est pas difficile, mais quelque peu compliquée en raison de tous les détails impliqués. Dans ce didacticiel, nous allons implémenter une installation locale de Drupal 9, puis nous allons télécharger (pousser) cette base de code vers un référentiel central sur Bitbucket. Nous allons ensuite télécharger (extraire) la base de code de ce référentiel vers le serveur en direct, où le site Web sera stocké.

En utilisant ce processus (orienté terminal), vous pourrez accélérer les mises à jour du noyau et des modules Drupal, et vous suivrez les meilleures pratiques.

Il est supposé que vous avez déjà une pile LAMP installée sur votre système. De plus, vous avez besoin d'un accès au terminal sur votre serveur Web.

Continuez à lire pour savoir comment!

Étape 1 : Installer Drupal 9 localement

Ouvrez l'application Terminal de votre système et placez le curseur sur le répertoire de votre serveur local, généralement /var/www/html sur un système Linux.

  • Type : composer create-project drupal/recommended-project my_drupal

Cela téléchargera la dernière version stable de Drupal sur votre machine.

  • Tapez :
 cd my_drupal/ mkdir config cd web/sites/default/ cp default.settings.php settings.php cd .. sudo chmod -R 777 default/

Ces commandes de terminal effectuent les actions suivantes dans l'ordre :

  • Accéder au répertoire my_drupal
  • Créez un répertoire appelé config
  • Accéder au répertoire par défaut
  • Copiez le fichier default.settings.php et changez son nom en settings.php
  • Revenir au répertoire des sites
  • Attribuez des autorisations globales au répertoire par défaut, afin que le système puisse terminer le processus d'installation

Une fois cette opération terminée, nous devons créer une base de données.

  • Tapez : mysql -u root -p

Entrez votre mot de passe racine MySQL.

 create database my_drupal; exit;

Cela crée la base de données que vous lierez à votre base de code.

  • Ouvrez votre navigateur Web
  • Tapez : localhost/my_drupal/web

Terminez le processus d'installation locale.


Étape 2 : Création et ajout d'une clé au référentiel distant

Pour les besoins de ce tutoriel, je vais utiliser Bitbucket. Les étapes sont assez similaires à un profil Github.

Une fois connecté à votre compte Bitbucket, cliquez sur l'icône de votre profil, située (au moment d'écrire ces lignes) dans le coin inférieur gauche.

  • Sélectionnez Paramètres personnels
  • Cliquez sur Clés SSH
  • Cliquez sur Ajouter une clé

Vous verrez une fenêtre contextuelle vous demandant une étiquette et une clé.

  • Tapez MyLaptop, BobsPC , ou ce que vous voulez pour identifier votre propre machine sur Bitbucket
  • Ouvrez votre application terminale
  • Tapez : ls -al ~/.ssh

La période avant le nom nous dit, c'est un répertoire caché. Il y a deux possibilités :

  1. Vous obtenez une liste de fichiers, l'un de ces fichiers a l'extension .pub.
  1. Vous obtenez le message "Fichier ou répertoire introuvable".

Le fichier avec l'extension .pub est la clé publique de votre système. Si vous ne voyez pas ce fichier, vous devez en créer un. Si vous voyez le fichier, continuez à lire quand même.

  • Tapez : ssh-keygen -t rsa -C "my_email@my_domain.com"
  • Appuyez sur Entrée pour sélectionner le répertoire par défaut où la clé sera stockée (.ssh).
  • Saisissez deux fois la même phrase de passe (vous pouvez la laisser vide en appuyant deux fois sur Entrée .)

Le système vous informera de l'emplacement de votre clé publique et de son empreinte digitale. Si vous aviez déjà la clé .pub sur votre système, revenez ici.

  • Ouvrez le fichier .ssh/id_rsa.pub avec votre éditeur de code préféré
  • Copiez tout le texte, y compris votre adresse e-mail
  • Ouvrez votre navigateur et collez -le dans la zone de texte
  • Cliquez sur Ajouter une clé

Votre machine locale peut maintenant se connecter à Bitbucket.


Étape 3 : Création du référentiel distant

Sur votre profil Bitbucket :

  • Cliquez sur Créer un référentiel
  • Sélectionnez un espace de travail et un nom de projet ( créez-les si c'est la première fois )
  • Donnez un nom propre à votre dépôt
  • Ne pas inclure de fichier README
  • Ne pas inclure de fichier .gitignore
  • Cliquez sur Créer un référentiel

Étape 4 : Ajouter le référentiel local à Bitbucket

  • Tapez :
 cd /var/www/html/my_drupal/web mv example.gitignore .gitignore git init git add . git commit -m 'Fresh Drupal installation'

Vous accédez au répertoire racine de votre installation Drupal, en changeant le nom du fichier example.gitignore en .gitignore, en initialisant votre référentiel local, en ajoutant les fichiers à la zone de staging git, et enfin en validant ces "changements" (le référentiel était initialement vide) dans le référentiel.

  • Tapez :
 git remote add origin [email protected]:[MY_PROJECT]/my-drupal.git git push -u origin master

Vous pouvez copier et coller ces deux commandes depuis la page du référentiel sur Bitbucket.

  • Tapez oui, si vous y êtes invité
  • Entrez votre mot de passe

Vérifiez le dépôt sur Bitbucket. Presque tous les fichiers du répertoire Web ( votre référentiel local ) ont été copiés dans votre référentiel distant. Jetez un œil au répertoire sites/default.

Notez que le fichier settings.php est manquant. En effet, il est inclus dans le fichier .gitignore.

  • Ouvrez votre terminal et
  • Tapez : nano .gitignore
  • Tapez Ctrl+x pour fermer l'éditeur nano

Si vous regardez les cartes dans la première image de ce tutoriel, vous remarquerez que nous avons déjà terminé les tâches de la carte 1, et qu'il ne reste qu'une tâche dans la carte 2. Continuons avec la dernière partie de ce processus .


Étape 5 : créer une base de données en direct

Ouvrez votre tableau de bord chez votre hébergeur et créez un nouveau compte Drupal avec votre nom de domaine.

  • Cliquez sur le "programme d'installation à un bouton" de Drupal.
  • Cliquez sur Créer un compte

Cela peut varier d'un fournisseur à l'autre, vous devez donc trouver votre chemin ici.

Vous recevrez un email avec un utilisateur Drupal (admin) et un mot de passe Drupal. De plus, vous recevrez également le nom d'utilisateur et le mot de passe de votre compte cPanel. Ce sont ceux dont nous avons besoin. Ils sont également disponibles sur votre tableau de bord chez votre hébergeur.

  • Cliquez sur Activer SSH , afin que nous puissions avoir accès au terminal sur le serveur en direct.
  • Cliquez sur le lien cPanel
  • Tapez les bases de databases dans la zone de recherche
  • Sélectionnez les bases de données MySQL

Le programme d'installation en un clic a créé une base de données. Supprimer cette base de données.

  • Entrez un nom propre pour votre base de données.

Notez le préfixe de base de données automatiquement ajouté par cPanel ( dans la plupart des cas, votre nom d'utilisateur ).


Étape 6 : Importer la base de données locale

  • Ouvrez votre application terminale
  • Tapez :
 mysqldump -u root p my_drupal > ~/[path/to/your/desktop]/[cpanel_sql_db_name].sql
  • Entrez votre mot de passe racine SQL

Cela fera une copie de votre base de données et la placera sur votre bureau. Cette base de données sur le bureau doit avoir le même nom que celle que vous avez créée sur cPanel.

Si vous avez MySQL version 8 sur votre machine, vous devrez probablement adapter la base de données pour fonctionner avec MySQL 5 ( disponible chez votre hébergeur ).

  • Tapez :
 sed -i -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' [cpanel_sql_db_name].sql

Il s'agit de la commande Linux pour effectuer cette opération.

  • Ouvrez votre tableau de bord cPanel
  • Tapez phpMyAdmin dans le champ de recherche et sélectionnez -le
  • Cliquez sur le nom de votre base de données pour la sélectionner. Il doit être vide ( Aucune table trouvée dans la base de données )
  • Cliquez sur Importer
  • Cliquez sur Choisir un fichier
  • Sélectionnez la base de données à partir de votre bureau
  • Faites défiler vers le bas et cliquez sur Go

Cela prendra quelques minutes, alors soyez patient.


Étape 7 : Redirigez votre domaine

Drupal est stocké dans le répertoire web, donc pour accéder à votre site, vous devez entrer l'URL : https://yoursite.xxx/web

Si vous utilisez un service cloud, ce n'est pas un problème, vous pouvez modifier votre fichier hosts. Avec cPanel, ce n'est pas possible (pour autant que je sache). Vous devez créer une redirection d'URL permanente.

  • Ouvrez votre tableau de bord cPanel
  • Tapez Redirects dans le champ de recherche
  • Appuyez sur Entrée
  • Sélectionnez Redirection permanente (301)
  • Choisissez le nom de votre domaine dans le menu déroulant
  • Ajouter le lien de redirection
  • Cliquez sur Ajouter
  • Tapez Domains dans la zone de recherche
  • Appuyez sur Entrée
  • Cliquez sur le bouton Forcer la redirection HTTPS

Étape 8 : Téléchargez la base de code

  • Ouvrez votre tableau de bord cPanel
  • Tapez Gestionnaire de fichiers dans la zone de recherche
  • Appuyez sur Entrée
  • Double-cliquez sur le répertoire public_html
  • Cliquez sur le bouton Paramètres en haut à droite de l'écran
  • Cochez Afficher les fichiers cachés (dotfiles)
  • Cliquez sur Enregistrer
  • Cliquez sur Tout sélectionner
  • Cliquez sur Supprimer
  • Ouvrez le gestionnaire de fichiers de votre système
  • Compressez tout le dossier my_drupal
Comment configurer un flux de travail Drupal dans cPanel avec Git
  • Ouvrez le gestionnaire de fichiers cPanel
  • Cliquez sur Télécharger dans le répertoire public_html
  • Cliquez sur Sélectionner un fichier
  • Télécharger le fichier zip
  • Cliquez sur Retour une fois le fichier téléchargé sur le serveur
  • Cliquez avec le bouton droit sur le fichier zip et sélectionnez Extraire > Extraire les fichiers > Fermer
  • Double-cliquez sur le dossier my_drupal
  • Assurez -vous que l'option Afficher les fichiers cachés est activée
  • Cliquez sur Tout sélectionner
  • Cliquez sur Déplacer
  • Sélectionnez le répertoire public_html
  • Cliquez sur Déplacer les fichiers
  • Cliquez sur Monter d'un niveau
  • Faites un clic droit sur le fichier zip et cliquez sur Supprimer
  • Supprimez également le fichier zip de votre serveur local
  • Ouvrez votre terminal ou votre gestionnaire de fichiers
  • Copiez le fichier settings.php de l'installation locale sur votre bureau
  • Ouvrez le fichier avec votre éditeur de code préféré
  • Remplacez le nom d'utilisateur par le nom d'utilisateur fourni par votre hébergeur ( faites de même avec le nom de la base de données et le mot de passe - voir étape # 5 )
  • Enregistrez et fermez le fichier
  • Ouvrez le gestionnaire de fichiers dans le tableau de bord cPanel
  • Cliquez sur public_html/web/sites/default
  • Cliquez sur Télécharger
  • Sélectionnez le fichier settings.php sur votre bureau
  • Cliquez sur Oui pour écraser le fichier
  • Cliquez sur Retour
  • Modifiez les autorisations de fichier et de répertoire en fonction de l'image ci-dessous
  • Cliquez sur Monter d'un niveau
  • Modifiez les autorisations du dossier par défaut en 0755

Étape 9 : Définissez la version de PHP sur votre serveur

Drupal nécessite au moins PHP 7.3.

  • Ouvrez votre tableau de bord cPanel
  • Tapez Select PHP dans la zone de recherche
  • Appuyez sur Entrée
  • Sélectionnez 7.4
  • Cliquez sur Définir comme courant
  • Vérifier l'extension opcache
  • Tapez [yoursite.xxx/web] dans la barre d'adresse de votre navigateur
  • Cliquez sur Connexion avec le nom d'utilisateur et le mot de passe de votre installation Drupal locale
  • Cliquez sur l'onglet Modifier et modifiez votre mot de passe si nécessaire

Étape 10 : Ajouter la clé du serveur de production à Bitbucket

  • Ouvrez votre tableau de bord cPanel
  • Tapez Terminal dans le champ de recherche
  • Cliquez sur Entrée
  • Cliquez sur Je comprends et je veux continuer
  • Répétez le processus détaillé à l'étape # 2
  • Tapez : less ~/.ssh/id_rsa.pub

less est un éditeur de terminal

  • Copiez et collez la clé comme indiqué à l'étape 2, cette fois pour la machine serveur
  • Type : q

Cela vous permettra de sortir moins.

Vous aurez une clé pour chaque machine ( ou machine virtuelle ) connectée à Bitbucket.


Étape 11 : Cloner le référentiel distant sur le serveur de production

  • Ouvrez l'application terminal de votre serveur
  • Tapez :
 cd public_html rm -rf web git clone [email protected]:[YOUR_PROJECT]/my-drupal.git web

Vous supprimez le dossier Web et le remplacez par le référentiel distant. Vous obtenez la dernière commande du terminal si vous ouvrez le dépôt Bitbucket et cliquez sur le bouton Cloner ( n'oubliez pas d'ajouter web à la fin de la commande ! ) .


Étape 12 : Installer un module ou un thème

  • Ouvrez l'application terminal de votre système local
  • Tapez :
 cd /var/www/html/my_drupal composer require drupal/bootstrap
  • Tapez cd web pour accéder au répertoire web
  • Tapez :
 git add . git commit -m 'Bootstrap theme installation' git status
  • Tapez git push
  • Entrez la phrase de passe si nécessaire
  • Ouvrez le terminal sur votre serveur distant.
  • Tapez ( entrez la phrase de passe si nécessaire ) :
 git fetch git status

Si vous voyez : Votre branche est derrière 'origin/master' d'un commit, et peut être accélérée,

  • Tapez : git merge

Cela fusionnera le code de votre serveur avec le code extrait du référentiel distant.

  • Allez dans la section des thèmes de votre backend Drupal, le thème Bootstrap devrait s'y trouver

NOTE : Il vous suffit de répéter cette dernière étape, chaque fois que vous téléchargez un module, mettez à jour le noyau Drupal ou modifiez le code CSS de votre thème.


Dépannage

Si vous obtenez des pages d'erreur 404 après l'installation de Drupal sur le serveur de production,

  • Supprimer le fichier .htaccess
  • Téléchargez -le à nouveau sur le serveur

J'espère que ce tutoriel vous a plu. Merci d'avoir lu!