VM avec Multipass : Comment les créer et les configurer [Apache2, mariadb et php]


Introduction: c’est quoi Multipass ?

Multipass est un outil qui permet de créer des machines virtuelles de manière rapide (seulement une commande est nécessaire pour les lancés). De plus, il permet de gérer ses machines virtuelles. En effet, un des avantages de Multipass est qu’il est utilisable sous Linux, mais aussi Windows et macOs. On va créer et configurer une VM dans Multipass en installant Apache2, mariadb et php.

Pour suivre la suite de l’article et le mettre en application, je vous conseille d’installer Multipass. Pour se faire voici les étapes à suivre :

Capture d'écran du site Multipass.run
Il faut cliquer sur le système d'exploitation que l'on a sur notre machine.
Capture d’écran du site Multipass.run
  • Cliquer sur le lien de téléchargement, et une fois le téléchargement terminé procéder à l’installation de Multipass sur votre machine.

1ère étape : Création de notre première VM dans Multipass

  • Ouvrez votre invite de commande en tapant dans la barre de recherche de votre machine -> « cmd » ou « invite de commande ».
  • Une fois qu’elle est ouverte tapez -> « multipass lauch -n nomDeVotreVM ». Changez « nomDeVotreVm » par le nom que vous souhaitez lui donner. Par exemple, si je veux l’appeler « dev » cela donnera -> « multipass lauch -n dev ».
  • Puis tapez sur la touche « Entrée » de votre clavier.

Vous devriez obtenir ce résultat :

Capture d'écran du résultat que vous devez obtenir. Création VM dans Multipass.
Capture d’écran de mon terminal de commande une fois la création de ma VM faîte.

Maintenant que votre machine virtuelle « dev » a été créée, nous allons rentrer dedans pour pouvoir y faire des installations.

  • Tapez -> « multipass shell nomDeVotreVM ».
  • Puis tapez sur la touche « Entrée » de votre clavier.
Capture d'écran du résultat que vous devez obtenir. Connexion VM dans Multipass.
Capture d’écran de mon terminal de commande une fois que je suis connectée sur ma VM

Nous avons maintenant créer et configurer des VM avec Multipass.

2e étape : Configuration de notre VM dans Multipass (apache2, mariadb et php)

a. Mettre à jour notre nouvelle VM dans multipass

Nous allons maintenant configurer notre VM en installant Apache2, mariadb et php afin de pouvoir ensuite l’utiliser.

Voici les étapes à suivre :

  • Tapez -> « sudo su » pour vous mettre en mode administrateur.
  • Puis tapez sur la touche « Entrée » de votre clavier.
  • Ensuite tapez -> « apt update » pour mettre à jour la VM.
  • Puis tapez sur la touche « Entrée » de votre clavier.
  • Tapez -> « apt upgrade » pour à jour la liste dees paquets déjà installer
  • Puis tapez sur la touche « Entrée » de votre clavier.

On va vous demander d’approuver la mise à jour, vous devez donc tapez -> « yes » puis tapez sur la touche « Entrée » de votre clavier.

Une fois le processus de téléchargement terminé, ceci va apparaître :

Capture d'écran du résultat que vous devez obtenir. Update de ma VM dans Multipass.
Capture d’écran de mon terminal de commande après l’update de ma VM

Vous devez sélectionner « <ok> » à l’aide de vos flèches et de entrez sur votre clavier.

b. Installation de Apache2, mariadb et php dans notre VM dans Multipass

On va installer Apache2, mariadb et php en ligne de commande sur notre machine virtuelle.

Vous devez :

  • taper -> « apt install mariadb-server php-common php-curl php-gd php-intl php-json php-mbstring php-xml php-zip libapache2-mod-php »
  • Puis tapez sur la touche « Entrée » de votre clavier.

On va vous demander l’autorisation de continuer, tapez : « Y » puis tapez sur la touche « Entrée » de votre clavier.

  • On va maintenant continuer les installations, tapez : « apt install apache2 php-fpm mariadb-server mariadb-client » puis tapez sur la touche « Entrée » de votre clavier.
  • Ensuite -> « a2enmod proxy_fcgi setenvif » et faîtes « entrée »
  • Puis « systemctl restart apache2« , faîtes entrée.
  • « a2enconf php8.1-fpm », faîtes entrée.
  • Et la dernière commande -> « systemctl reload apache2 »

Nous venons de finir l’installation de apache2, mariadb et de php.

c. Configurer mysql dans notre machine virtuelle de Multipass

Passons maintenant à la configuration de mysql dans notre VM sur Multipass. Nous allons créer un user et lui donner des droits.

On va débuter avec une première commande -> « mysql » et faîtes entrée.

Vous allez devoir écrire les lignes suivantes -> « 

CREATE USER ‘mariadb’@’localhost’ IDENTIFIED BY ‘mariadb*1’;
GRANT ALL ON *.* TO ‘mariadb’@’localhost’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
QUIT; »

Les majuscules sont importantes, faîtes attention à bien écrire la commande de la même manière que ci-dessus. Faîtes entrée lorsque vous avez tout tapé.

d. Configurer phpmyadmin dans notre VM Multipass

La dernière étape va être de configurer notre phpmyamdin. On va commencer par l’installer puis y renseigner un mot de passe.

  • Tapez -> « apt install phpmyadmin ». On va vous demander l’autorisation de continuer alors écrivez « Y » et faîtes entrée.

Une fenêtre va s’ouvrir, faîtes bien attention à choisir Apache2 comme serveur web. Pour sélectionner « apache2 » vous devez cliquer sur votre barre d’espace de votre clavier (une étoile blanche apparaîtra).

Capture d'écran du résultat que vous devez obtenir. Configurer php dans votre VM dans Multipass.
Capture d’écran de la fenêtre où tu dois choisir le serveur web apache2

On va vous demander de rentrer le mot de passe et de le confirmer.

Vous pouvez maintenant quitter votre VM en tapant -> « exit ».

3ème étape : Vérification de nos installations dans notre VM et configuration dans notre navigateur web

Pour vérifier que la page apache par défaut s’affiche il faut afficher ceci dans votre navigateur : http://xxx.xxx.xxx.xxx/phpmyadmin

Il faut remplacer les X par l’adresse IP de notre machine virtuelle que vous obtenez en tapant -> « ip a » de votre terminal de commande.

Conclusion

Nous venons de créer et de configurer des VM avec Multipass tout en installant apache2, mariadb et php. Vous pouvez donc maintenant créer facilement votre environnement de développement, notamment en créant 2 autres VM (une pour vos tests et une pour la mise en production de votre projet).