Initial commit: VPS tutorial complet (105 etapes)

This commit is contained in:
Script Shadow
2026-04-08 16:15:11 +02:00
commit acbe11489c
18 changed files with 1848 additions and 0 deletions

109
16-notes-pieges.md Normal file
View File

@@ -0,0 +1,109 @@
# 16. Notes et Pieges
## Pieges frequents
### UFW vs ISPConfig
Ne jamais utiliser UFW avec ISPConfig. ISPConfig gere le firewall via iptables. Desactiver UFW : `ufw disable`.
### Ports bloques par l'hebergeur
Contabo bloque certains ports non-standard au niveau de son firewall externe. Toujours tester l'acces depuis l'exterieur apres ouverture d'un port.
### Page "Welcome to your website" ISPConfig
Apres creation d'un sous-domaine, la page par defaut ISPConfig peut s'afficher. Solutions :
1. Verifier que SSL/Let's Encrypt est bien coche
2. Supprimer `standard_index.html` : `find /var/www/ -path "*<sous-domaine>*standard_index*" -delete`
### DNS Templates : NS personnalises
Les templates DNS doivent pointer les NS vers le domaine serveur principal (ex: `ns1.z-ana.com`) et non `ns1.{DOMAIN}`. Sinon les domaines heberges auront des problemes de delegation.
### Domaines .ci chez MTN
- Les glue records vers le meme domaine ne fonctionnent pas dans l'interface
- Solution : pointer les NS vers le domaine principal du serveur
- Le support est lent — prevoir des delais
### Dovecot SNI
Le SNI doit etre configure dans `dovecot.conf` principal, pas dans `conf.d/10-ssl.conf`. ISPConfig ecrase les fichiers `conf.d`.
### Redis conflit de ports
Si vous installez un service Docker avec Redis en `network_mode: host`, utiliser un port different (ex: 6380) pour eviter le conflit avec le Redis systeme (6379).
### Guacamole et Tomcat 10
Guacamole 1.5.5 n'est pas compatible avec Tomcat 10 (Ubuntu 24.04). Utiliser Docker a la place.
### wg-easy PASSWORD vs PASSWORD_HASH
Les versions recentes de wg-easy exigent un hash bcrypt (`PASSWORD_HASH`) au lieu du mot de passe en clair (`PASSWORD`).
### MAILER_DSN Symfony
Pour envoyer des mails via Postfix local : `smtp://127.0.0.1:25?auto_tls=false`. Sans `auto_tls=false`, Symfony tente STARTTLS qui echoue localement.
### Permissions Symfony
Apres connexion SSH, executer `newgrp clientX` pour activer le groupe et acceder au dossier du projet.
### Certificat ISPConfig vs mail
Le certificat dans `ispserver.crt` est utilise pour le panel ISPConfig ET Dovecot/Postfix par defaut. Garder le certificat du domaine principal. Le SNI gere les certificats specifiques par domaine mail.
### Propagation DNS
- OVH : quasi instantanee
- MTN/Cloud4Africa (.ci) : peut prendre des heures
- Utiliser `dig @8.8.8.8 <domaine> A +short` pour verifier
## Ports utilises
| Port | Service | Protocole |
|------|---------|-----------|
| 22/50022 | SSH | TCP |
| 25 | SMTP | TCP |
| 53 | DNS | TCP+UDP |
| 80 | HTTP | TCP |
| 110 | POP3 | TCP |
| 143 | IMAP | TCP |
| 443 | HTTPS | TCP |
| 465 | SMTP SSL | TCP |
| 587 | SMTP submission | TCP |
| 993 | IMAP SSL | TCP |
| 995 | POP3 SSL | TCP |
| 2812 | Monit | TCP |
| 3000 | Gitea | TCP |
| 3100 | Grafana | TCP |
| 3101 | Loki | TCP |
| 3306 | MariaDB | TCP |
| 3478 | TURN UDP | UDP |
| 5349 | TURN TLS | TCP |
| 6379 | Redis systeme | TCP |
| 6380 | Redis LiveKit | TCP |
| 7880 | LiveKit signal | TCP |
| 7881 | LiveKit TCP | TCP |
| 7882 | LiveKit UDP | UDP |
| 8061 | Yacht | TCP |
| 8080 | ISPConfig | TCP |
| 8081 | ISPConfig apps | TCP |
| 8085 | Guacamole | TCP |
| 9050 | Portainer | TCP |
| 9080 | Promtail | TCP |
| 9090 | Prometheus | TCP |
| 10000 | Webmin | TCP |
| 51820 | Wireguard | UDP |
| 51821 | wg-easy interface | TCP |
| 1280 | Vaultwarden | TCP |
| 1281 | Heimdall | TCP |
## Architecture des sous-domaines
| Sous-domaine | Service | Proxy vers |
|-------------|---------|-----------|
| mail.* | Roundcube | localhost:8080/webmail/ |
| rspamd.* | Rspamd | localhost:8081/rspamd/ |
| autoconfig.* | Config mail auto | Fichiers XML directs |
| autodiscover.* | Config Outlook | Fichiers XML directs |
| webmin.* | Webmin | localhost:10000 |
| portainer.* | Portainer | localhost:9050 |
| yacht.* | Yacht | localhost:8061 |
| grafana.* | Grafana | localhost:3100 |
| wireguard.* | Wireguard | localhost:51821 |
| vaultwarden.* | Vaultwarden | localhost:1280 |
| heimdall.* | Heimdall | localhost:1281 (HTTPS) |
| guacamole.* | Guacamole | localhost:8085/guacamole |
| dbmanage.* | phpMyAdmin | Direct (Alias) |
| wordpress.* | Wordpress | Direct |
| nextcloud.* | Nextcloud | Direct |
| gitea.* | Gitea | localhost:3000 |