Ajout documentation backups clients WordPress (event-solutions + bonelliphotographie via vsftpd)
This commit is contained in:
+26
-1
@@ -65,6 +65,12 @@ graph TB
|
|||||||
RAID[RAID5 md0<br/>/srv/media<br/>3.6 To]
|
RAID[RAID5 md0<br/>/srv/media<br/>3.6 To]
|
||||||
KDrive[kDrive<br/>Backups]
|
KDrive[kDrive<br/>Backups]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
subgraph "Backups clients WordPress"
|
||||||
|
FTP[vsftpd<br/>Proxmox Host]
|
||||||
|
EventDir[/srv/backups/event-solutions/uploads/]
|
||||||
|
BonelliDir[/srv/backups/bonelli/uploads/]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
DNS --> NPM
|
DNS --> NPM
|
||||||
@@ -95,6 +101,9 @@ graph TB
|
|||||||
|
|
||||||
KDrive -.->|backup| MDB
|
KDrive -.->|backup| MDB
|
||||||
KDrive -.->|backup| PG
|
KDrive -.->|backup| PG
|
||||||
|
|
||||||
|
FTP -.->|chroot| EventDir
|
||||||
|
FTP -.->|chroot| BonelliDir
|
||||||
```
|
```
|
||||||
|
|
||||||
## Flux réseau
|
## Flux réseau
|
||||||
@@ -202,6 +211,7 @@ graph LR
|
|||||||
subgraph "Proxmox Host"
|
subgraph "Proxmox Host"
|
||||||
Cron[Cron<br/>Dim 3h00]
|
Cron[Cron<br/>Dim 3h00]
|
||||||
Script[/usr/local/bin/<br/>proxmox-backup.sh]
|
Script[/usr/local/bin/<br/>proxmox-backup.sh]
|
||||||
|
VSFTPD[vsftpd<br/>Port 21]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph "Sources"
|
subgraph "Sources"
|
||||||
@@ -214,10 +224,17 @@ graph LR
|
|||||||
PVEConf[/etc/pve/]
|
PVEConf[/etc/pve/]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph "Destination"
|
subgraph "Destination backup interne"
|
||||||
KDrive[kDrive<br/>rclone]
|
KDrive[kDrive<br/>rclone]
|
||||||
end
|
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
|
Cron --> Script
|
||||||
Script --> MariaDB
|
Script --> MariaDB
|
||||||
Script --> PG
|
Script --> PG
|
||||||
@@ -229,6 +246,11 @@ graph LR
|
|||||||
Script --> KDrive
|
Script --> KDrive
|
||||||
|
|
||||||
KDrive -.->|Retention 3| Old[Suppression<br/>anciens backups]
|
KDrive -.->|Retention 3| Old[Suppression<br/>anciens backups]
|
||||||
|
|
||||||
|
WPEvent -.->|FTP| VSFTPD
|
||||||
|
WPBonelli -.->|FTP| VSFTPD
|
||||||
|
VSFTPD -.->|chroot| EventDir
|
||||||
|
VSFTPD -.->|chroot| BonelliDir
|
||||||
```
|
```
|
||||||
|
|
||||||
## Sécurité
|
## Sécurité
|
||||||
@@ -241,6 +263,7 @@ graph LR
|
|||||||
| Firewall | UFW sur Proxmox host |
|
| Firewall | UFW sur Proxmox host |
|
||||||
| Isolation | Chaque service dans son propre LXC |
|
| Isolation | Chaque service dans son propre LXC |
|
||||||
| BDD | Utilisateurs dédiés par appli, pas d'accès root |
|
| BDD | Utilisateurs dédiés par appli, pas d'accès root |
|
||||||
|
| FTP | vsftpd sur Proxmox host, chroot par user, userlist |
|
||||||
|
|
||||||
## Fichiers clés
|
## Fichiers clés
|
||||||
|
|
||||||
@@ -249,5 +272,7 @@ graph LR
|
|||||||
| Backup script | `/usr/local/bin/proxmox-backup.sh` | Script hebdomadaire de sauvegarde |
|
| Backup script | `/usr/local/bin/proxmox-backup.sh` | Script hebdomadaire de sauvegarde |
|
||||||
| rclone config | `/root/.config/rclone/rclone.conf` | Config kDrive |
|
| rclone config | `/root/.config/rclone/rclone.conf` | Config kDrive |
|
||||||
| Backup log | `/var/log/proxmox-backup.log` | Log des sauvegardes |
|
| 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 |
|
| NPM config | LXC 100, Docker volume | Nginx Proxy Manager |
|
||||||
| Gitea data | LXC 108, Docker volume | Données Git |
|
| Gitea data | LXC 108, Docker volume | Données Git |
|
||||||
|
|||||||
@@ -77,6 +77,8 @@ Tous les certificats Let' Encrypt sont gérés via Nginx Proxy Manager (API) :
|
|||||||
|
|
||||||
## Sauvegardes
|
## Sauvegardes
|
||||||
|
|
||||||
|
### Sauvegarde interne (Proxmox)
|
||||||
|
|
||||||
- **Script** : `/usr/local/bin/proxmox-backup.sh`
|
- **Script** : `/usr/local/bin/proxmox-backup.sh`
|
||||||
- **Fréquence** : Chaque dimanche à 3h00 (cron)
|
- **Fréquence** : Chaque dimanche à 3h00 (cron)
|
||||||
- **Destination** : kDrive via rclone (remote `kdrive`, user `pierre@secourit.fr`)
|
- **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
|
- **Contenu** : Dump MariaDB + PostgreSQL, sites nginx, données dyna, app gestion, Gitea, configs Proxmox
|
||||||
- **Log** : `/var/log/proxmox-backup.log`
|
- **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
|
## Nginx Proxy Manager
|
||||||
|
|
||||||
- **Container** : `nginx-proxy-manager` (LXC 100)
|
- **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
|
- `/usr/local/bin/proxmox-backup.sh` : Script de sauvegarde
|
||||||
- `/root/.config/rclone/rclone.conf` : Config rclone kDrive
|
- `/root/.config/rclone/rclone.conf` : Config rclone kDrive
|
||||||
- `/var/log/proxmox-backup.log` : Log des sauvegardes
|
- `/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
|
||||||
|
|||||||
Reference in New Issue
Block a user