Formation PUB020 : WordPress, 2023 Installations sur votre portable

1.1 Installation de Devilbox


Dans cette fiche :

Serveurs requis

Pour monter un site Web, il faut un environnement de développement qui contient :

  • Un serveur Web (ex : Apache, NGnix)
  • Un serveur de bases de données (ex : MySQL, MariaDB)
  • Des modules propres au langage de programmation (ex : modules PHP)
  • Possiblement un outil de gestion de base de données (ex : phpMyAdmin)

Il existe différentes familles d'environnements de développement Web. Parmi les plus utilisées, notons :

  • LAMP (Linux, Apache, MySQL, Php)
  • MEAN (MongoDB, Express, Angular, and Node)

Qu'est-ce que Devilbox

Devilbox est un outil de développement sophistiqué qui peut être personnalisé en tant qu'environnement LAMP ou MEAN, basé sur des conteneurs Docker.

Voici quelques-uns des avantages que vous en tirerez :

  • Devilbox roule sous macOS, Linux et Windows.
  • Grâce à Docker, les serveurs installés n'entrent pas en conflit avec ce qui est installé sur l'ordinateur.
  • Contrairement à une machine virtuelle, un conteneur Docker utilise les ressources du système d'exploitation. Les conteneurs sont donc plus légers que des machines virtuelles.
  • Toujours grâce à Docker, l'environnement de développement peut facilement être reproduit sur un autre ordinateur.
  • Vous pouvez développer autant de sites Web que désiré à l'aide d'une seule installation Devilbox.
  • Devilbox est paramétrable. La majorité des configurations sont regroupées dans le fichier .env.
  • La documentation de Devilbox est excellente.

Installation

Les instructions pour installer et configurer Devilbox sont clairement expliquées sur le site de Devilbox.

Je les reprends ici avec quelques explications supplémentaires.

Installation de Docker Desktop (Windows et macOS)

Devilbox roule par-dessus Docker. Vous devez donc installer et démarrer Docker Desktop.

Téléchargement pour Windows : https://docs.docker.com/desktop/install/windows-install/

Téléchargement pour macOS : https://docs.docker.com/desktop/install/mac-install/

 

Instructions particulières sous Windows (WSL)
  • Après avoir lancé l'installation de Docker Desktop, assurez-vous que la case Use WSL 2 instead of Hyper-V soit cochée. Notez que sur certains systèmes, cette option n'apparaît pas et elle est considérée activée par défaut.

    Use WSL 2 instead of Hyper-V

  • Une fois l'installation complétée, redémarrez l'ordinateur.
  • Activez WSL 2 (Windows Subsystem for Linux) dans vos configurations Windows :
    • Lancez une fenêtre Terminal (ou une fenêtre CMD lancée en tant qu'administrateur).
    • Entrez la commande :
      Terminal

      wsl --install

    • Si, au lieu de lancer l'installation, cette commande affiche une page d'options, utilisez la commande :
      Terminal

      wsl --update

    • Pendant l'installation d'Ubuntu, retenez le code d'usager et le mot de passe que vous aurez choisis.
    • Si vous obtenez une fenêtre avec le message « WSL 2 installation is incomplete », cliquez sur le lien proposé pour installer ce qui manque.

      WSL 2 installation is incomplete

    • Redémarrez l'ordinateur.
    • Vérifiez les installations wsl.
    • Terminal

      wsl -l -v

      Résultat à l'écran

        NAME                 STATE               VERSION
      * docker-desktop       Stopped             2
        Ubuntu               Stopped             2

    • Si vous ne voyez pas de ligne avec Ubuntu, c'est que vous devez installer ce système d'exploitation dans WSL.
      • Entrez la commande :
        Terminal

        wsl --install -d Ubuntu

      • Une fois l'opération complétée, relancez cette commande :
        Terminal

        wsl -l -v

    • Si Ubuntu n'utilise pas wsl 2, entrez cette commande.
      Terminal

      wsl --set-version Ubuntu 2

    • Relancez Ubuntu. Vous devez utiliser le code d'usager que vous avez créé plus tôt. 
      Terminal

      wsl -d Ubuntu -u nomusager

    • De retour à Windows, lancez Docker.
    • Cliquez sur l'icône de roue dentelée puis choisissez l'option Resources / WSL Integration.
    • Normalement, vous devriez voir l'option « Enable integration with additionnal distros ». Activez Ubuntu.

      Enable integration with additionnal distros

      Notez que si vous voyez le message « You don't have any WSL 2 distro. », c'est soit que vous n'avez pas correctement installé Ubuntu, soit que vous ne l'avez pas converti en WSL 2.

 

Installation de Devilbox (Windows et macOS)

Installez maintenant Devilbox. 

Assurez-vous que Git soit installé sur votre poste de travail (il l'est par défaut sous macOS).

Sous macOS, ouvrez une fenêtre Terminal.

Sous Windows, pour effectuer les mêmes manipulations, ouvrez une fenêtre Terminal (et non CMD) ou une console Git Bash qui vous permettra de lancer des commandes « à la Linux ».

Placez-vous dans le dossier dans lequel vous désirez installer Devilbox. Ici, j'ai choisi de le placer sous Documents.

Terminal

cd /Users/monnom/Documents

Clonez le répertoire Git de Devilbox.

Terminal

git clone https://github.com/cytopia/devilbox

Placez-vous maintenant dans le nouveau dossier.

Terminal

cd devilbox

Créez le fichier de configuration .env à partir de l'exemple fourni.

Terminal

cp env-example .env

Configurations

Les configurations de Devilbox sont réalisées en éditant le fichier .env.

Si les configurations sont modifiées pendant l'installation de Devilbox, avant que les conteneurs soient démarrés, il n'y a rien de spécial à faire.

Par contre, si les configurations sont modifiées après le démarrage des conteneurs, il faudra réinitialiser les conteneurs.

Configurations à modifier (macOS seulement)

Parmi les configurations à ajuster, il y a l'identifiant d'usager et de groupe.

Les valeurs à utiliser sur votre système peuvent être trouvées à l'aide de ces commandes :

Terminal

id -u

et

Terminal

id -g

Les valeurs sur votre système peuvent être différentes de celles présentées ici.

Résultat à l'écran

monnom@MacBook-Pro-de-MonNom ~ %id -u
502
monnom@MacBook-Pro-de-MonNom ~ %id -g
20

Il faut utiliser ces valeurs pour les configurations NEW_UID et NEW_GID.

Fichier .env

###
### Set your user id and group id
###
### This should be changed to the value of your local
### users uid and gid
###
### Type `id` on the terminal to find out your values
###
NEW_UID=502
NEW_GID=20

Configurations qui peuvent être laissées telles quelles

La majorité des configurations par défaut présentées dans le fichier .env peuvent être laissées telles quelles. Elles sont bien expliquées ici : https://devilbox.readthedocs.io/en/latest/configuration-files/env-file.html.

Note : vous n'avez pas de manipulations à réaliser dans cette section. Je vous présente simplement les informations à connaître.

Parmi les configurations par défaut dans .env, notons :

  • La racine du serveur HTTP sera devilbox/data/www. C'est sous ce dossier que vos projets seront placés, chacun dans son dossier.
  • Pour chaque projet, vous devez créer un nom de domaine local sous la forme monsite.dvl.to où monsite correspond au nom du dossier du projet.
  • Sous chaque dossier de projet, il devra y avoir un sous-dossier htdocs. Le nom de domaine local pointera sur ce sous-dossier. Il s'agit donc du dossier racine du site Web. C'est dans htdocs que vous devez placer les fichiers du site Web.

    Structure des dossiers

  • Pour MySQL (ou MariaDB), le mot de passe de l'usager root est à blanc.

Vous pouvez modifier ces configurations pour répondre à un besoin précis.

Vérification de la configuration

Il est prudent de vérifier la configuration avant d'aller plus loin.

Le script effectuera une série de vérifications et indiquera pour chacune si tout est correct ou ce qui ne va pas.

Démarrage de Devilbox

Assurez-vous que Docker Desktop soit démarré. Si vous omettez cette étape, vous obtiendrez le message « command not found: docker-compose ».

Dans une fenêtre Terminal, placez-vous dans le dossier devilbox puis lancez cette commande :

Terminal

docker-compose up

Sous Windows, vous pourriez avoir un message qui dit que le pare-feu Windows Defender a bloqué certaines fonctionnalités. Vous devez autoriser l'accès pour que Devilbox puisse fonctionner correctement.

Pare feu

La première fois que la commande est exécutée, les fichiers requis seront téléchargés afin de créer les images Docker qui servent à démarrer les conteneurs.

Pour arrêter les conteneurs Docker, vous devez appuyer sur Ctrl + C (Mac, Linux et Windows) dans la fenêtre Terminal.

Notez qu'après le premier démarrage des conteneurs, vous pourrez utiliser l'interface graphique de Docker pour démarrer et arrêter les conteneurs.

Tableau de bord de Devilbox

Si tout a fonctionné jusqu'ici, vous pouvez entrer l'adresse 127.0.0.1 dans un navigateur.

La page d'accueil de Devilbox, aussi appelée tableau de bord, apparaîtra.

Page d'accueil de Devilbox

Projet helloworld

Pour créer votre premier site Web sous Devilbox, ajoutez un dossier sous devilbox/data/www. Dans cet exemple, le dossier s'appelle helloworld.

Dans ce dossier, créez un sous-dossier nommé htdocs

Sous htdocs, créez un fichier nommé index.php.

Copiez-y ces lignes de code :

Fichier devilbox/data/www/helloworld/htdocs/index.php

<?php
echo 'Hello World!';

Ajoutez une ligne dans le fichier hosts de votre ordinateur (sous Windows : C:\Windows\System32\drivers\etc\hosts, sous macOS : /etc/hosts) pour faire pointer le nom de domaine local (helloworld.dvl.to) vers l'adresse IP 127.0.0.1.

Fichier hosts

127.0.0.1 helloworld.dvl.to

Pour voir le résultat, entrez simplement le nom de domaine local dans votre navigateur.

Notez que la première fois, vous devrez probablement entrer http:// suivi du nom de domaine local.

helloworld.dvl.to

Il est également possible de passer par le tableau de bord de Devilbox.

L'option de menu Virtual Hosts vous présentera une liste de tous les sites Web installés dans votre Devilbox et vous permettra d'y accéder par un simple clic.

Fenêtre Virtual Hosts

Erreur 403 Forbidden ou 404 Not Found

Voici quelques pistes pour vous aider à régler l'erreur « 403 Forbidden » ou « 404 Not Found ».

Dossier htdocs

Vous obtiendrez une de ces erreurs si vous n'avez pas placé les fichiers du site Web dans un sous-dossier htdocs.

Déplacez simplement les fichiers de l'application dans ce sous-dossier.

Mauvaise extension de fichier

Sous Windows, les extensions de fichier sont cachées par défaut. Ceci fait en sorte qu'un fichier que vous voyez comme index.php pourrait en réalité porter le nom index.php.txt.

Si vous obtenez une de ces erreurs alors que vous avez bel et bien un fichier index.php dans le dossier htdocs, assurez-vous que les extensions de fichier sont affichées et corrigez le nom du fichier s'il est en erreur.

Si le nom de domaine ne doit pas pointer sur la racine du projet

Dans certains cas, il faut que la racine du site Web (le dossier vers lequel le nom de domaine pointe) soit différente de la racine du projet (le dossier qui contient l'ensemble des fichiers du site Web). Ce sera le cas, par exemple, avec un projet codé avec Laravel où le nom de domaine doit pointer sur le sous-dossier public et ce, pour des raisons de sécurité.

Dans un tel cas, il faut placer tous les fichiers du site directement sous le dossier que vos avez créé sous www. Il n'y aura pas de dossier htdocs.

Vous ajouterez ensuite un lien symbolique.

Terminal

cd chemin/devilbox
docker exec -it devilbox-php-1 bash

Terminal du conteneur PHP

cd monprojet
ln -s . htdocs

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre