From 8683bf5a5ef22f028497ca04155097a79978dae9 Mon Sep 17 00:00:00 2001 From: francesco Date: Mon, 9 Mar 2026 12:47:44 +0100 Subject: [PATCH] ++ fix --- .env | 16 ++++---- README.md | 109 ++++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 107 insertions(+), 18 deletions(-) diff --git a/.env b/.env index acad2fe..62e6a1c 100644 --- a/.env +++ b/.env @@ -1,28 +1,30 @@ # Database Configuration -MYSQL_ROOT_PASSWORD=strong_root_password_here -MYSQL_PASSWORD=nextcloud_password_here +MYSQL_ROOT_PASSWORD=kfhsdi3GDAhk3las +MYSQL_PASSWORD=XBCF$UJCLOUDF MYSQL_DATABASE=nextcloud MYSQL_USER=nextcloud # Nextcloud Configuration NEXTCLOUD_PORT=8282 NEXTCLOUD_ADMIN_USER=admin -NEXTCLOUD_ADMIN_PASSWORD=admin_password_here -NEXTCLOUD_TRUSTED_DOMAINS=localhost 127.0.0.1 +NEXTCLOUD_ADMIN_PASSWORD=Z.p8ibwg4jri +NEXTCLOUD_TRUSTED_DOMAINS=localhost 127.0.0.1 192.168.4.0/24 192.168.4.62 drive.pyconetwork.it # Protocol and Host (per reverse proxy) -OVERWRITEPROTOCOL=http -OVERWRITEHOST=localhost:8282 +OVERWRITEPROTOCOL=https +OVERWRITEHOST=drive.pyconetwork.it # Collabora Configuration COLLABORA_PORT=9980 -COLLABORA_DOMAIN=nextcloud\\.your-domain\\.com +COLLABORA_DOMAIN=nextcloud\\.drive\\.pyconetwork\\.it COLLABORA_USERNAME=admin COLLABORA_PASSWORD=collabora_password_here COLLABORA_DICTIONARIES=it en_US en_GB de_DE fr_FR es_ES # Note: # - COLLABORA_DOMAIN deve usare escape per i punti: nextcloud\\.domain\\.com +# - NEXTCLOUD_TRUSTED_DOMAINS: separa i domini con spazi (non virgole) +# Includi: localhost, IP locali, subnet LAN, domini pubblici # - Dopo l'installazione, configura Collabora in Nextcloud andando in: # Impostazioni -> Amministrazione -> Collabora Online # URL: http://collabora:9980 diff --git a/README.md b/README.md index 21a78e0..9c697ec 100644 --- a/README.md +++ b/README.md @@ -23,13 +23,19 @@ MYSQL_PASSWORD= NEXTCLOUD_ADMIN_PASSWORD= COLLABORA_PASSWORD= -# Configura i domini -NEXTCLOUD_TRUSTED_DOMAINS=localhost,your-domain.com +# Configura i domini (IMPORTANTE: separa con SPAZI, non virgole) +NEXTCLOUD_TRUSTED_DOMAINS=localhost 127.0.0.1 192.168.4.0/24 your-domain.com OVERWRITEHOST=your-domain.com +OVERWRITEPROTOCOL=https COLLABORA_DOMAIN=nextcloud\\.your-domain\\.com ``` -**Importante**: Nel campo `COLLABORA_DOMAIN`, i punti devono essere escaped con `\\`. +**Importante**: +- Nel campo `COLLABORA_DOMAIN`, i punti devono essere escaped con `\\` +- `NEXTCLOUD_TRUSTED_DOMAINS` deve contenere domini **separati da spazi** (non virgole) +- Includi: localhost, IP locali, subnet LAN (es. 192.168.4.0/24), e domini pubblici +- Per accesso locale: usa `OVERWRITEPROTOCOL=http` e `OVERWRITEHOST=localhost:8282` +- Per reverse proxy HTTPS: usa `OVERWRITEPROTOCOL=https` e `OVERWRITEHOST=your-domain.com` ### 2. Avvia i servizi @@ -46,7 +52,7 @@ docker-compose logs -f nextcloud ### 4. Accedi a Nextcloud -Apri il browser e vai a: `http://localhost:8080` (o la porta configurata) +Apri il browser e vai a: `http://localhost:8282` (o la porta configurata nella variabile `NEXTCLOUD_PORT`) - Username: `admin` (o quello configurato in `.env`) - Password: quella impostata in `NEXTCLOUD_ADMIN_PASSWORD` @@ -63,7 +69,7 @@ Apri il browser e vai a: `http://localhost:8080` (o la porta configurata) ## Porte utilizzate -- `8080`: Nextcloud Web UI +- `8282`: Nextcloud Web UI (configurabile in `.env` con `NEXTCLOUD_PORT`) - `9980`: Collabora Online ## Volumi @@ -111,16 +117,56 @@ docker-compose up -d 2. Controlla i log: `docker-compose logs collabora` 3. Verifica che l'URL in Nextcloud sia: `http://collabora:9980` -### Errore "Trusted domain" +### Errore "Trusted domain" o "Password non funziona" -Aggiungi il tuo dominio in `.env` nella variabile `NEXTCLOUD_TRUSTED_DOMAINS`: -``` -NEXTCLOUD_TRUSTED_DOMAINS=localhost,192.168.1.100,your-domain.com +Questo errore può manifestarsi come: +- "Access through untrusted domain" +- "Unknown error while checking password" (anche con credenziali corrette) +- Impossibilità di configurare storage esterni + +**Causa**: `trusted_domains` non configurato correttamente nel `config.php`. + +**Soluzione rapida** - Aggiungi i tuoi domini in `.env` (separa con spazi, non virgole): +```bash +NEXTCLOUD_TRUSTED_DOMAINS=localhost 127.0.0.1 192.168.4.0/24 your-domain.com ``` Poi riavvia: ```bash -docker-compose restart nextcloud +docker compose restart nextcloud +``` + +**Se il problema persiste** (istanza già inizializzata prima della modifica `.env`), correggi manualmente con `occ`: + +```bash +# Imposta ogni dominio come elemento separato dell'array +docker exec nextcloud-app php occ config:system:set trusted_domains 0 --value='localhost' +docker exec nextcloud-app php occ config:system:set trusted_domains 1 --value='192.168.4.0/24' +docker exec nextcloud-app php occ config:system:set trusted_domains 2 --value='your-domain.com' +docker exec nextcloud-app php occ config:system:set trusted_domains 3 --value='192.168.4.62' + +# Verifica anche che overwrite.cli.url sia corretto +docker exec nextcloud-app php occ config:system:set overwrite.cli.url --value='https://your-domain.com' +``` + +**Verifica la configurazione**: +```bash +docker exec nextcloud-app cat /var/www/html/config/config.php | grep -A 6 'trusted_domains' +``` + +Il formato corretto nel `config.php` deve essere: +```php +'trusted_domains' => + array ( + 0 => 'localhost', + 1 => '192.168.4.0/24', + 2 => 'your-domain.com', + ), +``` + +❌ **NON deve essere** una stringa concatenata come: +```php +1 => 'localhost,192.168.4.0/24,your-domain.com', // ERRORE ``` ### Performance lente @@ -136,7 +182,48 @@ Se usi un reverse proxy (nginx, Traefik, etc.), configura: 1. Imposta `OVERWRITEPROTOCOL=https` in `.env` 2. Imposta `OVERWRITEHOST=your-domain.com` in `.env` -3. Configura il reverse proxy per puntare a `localhost:8080` (Nextcloud) e `localhost:9980` (Collabora) +3. Configura il reverse proxy per puntare a `localhost:8282` (Nextcloud) e `localhost:9980` (Collabora) +4. Assicurati che il reverse proxy invii gli header corretti: + ``` + X-Forwarded-For + X-Forwarded-Proto + X-Forwarded-Host + ``` + +## Comandi occ utili + +Il comando `occ` (ownCloud Console) permette di gestire Nextcloud da CLI: + +```bash +# Verifica configurazione sistema +docker exec nextcloud-app php occ config:system:get trusted_domains +docker exec nextcloud-app php occ config:system:get overwritehost + +# Imposta trusted domains +docker exec nextcloud-app php occ config:system:set trusted_domains 0 --value='localhost' +docker exec nextcloud-app php occ config:system:set trusted_domains 1 --value='your-domain.com' + +# Verifica stato sistema +docker exec nextcloud-app php occ status + +# Manutenzione +docker exec nextcloud-app php occ maintenance:mode --on +docker exec nextcloud-app php occ maintenance:mode --off + +# Esegui aggiornamenti +docker exec nextcloud-app php occ upgrade + +# Verifica integrità file +docker exec nextcloud-app php occ integrity:check-core + +# Gestione app +docker exec nextcloud-app php occ app:list +docker exec nextcloud-app php occ app:enable files_external + +# Cache +docker exec nextcloud-app php occ files:scan --all +docker exec nextcloud-app php occ files:cleanup +``` ## Sicurezza