Installer docker et docker-compose :
sudo apt install docker docker-compose
Télécharger grâce à git, la stack LAMP (Linux Apache MySQL PHP) depuis l'adresse suivante :
git clone https://github.com/sprintcube/docker-compose-lamp
Se rendre dans le répertoire du projet et copier le fichier
cd docker-compose-lamp/
cp sample.env .env
Modifiez le fichier
PHPVERSION=php8 ==> PHPVERSION=php81
HOST_MACHINE_UNSECURE_HOST_PORT=80 ==> HOST_MACHINE_UNSECURE_HOST_PORT=81
Dans le fichier
services:
webserver:
build:
context: ./bin/\${PHPVERSION}
container_name: "\${COMPOSE_PROJECT_NAME}-\${PHPVERSION}"
restart: "always"
ports:
- "\${HOST_MACHINE_UNSECURE_HOST_PORT}:80"
- "\${HOST_MACHINE_SECURE_HOST_PORT}:443"
- "9000:8000"
Passez l'utilisateur courant dans le groupe docker, pour cela suivre le tutoriel suivant, qui consiste à réaliser les opérations suivantes :
sudo groupadd -f docker
sudo chown root:docker /var/run/docker.sock
sudo usermod -a -G docker "\$(whoami)"
newgrp docker
sudo systemctl restart docker
Générer les images docker en saisissant la commande suivante (aller ensuite prendre un café...) :
docker-compose up -d
Une fois la l'installation terminée, vérifier que tout fonctionne normalement par :
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a37011e1055d lamp_webserver "docker-php-entrypoi…" 5 minutes ago Up 5 minutes 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:81->80/tcp, :::81->80/tcp, 0.0.0.0:9000->8000/tcp, :::9000->8000/tcp lamp-php81
191a80e87c6d phpmyadmin "/docker-entrypoint.…" 5 minutes ago Up 5 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp lamp-phpmyadmin
89c08db64784 lamp_database "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 127.0.0.1:3306->3306/tcp, 33060/tcp lamp-mysql8
On va ensuite installer Symfony sur la lamp_webserver, pour cela on se connecte au serveur :
docker exec -it a37011e1055d sh
Puis on met à jour les paquets de Symfony et on l'installe :
curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | bash
apt install symfony-cli
On se rend dans le répertoire du server web et on configure le projet :
cd /var/www/html
git config --global user.email "jean-michel.richer@univ-angers.fr"
git config --global user.name "Jean-Michel Richer"
symfony new --webapp my_project
exit
Une fois sorti de lamp_webserver on se rend dans le répertoire correspondant dans la Stack :
cd www
sudo chown -R richer.richer my_project