Ajout documentation backups clients WordPress (event-solutions + bonelliphotographie via vsftpd)

This commit is contained in:
2026-08-24 10:26:12 +00:00
parent 150c229906
commit 792d7f51b5
2 changed files with 68 additions and 1 deletions
+26 -1
View File
@@ -65,6 +65,12 @@ graph TB
RAID[RAID5 md0<br/>/srv/media<br/>3.6 To]
KDrive[kDrive<br/>Backups]
end
subgraph "Backups clients WordPress"
FTP[vsftpd<br/>Proxmox Host]
EventDir[/srv/backups/event-solutions/uploads/]
BonelliDir[/srv/backups/bonelli/uploads/]
end
end
DNS --> NPM
@@ -95,6 +101,9 @@ graph TB
KDrive -.->|backup| MDB
KDrive -.->|backup| PG
FTP -.->|chroot| EventDir
FTP -.->|chroot| BonelliDir
```
## Flux réseau
@@ -202,6 +211,7 @@ graph LR
subgraph "Proxmox Host"
Cron[Cron<br/>Dim 3h00]
Script[/usr/local/bin/<br/>proxmox-backup.sh]
VSFTPD[vsftpd<br/>Port 21]
end
subgraph "Sources"
@@ -214,10 +224,17 @@ graph LR
PVEConf[/etc/pve/]
end
subgraph "Destination"
subgraph "Destination backup interne"
KDrive[kDrive<br/>rclone]
end
subgraph "Backups clients WordPress"
WPEvent[event-solutions.fr<br/>o2switch<br/>UpdraftPlus FTP]
WPBonelli[bonelliphotographie.fr<br/>Infomaniak<br/>UpdraftPlus FTP]
EventDir[/srv/backups/event-solutions/uploads/]
BonelliDir[/srv/backups/bonelli/uploads/]
end
Cron --> Script
Script --> MariaDB
Script --> PG
@@ -229,6 +246,11 @@ graph LR
Script --> KDrive
KDrive -.->|Retention 3| Old[Suppression<br/>anciens backups]
WPEvent -.->|FTP| VSFTPD
WPBonelli -.->|FTP| VSFTPD
VSFTPD -.->|chroot| EventDir
VSFTPD -.->|chroot| BonelliDir
```
## Sécurité
@@ -241,6 +263,7 @@ graph LR
| Firewall | UFW sur Proxmox host |
| Isolation | Chaque service dans son propre LXC |
| BDD | Utilisateurs dédiés par appli, pas d'accès root |
| FTP | vsftpd sur Proxmox host, chroot par user, userlist |
## Fichiers clés
@@ -249,5 +272,7 @@ graph LR
| Backup script | `/usr/local/bin/proxmox-backup.sh` | Script hebdomadaire de sauvegarde |
| rclone config | `/root/.config/rclone/rclone.conf` | Config kDrive |
| Backup log | `/var/log/proxmox-backup.log` | Log des sauvegardes |
| vsftpd config | `/etc/vsftpd.conf` | Serveur FTP pour backups clients |
| vsftpd userlist | `/etc/vsftpd.userlist` | Users FTP autorisés |
| NPM config | LXC 100, Docker volume | Nginx Proxy Manager |
| Gitea data | LXC 108, Docker volume | Données Git |
+42
View File
@@ -77,6 +77,8 @@ Tous les certificats Let' Encrypt sont gérés via Nginx Proxy Manager (API) :
## Sauvegardes
### Sauvegarde interne (Proxmox)
- **Script** : `/usr/local/bin/proxmox-backup.sh`
- **Fréquence** : Chaque dimanche à 3h00 (cron)
- **Destination** : kDrive via rclone (remote `kdrive`, user `pierre@secourit.fr`)
@@ -84,6 +86,43 @@ Tous les certificats Let' Encrypt sont gérés via Nginx Proxy Manager (API) :
- **Contenu** : Dump MariaDB + PostgreSQL, sites nginx, données dyna, app gestion, Gitea, configs Proxmox
- **Log** : `/var/log/proxmox-backup.log`
### Backups clients WordPress (vsftpd)
Le serveur OVH fait also office de serveur FTP de backup pour les sites WordPress clients. Les clients configurent **UpdraftPlus** (version gratuite) sur leur WordPress pour envoyer les sauvegardes en FTP vers le serveur OVH.
| Client | Site | Hébergeur | User FTP | Dossier serveur | Description |
|--------|------|-----------|----------|-----------------|-------------|
| event-solutions.fr | event-solutions.fr | o2switch | `ftp-event` | `/srv/backups/event-solutions/uploads/` | Site pas créé par moi, contrat de maintenance uniquement. Mise à jour + backup sur le serveur OVH |
| bonelliphotographie.fr | bonelliphotographie.fr | Infomaniak | `ftp-bonelli` | `/srv/backups/bonelli/uploads/` | Site créé par moi (SecourIT), hébergé chez Infomaniak |
#### Configuration vsftpd
- **Service** : vsftpd sur Proxmox host (pas dans un LXC)
- **Port** : 21 (FTP non-encrypté)
- **Config** : `/etc/vsftpd.conf`
- **Userlist** : `/etc/vsftpd.userlist` (userlist_deny=NO → seuls les users listés peuvent se connecter)
- **Chroot** : Chaque user est chrooté dans son propre dossier
- **PAM** : `/usr/sbin/nologin` ajouté dans `/etc/shells` pour autoriser les comptes système
- **Passif** : Ports 40000-40100
#### Mot de passe
- `ftp-event` : `3rBQCyQ9F15E!N22TxYy`
- `ftp-bonelli` : `K95uqz4pvaZ963vL`
#### UpdraftPlus (côté WordPress)
Configuration à renseigner dans WordPress > UpdraftPlus > Réglages > Stockage distant > FTP :
| Paramètre | event-solutions.fr | bonelliphotographie.fr |
|-----------|-------------------|----------------------|
| Type | FTP (non-encrypté) | FTP (non-encrypté) |
| Serveur | 51.195.5.147 | 51.195.5.147 |
| Port | 21 | 21 |
| Utilisateur | ftp-event | ftp-bonelli |
| Mot de passe | 3rBQCyQ9F15E!N22TxYy | K95uqz4pvaZ963vL |
| Chemin | / | / |
## Nginx Proxy Manager
- **Container** : `nginx-proxy-manager` (LXC 100)
@@ -99,3 +138,6 @@ Géré sur **Infomaniak**. Tous les enregistrements A pointent vers 51.195.5.147
- `/usr/local/bin/proxmox-backup.sh` : Script de sauvegarde
- `/root/.config/rclone/rclone.conf` : Config rclone kDrive
- `/var/log/proxmox-backup.log` : Log des sauvegardes
- `/etc/vsftpd.conf` : Config serveur FTP backups clients
- `/etc/vsftpd.userlist` : Users FTP autorisés
- `/srv/backups/` : Dossiers de backup clients