<aside> 💡

</aside>

Sommaire :

Les mises à niveau de Joomla

Les mises à niveau de Joomla étant toujours rock n’ roll, je dois toujours faire un essai en local. Ainsi au passage de 3 à 4, mon template n’était plus reconnu. J’ai donc du en faire un nouveau avant de refaire toute la manip en production.

https://infodocbib.net/2022/01/bagad-elven-20-ans-sur-la-toile/

https://infodocbib.net/2022/01/bagad-elven-20-ans-sur-la-toile/

Pour la mise à niveau de Joomla 4 vers 5, j’ai donc voulu tester en local également. Sauf que…

… Joomla 5 nécessite PHP 8 et MySQL 8 (ou MariaDB 10), et j’ai bien galéré avec Xampp.

Solution possible :

Docker Desktop

https://www.docker.com

Lancer Docker Desktop

Installé dans C:\Program Files\Docker , Docker Desktop pour Windows est **intégré à WSL : \\wsl.localhost\docker-desktop**

Lancer Docker Desktop lance donc automatiquement WSL

Sauf par la ligne de commande, donc à éviter

Sauf par la ligne de commande, donc à éviter

Choisir le mode administrateur et l’interface graphique :

image.png

Arrêter Docker Desktop proprement

Fermer la fenêtre n’arrête pas Docker Desktop

Eviter de passer par le terminal quand la fenêtre est ouverte : wsl -t docker-desktop finit en message d’erreur Arrêter une distri : wsl -t <distri> (-t : --terminate)

La bonne méthode, par la barre des tâches :

Même en fermant la fenêtre, Docker continue à tourner. Aller à droite de la barre des tâches pour l’éteindre complètement

Même en fermant la fenêtre, Docker continue à tourner. Aller à droite de la barre des tâches pour l’éteindre complètement

Des fichiers Docker Desktop éparpillés façon puzzle

Le nombre d’endroits où on trouve des fichiers de Docker Desktop est assez effarant :

\\\\wsl.localhost\\docker-desktop C:\\Program Files\\Docker

Les images virtualisées des conteneurs se trouvent ailleurs dans C : C:\\Users\\tadko\\.docker

Il y a du Docker dans le Ubuntu par défaut : \\\\wsl.localhost\\Ubuntu\\home\\lurin\\.docker

D’autres données personnelles encore sont stockées dans AppData : C:\\Users\\tadko\\AppData\\Roaming\\Docker C:\\Users\\tadko\\AppData\\Roaming\\Docker Desktop C:\\Users\\tadko\\AppData\\Local\\Docker Desktop Installer C:\\Users\\tadko\\AppData\\Local\\Docker

On trouve deux fichier .vdhx dans ce dernier répertoire C:\\Users\\tadko\\AppData\\Local\\Docker : C:\\Users\\tadko\\AppData\\Local\\Docker\\wsl\\disk\\docker_data.vhdx (5,74 Go) C:\\Users\\tadko\\AppData\\Local\\Docker\\wsl\\main\\ext4.vhdx (131 Mo) C’est le même nom que le disque virtuel d’Ubuntu par défaut, mais pas la même taille : C:\\Users\\tadko\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\\LocalState\\ext4.vhdx (8,73 Go)

3 fichiers .vhdx dans tout le lecteur C

3 fichiers .vhdx dans tout le lecteur C

Format de fichier VHDX - Qu'est-ce qu'un fichier VHDX ?

De plus, les volumes peuvent être associés à n’importe quel endroit du système : D:\\DockerLamp\\docker-compose-lamp

Autant dire que supprimer Docker Desktop totalement du système doit relever de l’exploit !

Disk image location

On peut changer l’emplacement des fichiers vhdx, ce qui peut faire gagner de la place sur C:

image.png

Possibilité de déplacer tout le dossier de

C:\\Users\\tadko\\AppData\\Local\\Docker\\wsl

vers

D:\\DockerWSL

Lien avec WSL

Il semble que l’intégration par défaut de docker soit avec la distri par défaut :

Docker : exécuter un container Linux sous Windows avec WSL 2

D’une part, arrêter docker-desktop arrête automatiquement l’Ubuntu par défaut :

image.png

D’ailleurs, c’est le navigateur de la distri par défaut qu’il faut utiliser pour voir les résultats des containers Docker (cf Docker LAMP ci-dessous)

En outre, Il y a des fichiers Docker dans les données utilisateur du Ubuntu par défaut : \\\\wsl.localhost\\Ubuntu\\home\\lurin\\.docker

Enfin, le lien avec WSL peut-être paramétré :

image.png

Docker LAMP

Installer Docker LAMP

GitHub - sprintcube/docker-compose-lamp: A basic LAMP stack environment built using Docker Compose.

Installation

git clone [<https://github.com/sprintcube/docker-compose-lamp.git>](<https://github.com/sprintcube/docker-compose-lamp.git>)
cd docker-compose-lamp/
cp sample.env .env
// Dans le fichier .env modifiez les variables d'environnement ou laissez les valeurs par défaut
docker compose up -d
// visit localhost

http://localhost:88

Le localhost classique lance… le premier Xampp, même avec Docker Desktop allumé ! Donc pour utiliser localhost dans Docker, il faut changer les ports (cf variables d’environnement ci-dessous)

Dans le Firefox d’Ubuntu : http://localhost:88

Dans le Firefox d’Ubuntu : http://localhost:88

Variables d’environnement

This package comes with default configuration options. You can modify them by creating .env file in your root directory. To make it easy, just copy the content from sample.env file and update the environment variable values as per your need.

Ca se passe dans le volume : D:\\DockerLamp\\docker-compose-lamp dans le gestionnaire de fichiers

image.png

Lancer le localhost classique lance… le premier Xampp, même avec Docker Desktop allumé ! Donc pour utiliser localhost dans Docker, il faut changer les ports :

If you already have the port 80 in use, you can change it (for example if you have Apache) HOST_MACHINE_UNSECURE_HOST_PORT=88

If you already have the port 443 in use, you can change it (for example if you have Apache) HOST_MACHINE_SECURE_HOST_PORT=443

If you already have the port 3306 in use, you can change it (for example if you have MySQL) HOST_MACHINE_MYSQL_PORT=3305

If you already have the port 8080 in use, you can change it (for example if you have PMA) HOST_MACHINE_PMA_PORT=8081 HOST_MACHINE_PMA_SECURE_PORT=8443

If you already has the port 6379 in use, you can change it (for example if you have Redis) HOST_MACHINE_REDIS_PORT=6379

SSL (HTTPS) - Marche pas

3 moyens, j’ai choisi le premier

Le support des domaines https est intégré mais désactivé par défaut. Il y a trois façons d'activer et de configurer SSL ; https sur localhost étant la plus simple. Si vous essayez de recréer un environnement de test aussi proche que possible d'un environnement de production, n'importe quel nom de domaine peut être supporté avec plus de configuration.

HTTPS on Localhost

To enable https on localhost (https://localhost) you will need to:

  1. Use a tool like mkcert to create an SSL certificate for localhost:
  2. Uncomment the 443 vhost in config/vhosts/default.conf.

Done. Now any time you turn on your LAMP container https will work on localhost.

phpMyAdmin

Penser à lancer phpMyAdmin, qui ne se lance pas par défaut à l’ouverture de Docker Desktop

phpMyAdmin is configured to run on port 8080. Use following default credentials http://localhost:8081/ (cf variables d’environnement ci-dessus) username : root password : tiger

Ou cliquer sur phpMyAdmin dans l’onglet http://localhost:88 de départ

Ou cliquer sur phpMyAdmin dans l’onglet http://localhost:88 de départ

Installation de Joomla

http://localhost:88/JoomlaElven/

Joomla vierge

Installation de Joomla! - Joomla! Documentation

Nom

Pseudo

Mot de passe

mail

Le super utilisateur peut être changé avec les paramètres d’Akeeba

Sélectionnez le type de base de données à utiliser *

Entrez le nom d'hôte, généralement "localhost" ou un nom fourni par votre hébergeur. *

Veuillez saisir le nom d'utilisateur de la base de données que vous avez créé ou un nom d'utilisateur fourni par votre hébergeur. *

Veuillez saisir le mot de passe de la base de données que vous avez créé ou un mot de passe fourni par votre hébergeur.

Saisissez le nom de la base de données * (l’avoir créée au préalable dans phpMyAdmin)

Saisissez un préfixe de table ou utilisez celui généré aléatoirement * Attention, un préfixe différent de celui de l’archive conduira Akeeba à dupliquer toutes les tables.

Dupliquer le Joomla de la prod dans Docker avec Akeeba et Kickstart

Download

Vidéo tuto