Compare commits

..

2 Commits

Author SHA1 Message Date
BeauTroll
43517b36cc fix: increase Apache timeouts for large file uploads (>40MB)
- Add Timeout 3600 (1h) for long-running uploads
- Enable KeepAlive with 300s timeout to maintain connections
- Set MaxKeepAliveRequests to 200 for chunked uploads
- Fixes sync client errors on files larger than 40MB

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-20 13:03:19 +01:00
BeauTroll
57db8b6111 docs: add Apache/Traefik configuration and troubleshooting guides
Add comprehensive documentation for Apache configuration behind Traefik reverse proxy, including module activation, debug mode troubleshooting, and client sync error resolution.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-20 12:59:48 +01:00
2 changed files with 127 additions and 0 deletions

121
README.md
View File

@@ -113,6 +113,52 @@ Les paramètres PHP sont préconfigurés dans docker-compose.yml:
Ces valeurs permettent l'upload de fichiers jusqu'à 2GB.
### Configuration Apache pour Traefik
Le fichier `apache/nextcloud.conf` configure Apache pour fonctionner correctement derrière le reverse proxy Traefik.
**Configuration incluse:**
- **RemoteIP**: Récupération de l'IP réelle du client (pas celle de Traefik)
- **X-Forwarded-Proto**: Détection automatique HTTPS depuis Traefik
- **Headers de sécurité**: X-Frame-Options, X-Content-Type-Options, etc.
- **WebDAV désactivé**: Évite les conflits (Nextcloud gère son propre WebDAV)
**Activation des modules Apache:**
Lors du premier déploiement, activez les modules nécessaires:
```bash
# Activer tous les modules en une commande
docker compose exec nextcloud bash -c "a2enmod headers rewrite dir mime remoteip env && apache2ctl graceful"
# Redémarrer Nextcloud pour appliquer les changements
docker compose restart nextcloud
```
**Modules activés:**
| Module | Utilité |
| ---------- | ---------------------------------------------------- |
| `headers` | Gestion des headers HTTP (sécurité) |
| `rewrite` | URL rewriting (requis pour .htaccess) |
| `dir` | DirectoryIndex (index.php, etc.) |
| `mime` | Types MIME (CSS, JS, etc.) |
| `remoteip` | Récupération IP client via X-Forwarded-For |
| `env` | Variables d'environnement (détection HTTPS) |
**Note**: Les modules `headers`, `rewrite`, `dir`, et `mime` sont normalement activés par défaut dans l'image `nextcloud:latest`. Seuls `remoteip` et `env` doivent être activés manuellement.
**Vérification:**
```bash
# Vérifier qu'Apache utilise bien la configuration
docker compose exec nextcloud apache2ctl -M | grep -E "(headers|rewrite|remoteip|env)"
# Vérifier les logs avec IP réelle
docker compose logs nextcloud --tail=20
```
## Démarrage
### Première installation
@@ -377,6 +423,81 @@ make occ config:system:set debug --value=false --type=boolean
- 💾 **Espace disque**: Remplit rapidement le disque avec des logs détaillés
- 📊 **Conformité**: Peut logger des données personnelles (RGPD)
### Messages de debug dans la console navigateur
Si vous voyez des messages `[DEBUG]` dans la console JavaScript du navigateur (F12), même avec `debug => false`:
**1. Vider tous les caches:**
```bash
# Cache Nextcloud
make occ maintenance:repair --include-expensive
# Cache Redis
docker compose exec redis redis-cli -a VOTRE_PASSWORD_REDIS FLUSHALL
```
**2. Vérifier le niveau de log:**
```bash
# Niveau recommandé pour production: 2 (Warning)
make occ config:system:set loglevel --value=2 --type=integer
```
**Niveaux de log disponibles:**
- 0 = Debug (tous les messages)
- 1 = Info
- 2 = Warning (recommandé production)
- 3 = Error
- 4 = Fatal
**3. Hard refresh dans le navigateur:**
```bash
# Firefox/Chrome: Ctrl + Shift + R
# Ou vider le cache du navigateur pour le domaine Nextcloud
```
**4. Redémarrer les services:**
```bash
docker compose restart nextcloud redis
```
### Problèmes de synchronisation client
Si le client de synchronisation Nextcloud affiche "error transfering, server replied not found":
**1. Scanner les fichiers pour mettre à jour l'index:**
```bash
# Scanner tous les fichiers d'un utilisateur
make occ files:scan nom_utilisateur
# Scanner uniquement un dossier spécifique
make occ files:scan --path="/nom_utilisateur/files/Dossier"
```
**2. Nettoyer les verrous de fichiers:**
```bash
make occ files:cleanup
```
**3. Vérifier les logs pour identifier le fichier problématique:**
```bash
# Logs en temps réel
docker compose logs -f nextcloud --tail=50
# Rechercher les erreurs 404
docker compose logs nextcloud | grep "404"
```
**4. En dernier recours, réinitialiser la synchronisation:**
- Dans le client Nextcloud: supprimer le compte et le re-configurer
- Cela forcera une synchronisation complète
## 📊 Monitoring
### Vérifications de santé

View File

@@ -8,6 +8,12 @@ RemoteIPTrustedProxy 192.168.0.0/16
# Activer la confiance des en-têtes X-Forwarded-Proto
SetEnvIf X-Forwarded-Proto "https" HTTPS=on
# Timeouts pour gros fichiers (>40MB)
Timeout 3600
KeepAlive On
KeepAliveTimeout 300
MaxKeepAliveRequests 200
<Directory /var/www/html/>
Options FollowSymLinks MultiViews
AllowOverride All