Pages : 1
#1 Hier à 16:17
- pucci
Docker Lamp 2 versions de php
Bonjour
J'ai un serveur Lamp installé sur une Ubuntu 22.04 donc avec la version 8.1.2 de php.
Or, j'ai besoin de travailler en local sur un site spip 4.0.11 est compatible, c'est PHP 7.3 à 8.0.
Tout en ayant des sites test en 8.1.
J'ai vu que l'utilisation de docker est recommandée pour l'utilisation de 2 versions de php. Je viens de lire le tuto Monter un serveur LAMP grâce à Docker et je me pose quelques questions bêtes :
- Doit-on désinstaller le serveur lamp précédemment installer puisque selon le tuto, une docker-lamp installé, le localhost est celui du lamp de docker ? Ou bien, peut-on avoir 2 lamp sur la même machine, une avec php 8.1, l'autre avec php 7.4
- Et comment faire coexister 2 versions de php dans docker ? Et comment affecter tel site à php 7.4, tel autre à 8.1 ?
Merci
Hors ligne
#2 Hier à 17:20
- pucci
Re : Docker Lamp 2 versions de php
Je me réponds à moi-même concernant la coexistence de 2 versions de php sur une même instance : une solution serait l'utilisation de PHP-FPM et de créer pour parex 2 sites web deux fichiers de configuration d’hôte virtuel (/etc/apache2/sites-available/). Cela permettra à vos deux sites web de fonctionner simultanément avec deux versions PHP différentes.
Hors ligne
#3 Hier à 17:30
- krodelabestiole
Re : Docker Lamp 2 versions de php
non : il ne doit y avoir qu'une version de PHP sur ton système.
- Doit-on désinstaller le serveur lamp précédemment installer
oui, ou au moins le désactiver si tu veux que docker réponde sur le port 80.
je dois mettre ce tuto à jour.
depuis j'ai écrit un script pour générer un docker-compose depuis n'importe quel application lamp : https://gitlab.com/crachecode/docker-lamp-app
mais il existe surtout des images docker pour déployer spip facilement, je te conseille de suivre leur documentation : https://hub.docker.com/r/ipeos/spip
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#4 Hier à 17:33
- pucci
Re : Docker Lamp 2 versions de php
merci
Hors ligne
#5 Hier à 17:51
- krodelabestiole
Re : Docker Lamp 2 versions de php
depuis j'ai écrit un script pour générer un docker-compose depuis n'importe quel application lamp : https://gitlab.com/crachecode/docker-lamp-app
je viens de faire une petite mise à jour au cas où.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#6 Hier à 18:05
- krodelabestiole
Re : Docker Lamp 2 versions de php
- Et comment faire coexister 2 versions de php dans docker ? Et comment affecter tel site à php 7.4, tel autre à 8.1 ?
c'est pour de la production ou du développement ?
pour du dev le plus simple est probablement de démarrer un docker-compose ou l'autre en fonction de celui sur lequel tu travailles, ou utiliser des ports différents si tu peux te le permettre.
sinon tu peux utiliser un reverse proxy comme traefik qui sert justement à orienter sur tel ou tel service docker en fonction du nom de domaine appelé (sur ubuntu tous les sous-domaine de .localhost pointent sur la machine locale).
c'est ce que met en place le script Docker LAMP App, et aussi ce que j'ai fait pour la version de dev d'ubuntu-fr : https://gitlab.com/ubuntu-fr/code/ufr-dev-env
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#7 Hier à 18:24
- pucci
Re : Docker Lamp 2 versions de php
C'est juste pour du développement qui débouchera d'ailleurs sur un changement de version de spip compatible avec 8.1.
L'idée, je ne sais pas si j'ai bien compris,, serait d'avoir un conteneur avec 7.4 et un autre 8.1. Et de démarrer l'un ou l'autre en fonctionne du site sur lequel je travaille ?
Comme c'est sur mon PC, je peux utiliser des ports différents, j'utiliserais alors docker compose pour attribuer un port à un service web image: lavoweb/php-7.4 et un autre à image: lavoweb/php-8.1 ?
Hors ligne
#8 Hier à 18:25
- krodelabestiole
Re : Docker Lamp 2 versions de php
non : il ne doit y avoir qu'une version de PHP sur ton système.
pour expliquer ça plus en détail : je parle de la version deb dispo via APT, qui s'intègre directement au système.
malheureusement on trouve sur le web plein de tutos consternants expliquant la mise en place du dépôt ondrej sury pour installer autant de versions PHP qu'on veut simultanément.
vu les nombreux problèmes que ça pose, j'ai dû faire le tour de ce sujet près d'une centaine de fois ici (voir sujets récurrents).
APT n'est pas adapté à cet usage. APT permet de maintenir un système à jour, et d'installer une version d'un logiciel avec ses dépendances à la dernière version proposée par les mainteneurs des dépôts associés à une distro en particulier.
inclure le numéro de version dans le nom du paquet (pour installer plusieurs versions simultanément) c'est un hack grossier, et même si cette technique est parfois employée pour certains logiciels un peu particuliers (java par ex.), on ne l'utilise jamais pour des versions mineures. ça mettrait un bordel innommable dans les dépôts et les distros seraient impossibles à maintenir.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#9 Hier à 18:30
- krodelabestiole
Re : Docker Lamp 2 versions de php
L'idée, je ne sais pas si j'ai bien compris,, serait d'avoir un conteneur avec 7.4 et un autre 8.1. Et de démarrer l'un ou l'autre en fonctionne du site sur lequel je travaille ?
ça me semble être le plus simple. et pas besoin de port exotique.
je suppose que chaque projet a un répertoire dédié. dans chacun de ces répertoires tu créés un fichier docker-compose.yml avec les outils dont tu as besoin : soit une image SPIP ou autre, soit une image LAMP (ou apache + PHP + mysql / mariadb) comme dans mon tuto, éventuellement aussi un service phpMyAdmin ou adminer.
puis dans chaque répertoire :
docker compose up
pour démarrer
docker compose stop
pour arrêter
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#10 Hier à 18:32
- pucci
Re : Docker Lamp 2 versions de php
Effectivement ça m'a l'air plus simple comme ça j'ai plus qu'à m'y mettre
Merci beaucoup
Hors ligne
#11 Hier à 18:35
- krodelabestiole
Re : Docker Lamp 2 versions de php
pas de quoi
le script Docker LAMP App peut t'aider à mettre ça en place : c'est un genre de "wizzard" qui génère les bons fichiers, tu peux toujours les modifier après coup. mais il va un peu plus loin parce qu'il met en place traefik pour accéder à une application via https://nom_application.localhost
en ce qui te concerne ça risque d'augmenter la complexité sans être très utile.
.. après traefik c'est une techno qui peut quand-même s'avérer très intéressante, mais tu risques d'avoir déjà beaucoup à assimiler d'un coup...
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
Pages : 1