docs : documenter la configuration sudoers pour le bouton Mettre à jour
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -133,12 +133,46 @@ Ou créer directement `$DATA_PATH/site_settings.json` :
|
|||||||
|
|
||||||
## Mise à jour
|
## Mise à jour
|
||||||
|
|
||||||
|
### Manuelle
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git pull
|
git pull
|
||||||
composer install --no-dev
|
composer install --no-dev
|
||||||
php database/migrate.php
|
php database/migrate.php
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Via le bouton admin ("Mettre à jour")
|
||||||
|
|
||||||
|
L'interface d'administration propose un bouton **Mettre à jour** qui déclenche un déploiement complet (clone fresh, permissions, Composer, migrations SQL, répertoire de sessions). Ce bouton appelle `sudo /usr/local/bin/folio-upgrade.sh` depuis PHP (`www-data`).
|
||||||
|
|
||||||
|
**Configuration requise une fois sur chaque serveur :**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Installer le script (adapté à votre serveur)
|
||||||
|
sudo install -o root -m 750 /var/www/mon-site/scripts/server/folio-upgrade.sh \
|
||||||
|
/usr/local/bin/folio-upgrade.sh
|
||||||
|
|
||||||
|
# 2. Éditer APP_DIR et REPO_URL dans le script installé
|
||||||
|
sudo nano /usr/local/bin/folio-upgrade.sh
|
||||||
|
|
||||||
|
# 3. Autoriser www-data à l'exécuter sans mot de passe
|
||||||
|
echo "www-data ALL=(root) NOPASSWD: /usr/local/bin/folio-upgrade.sh" \
|
||||||
|
| sudo tee /etc/sudoers.d/folio-upgrade
|
||||||
|
sudo chmod 440 /etc/sudoers.d/folio-upgrade
|
||||||
|
|
||||||
|
# 4. Vérifier la syntaxe
|
||||||
|
sudo visudo -c
|
||||||
|
```
|
||||||
|
|
||||||
|
Le script est dans `scripts/server/folio-upgrade.sh`. Les deux variables à adapter en tête de fichier :
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|---|---|
|
||||||
|
| `APP_DIR` | Chemin absolu du document root (ex. `/var/www/mon-site`) |
|
||||||
|
| `REPO_URL` | URL du dépôt Git Folio |
|
||||||
|
|
||||||
|
Sans cette configuration, le bouton retourne une erreur `sudo: a password is required`.
|
||||||
|
|
||||||
## Structure du projet
|
## Structure du projet
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user