Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/05/2017, à 22:12

krodelabestiole

[tutoriel] Monter un serveur LAMP grâce à Docker

Coucou je viens de rédiger un tuto pour monter un serveur LAMP grâce à docker en 3 lignes de commande : https://doc.ubuntu-fr.org/docker_lamp

ça me semble extrêmement pratique, même plus que d'installer les versions natives proposées par sa distro Linux : c'est indépendant du reste du système, pas besoin de s'inquiéter de la compatibilité des versions de PHP, ou d'ajouter des dépôts inconnus, on peut centraliser ses configs personnalisées, et déplacer son environnement très simplement.

Du coup s'il y a des motivés pour tenter l'experience et me donner un retour sur la lisibilité de mes explications, des suggestions, ou des questions ça me ferait plaisir, et ça permettrait sans doute d'améliorer tout ça.

Merci !

Dernière modification par krodelabestiole (Le 08/05/2017, à 22:35)

En ligne

#2 Le 21/05/2017, à 01:41

abecidofugy

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

Juste énorme ton tuto, ça semble lisible et facile à appliquer. J'ai envie de me prendre un autre serveur dédié juste pour tester.
Bien, par rapport à un control panel comme VestaCP que j'utilise pour le moment (qui m'avait été conseillé sur le forum), il faudra se palucher les DNS à la main. Et lorsqu'on voit le nombre de gens qui ont un souci de mise en spam (comme j'avais avant, avec iRedmail, etc), ça pourrait refroidir. Ça serait tellement bon qu'il y ait une distro qui fasse tout ça out the box chez les hébergeurs avec un control panel sympa. Je vais me renseigner sur le sujet. Je viens juste de me prendre un serveur chez Online en début de mois et j'ai installé ce que je connaissais jusqu'alors : une Ubuntu server, et VestaCP. Je n'ai pas encore basculé de site sur ce serveur, donc je pourrais réinstaller si une solution plus pérenne pouvait exister. Parce que là, j'ai dû prendre mon nouveau serveur à cause de la fin de prise en compte de php 5.5.9 sur Trusty (enfin Owncloud qui nécessite php 5.6 minimum depuis qq semaines).

Oui, j'ai été banané !

Dernière modification par abecidofugy (Le 21/05/2017, à 02:19)

Hors ligne

#3 Le 21/05/2017, à 18:58

krodelabestiole

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

merci smile

attention cependant ce tuto est plutôt orienté environnement de dev local. le niveau de sécurité moyen laisse à désirer.
pour plus de sécurité il ne faut pas s'ajouter au groupe docker, utiliser sudo partout, je pense qu'on peut éviter les 777 en se penchant un peu sur la question mais surtout il faut choisir des images spécifiquement créées pour la production. ou alors bien travailler ses fichiers de config ou ses dockerfiles.

il me reste 2 3 trucs à faire (je vais poster certains de mes dockerfiles en exemple et ajouter des indications pour gérer les logs apaches)

à noter aussi que certains hébergeurs gèrent les containers, donc on a qu'à transférer sa config et ils gèrent le reste : https://blog.codeship.com/the-shortlist … r-hosting/
mais je pense qu'on arrive facilement au même résultat avec un vps wink

En ligne

#4 Le 01/02/2019, à 11:07

Macssou

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

Bonjour à tous,

Je viens d'utiliser le Dockerfile du tuto + quelques extensions. Tout fonctionne très bien. Sauf que je dois utiliser la commande openssl_random_pseudo_bytes et donc installer openssl. Pas moyen...
Voici le fichier que j'utilise :

FROM php:7.2-apache

RUN apt-get update
RUN useradd --uid 1003 USER1
RUN useradd --uid 1002 USER2
RUN apt-get -y install locales
RUN apt-get -y install locales-all
RUN locale-gen fr_FR.UTF-8  
ENV LANG fr_FR.UTF-8  
ENV LANGUAGE fr_FR:fr  
ENV LC_ALL fr_FR.UTF-8  
RUN apt-get -y install libapache2-mpm-itk
RUN apt-get -y install libfreetype6-dev
RUN apt-get -y install libjpeg62-turbo-dev
RUN apt-get -y install libpng-dev
#RUN apt-get -y install libzip-dev
RUN apt-get -y install zlib1g-dev
RUN apt-get -y install libssl-dev
#RUN docker-php-ext-install curl
RUN docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd
RUN docker-php-ext-install pdo pdo_mysql
RUN docker-php-ext-configure mysqli --with-mysqli=mysqlnd
RUN docker-php-ext-install mysqli
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install -j$(nproc) gd
RUN a2enmod rewrite
RUN a2enmod vhost_alias
RUN service apache2 restart

Pourriez-vous m'aider ?

Merci d'avance.
Maxime

Hors ligne

#5 Le 01/02/2019, à 11:46

krodelabestiole

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

tu as essayé d'ajouter une ligne

RUN apt-get -y install openssl

à ton dockerfile ?

En ligne

#6 Le 01/02/2019, à 12:10

Macssou

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

En fait ca fonctionne l'erreur venait d'ailleurs.

Merci pour ton aide ! et super tuto.

Hors ligne

#7 Le 23/07/2019, à 16:57

nicerico

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

Bonjour à tous,

Je viens d'installer le Dockerfile du tuto (méthode simple)
Je n'arrive pas à accéder à mysql et phpmyadmin
quand je Lance la commande "mysql" : ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
http://localhost/phpmyadmin : 404 not found

Merci de votre aide

Dernière modification par nicerico (Le 23/07/2019, à 16:58)

Hors ligne

#8 Le 01/12/2023, à 18:41

MichelCauzid

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

Bonjour à tous
J'ai l'impression que ce fils très ancien ..... est mort!..... Je dépose à tout hasard mes problèmes...  Je cherche à comprendre le fonctionnement de docker et ces tutos m'ont semblé très pertinents.

1/ J'ai essayé la  "Méthode simple"
  - La commande http://localhost me renvoie bien le site présent dans www
  - La commande http://localhost/phpmyadmin ne me renvoie rien !

2/ J'ai essayé la "Méthode avancée"
   - La commande http://localhost me renvoie bien le site présent dans www
   - La commande http://localhost:8080 me renvoie bien l'écran de démarrage de PhpMyAdmin mais l'utilisateur root avec le mot de passe root ne fonctionnent pas
Merci d'avance pour toute piste ....

Hors ligne

#9 Le 15/12/2023, à 21:01

krodelabestiole

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

Salut Michel,

MichelCauzid a écrit :

Je cherche à comprendre le fonctionnement de docker et ces tutos m'ont semblé très pertinents.

merci smile ! mais cette page n'est effectivement pas de dernière fraîcheur.
elle aurait au minimum besoin d'une bonne mise à jour...

MichelCauzid a écrit :

1/ J'ai essayé la  "Méthode simple"

entre autre le git de ce projet a depuis été supprimé.

l'idée était de faire tourner des projets PHP 5 aussi proprement que possible sur n'importe quelle machine, mais bon maintenant je pense que c'est devenu vraiment obsolète...

et aussi plus généralement la rédaction de ce tuto a peut-être été une erreur : je pense qu'il a tendance à répondre à des problématiques x-y.

en particulier il ne respecte a priori pas le paradigme docker selon lequel un service = un container, comme je l’ai indiqué là : https://doc.ubuntu-fr.org/php#docker

Le truc c'est que j’ai du mal a trouver un contexte pour lequel on voudrait mettre en place un serveur de dev lamp "nu", à part peut-être dans le cadre d’un exercice. on trouve des images docker pour tous les CMS, les générateurs de sites statiques, et les framework courants sur docker hub.
je vois peu de cas de figure pour lesquels il serait préférable de partir sur du PHP / apache natif, et surtout pas l'intérêt de mettre en place plusieurs virtualhosts sur un container unique (le paradigme docker devrait dans ce cas écraser celui d'apache).



MichelCauzid a écrit :

2/ J'ai essayé la "Méthode avancée"
   - La commande http://localhost me renvoie bien le site présent dans www
   - La commande http://localhost:8080 me renvoie bien l'écran de démarrage de PhpMyAdmin mais l'utilisateur root avec le mot de passe root ne fonctionnent pas
Merci d'avance pour toute piste ....

je viens de tester vite fait, et ça marche chez moi.


pour info depuis j'ai aussi écrit un script pour "dockeriser" n'importe quelle app php-mysql : https://gitlab.com/crachecode/docker-lamp-app

En ligne

#10 Le 20/12/2023, à 18:49

krodelabestiole

Re : [tutoriel] Monter un serveur LAMP grâce à Docker

MichelCauzid a écrit :

1/ J'ai essayé la  "Méthode simple"
  - La commande http://localhost me renvoie bien le site présent dans www
  - La commande http://localhost/phpmyadmin ne me renvoie rien !

(ça renvoie quelque chose, mais c'est une erreur 404 pour être précis)
ok j'ai pigé !
le comportement par défaut des volumes docker a apparemment changé en 6 ans...

dans le tuto on monte un répertoire local dans /var/www/html (là où on met les fichiers du sites). hors dans l'image c'est dans ce répertoire que phpmyadmin est déployé.
à l'époque je suppose que les fichiers existants devaient être fusionnés sur l'hôte, en tout cas ce n'est plus le cas maintenant, donc avec ce bind on écrase phpmyadmin avec du vide.

ça marche si on supprime "-v ~/.docker/www:/var/www/html", mais dans ce cas on ne pourra pas bosser sur les fichiers du site, c'est ballot !

la solution aujourd'hui serait cette commande (après avoir supprimé les répertoires existants et repris depuis le début) :

docker run --mount type=volume,src=web_data,dst=/var/www/html,volume-driver=local,volume-opt=device=${HOME}/.docker/www,volume-opt=o=bind,volume-opt=type=none -v ~/.docker/mysql:/var/lib/mysql -p 80:80 -p 3306:3306 --restart=always lioshi/lamp:php5

avec un volume nommé (web_data) bindé (sur /var/www/html) et vide (le contenu de ~/.docker/www), l'image copie ses données sur le répertoire hôte. donc les fichiers de phpmyadmin entre autre, et tout fonctionne.


mais ces infos me paraissent trop compliquées pour être intégrées au tuto...

il serait probablement plus constructif de réécrire le tuto en se basant sur docker-compose, et des images un peu plus actuelles.

En ligne