Commit technique : reproduit à l'identique l'état non commité de la copie de travail (sécurisation V7.8, CSP à nonce, Session, migration des droits) afin que le travail d'ergonomie qui suit soit isolable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
102 lines
2.0 KiB
Markdown
102 lines
2.0 KiB
Markdown
# PTA - Docker / Nginx / PHP / MariaDB / phpMyAdmin
|
|
|
|
## Installation
|
|
|
|
Copier les fichiers de ce kit à la racine du projet PTA :
|
|
|
|
- `Dockerfile`
|
|
- `docker-compose.yml`
|
|
- `.env.example`
|
|
- `docker/nginx/default.conf`
|
|
- `docker/php/php.ini`
|
|
- `database/pta_prod_schema_mariadb.sql`
|
|
|
|
Puis :
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
nano .env
|
|
```
|
|
|
|
Changer impérativement `DB_PASSWORD` et `DB_ROOT_PASSWORD`.
|
|
|
|
Démarrer :
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|
|
|
|
Application :
|
|
|
|
```text
|
|
http://IP_DU_SERVEUR:8080
|
|
```
|
|
|
|
phpMyAdmin est volontairement publié sur `127.0.0.1:8081` par défaut et **exige
|
|
un identifiant MariaDB** à chaque connexion. Ne pas définir `PMA_USER` /
|
|
`PMA_PASSWORD` dans le compose : ces variables font basculer phpMyAdmin en
|
|
`auth_type=config`, c'est-à-dire une session déjà ouverte pour quiconque
|
|
atteint le port.
|
|
|
|
Sur le serveur lui-même :
|
|
|
|
```text
|
|
http://127.0.0.1:8081
|
|
```
|
|
|
|
Pour y accéder depuis un poste distant, le plus sûr est un tunnel SSH :
|
|
|
|
```bash
|
|
ssh -L 8081:127.0.0.1:8081 utilisateur@serveur
|
|
```
|
|
|
|
Puis ouvrir localement :
|
|
|
|
```text
|
|
http://127.0.0.1:8081
|
|
```
|
|
|
|
## Base de données
|
|
|
|
Le schéma `database/pta_prod_schema_mariadb.sql` est exécuté automatiquement uniquement
|
|
lorsque le volume MariaDB est créé pour la première fois.
|
|
|
|
Il ne sera PAS rejoué à chaque démarrage du conteneur.
|
|
|
|
Si la base existe déjà, ne supprimez pas le volume pour appliquer une migration. Exécutez
|
|
les migrations explicitement sur la base existante.
|
|
|
|
## Commandes utiles
|
|
|
|
```bash
|
|
# Etat
|
|
docker compose ps
|
|
|
|
# Logs
|
|
docker compose logs -f nginx php db
|
|
|
|
# Rebuild après modification du PHP / JS / CSS
|
|
docker compose up -d --build php nginx
|
|
|
|
# Arrêt
|
|
docker compose down
|
|
|
|
# Arrêt SANS supprimer les données
|
|
docker compose down
|
|
|
|
# ATTENTION : supprime la base MariaDB persistée
|
|
docker compose down -v
|
|
```
|
|
|
|
## Connexion de l'application
|
|
|
|
Le `config.php` PTA utilise déjà les variables :
|
|
|
|
- `PTA_DB_HOST`
|
|
- `PTA_DB_PORT`
|
|
- `PTA_DB_NAME`
|
|
- `PTA_DB_USER`
|
|
- `PTA_DB_PASS`
|
|
|
|
Le compose les fournit automatiquement au conteneur PHP.
|