Comment configurer un flux de travail Drupal dans cPanel avec Git - OSTraining
Publié: 2022-06-29Contrairement à 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 :
- Vous obtenez une liste de fichiers, l'un de ces fichiers a l'extension .pub.
- 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
- 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!