# Permessi per la cartella uploads?

**URL:** https://meta.discourse.org/t/permissions-for-uploads-folder/316120
**Category:** Self-hosting
**Created:** [12 Luglio 2024, 7:21pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120 "2024-07-12T19:21:03Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![lega4](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lega4/32/430878_2.png) [@lega4](https://meta.discourse.org/u/lega4)
#### Post date: [12 Luglio 2024, 7:21pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/1 "2024-07-12T19:21:03Z")

</div>

Inizialmente ho provato a eseguire Discourse con impostazioni semi-predefinite e ha funzionato abbastanza bene, sono stato in grado di caricare file e fare altre cose.

Poi ho notato che il percorso in `app.yml` era `/var/discourse` e l’ho aggiornato a `/var/www/discourse`, ho fermato e distrutto il container, rimosso completamente la cartella precedente. E l’ho rimesso in funzione… ma ho notato che ora non riesco più a caricare file.

Che tipo di permessi necessita la cartella `uploads`? Posso fare alcune modifiche manualmente, ma vorrei sapere esattamente cosa e se va bene in generale (il launcher non dovrebbe occuparsi di impostare i permessi corretti, specialmente quando viene avviato da zero?)

Nei log ho errori nginx come

> 2024/07/12 19:11:23 [crit] 76#76: \*160552 stat() “/var/www/discourse/public/uploads/default/original/1X/971c712ff3f1758abc63ac777ad708042cc41ddf.png” failed (13: Permission denied), client: 172.17.0.1, server: \_, request: “GET /phorum/uploads/default/original/1X/971c712ff3f1758abc63ac777ad708042cc41ddf.png HTTP/1.0”, host: “[myhost.com](http://myhost.com)”, referrer: “[https://myhost.com/phorum/admin/site\_settings/category/branding](https://myhost.com/phorum/admin/site_settings/category/branding)”

Permessi su `uploads` sono come:

> `drwxr--r--+ 3 discourse www-data 21 Jul 12 11:47 uploads`

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [12 Luglio 2024, 7:42pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/2 "2024-07-12T19:42:19Z")

</div>

> [@lega4](#):
>
> Poi ho realizzato che il percorso in `app.yml` era `/var/discourse`

Questo è ciò che è raccomandato.

Il percorso `/var/www/discourse` è il percorso di discourse all’interno del container. `/var/discourse` è il percorso normale per Discourse\_docker al di fuori del container.

Dato che hai appena iniziato, ti consiglierei di ricominciare da capo e di non rinominare nulla questa volta.

La mia ipotesi è che tu non abbia aggiornato il percorso nel tuo app.yml e quindi stia cercando di accedere a qualcosa che non esiste.

---

<div class="post-metadata">

### Author: ![lega4](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lega4/32/430878_2.png) [@lega4](https://meta.discourse.org/u/lega4)
#### Post date: [12 Luglio 2024, 7:44pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/3 "2024-07-12T19:44:46Z")

</div>

> [@pfaffman](#):
>
> Il percorso /var/www/discourse è il percorso di discourse all’interno del container. /var/discourse è il percorso normale per Discourse\_docker all’esterno del container.

Ho molti altri progetti su questo server e sono tutti ben posizionati nella mia cartella /var/www, quindi preferisco mantenerla così 🙂 E non mi interessa come sia all’interno del container.

> [@pfaffman](#):
>
> La mia ipotesi è che tu non abbia aggiornato il percorso nel tuo app.yml e quindi stia cercando di accedere a qualcosa che non esiste.

Ma l’ho aggiornato? In mounts, o dove altro dovrebbe andare?

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [12 Luglio 2024, 7:49pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/4 "2024-07-12T19:49:20Z")

</div>

> [@lega4](#):
>
> sono tutti ben posizionati nella mia cartella `/var/www`

Mi dispiace, non posso aiutarti. Ma sono totalmente sicuro che tu non abbia Nginx lì 😉 La situazione è la stessa con il container Docker.

---

<div class="post-metadata">

### Author: ![lega4](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lega4/32/430878_2.png) [@lega4](https://meta.discourse.org/u/lega4)
#### Post date: [12 Luglio 2024, 7:50pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/5 "2024-07-12T19:50:12Z")

</div>

> [@Jagster](#):
>
> Mi dispiace, non posso aiutarti. Ma sono assolutamente sicuro che tu non abbia Nginx lì 😉 La situazione è la stessa con il container Docker.

Mi dispiace, non capisco, quale nginx? I log provengono dal nginx di Discourse, il mio nginx che termina SSL è al di sopra di esso.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [12 Luglio 2024, 7:53pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/6 "2024-07-12T19:53:51Z")

</div>

Esatto il mio punto. Poiché il tuo reverse proxy nginx non è in quel percorso, perché dovrebbe esserlo anche il container docker.

Ma un container vive la sua vita e il percorso verso il container non dovrebbe influire su ciò che fa il suo Nginx. Hai cambiato anche qualcos’altro?

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [12 Luglio 2024, 8:02pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/7 "2024-07-12T20:02:28Z")

</div>

Ho controllato quello che ho:

`lrwxrwxrwx 1 root root 15 Jul 12 10:10 uploads -> /shared/uploads`

E come esempio un’immagine su `/var/www/discourse/public/uploads/default/original/1X` appare così:

`-rw-r--r-- 1 discourse www-data 7100 May 19 2022 08335563eac3a393e60a902d4d38cffdfa6d967d`

Questo è quanto so. Altrimenti Docker è un mistero enorme per me 🤣

---

<div class="post-metadata">

### Author: ![lega4](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lega4/32/430878_2.png) [@lega4](https://meta.discourse.org/u/lega4)
#### Post date: [12 Luglio 2024, 8:08pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/8 "2024-07-12T20:08:27Z")

</div>

> [@Jagster](#):
>
> `lrwxrwxrwx 1 root root 15 Jul 12 10:10 uploads -> /shared/uploads`

Quindi fondamentalmente scrivibile da chiunque? Non è considerato un problema di sicurezza?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [12 Luglio 2024, 8:09pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/9 "2024-07-12T20:09:21Z")

</div>

> [@lega4](#):
>
> ho molti altri progetti su questo server e sono tutti ben posizionati nella mia cartella `/var/www`

Non vuoi davvero correre il rischio di esporre i tuoi segreti nel tuo file app.yml al mondo intero.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [12 Luglio 2024, 8:10pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/10 "2024-07-12T20:10:24Z")

</div>

Dentro di Docker? Non credo. E… non mi interessa perché tutto ciò è pianificato e realizzato da CDCK e mi fido che sappiano cosa fanno 😏

---

<div class="post-metadata">

### Author: ![lega4](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lega4/32/430878_2.png) [@lega4](https://meta.discourse.org/u/lega4)
#### Post date: [12 Luglio 2024, 8:12pm UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/11 "2024-07-12T20:12:24Z")

</div>

> [@pfaffman](#):
>
> Non vuoi davvero correre il rischio di esporre i tuoi segreti nel tuo app.yml al mondo.

Certo, ma non sto esponendo nulla 🙂

> [@Jagster](#):
>
> Dentro Docker? Non credo.

I permessi sono gli stessi, indipendentemente dal fatto che sia all’interno o all’esterno. E la cartella uploads è montata.

---

<div class="post-metadata">

### Author: ![lega4](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lega4/32/430878_2.png) [@lega4](https://meta.discourse.org/u/lega4)
#### Post date: [13 Luglio 2024, 9:58am UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/12 "2024-07-13T09:58:04Z")

</div>

Va bene, non ha funzionato nulla, quindi ho finito per cambiare i permessi della cartella `uploads` in 755 e ora va tutto bene. Dopo la ricompilazione, sembra che gli upload stessi fossero a posto (dal lato del motore), tuttavia nginx non è stato in grado di leggerli.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [13 Luglio 2024, 11:27am UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/13 "2024-07-13T11:27:29Z")

</div>

Non capisco del tutto perché stai facendo tutto questo. È una tua scelta mettere un container in un percorso che sarà visibile a livello mondiale se commetti un piccolo errore, ma questa è una tua scelta. Ma tutto il resto… perché?

Avere un reverse proxy davanti a Discourse è davvero banale e altrimenti la tua configurazione sarebbe un’installazione standard senza tutta questa fatica. Certo, se vuoi giocare e questo è il tuo hobby, ma molto presto qualcuno si presenterà e dirà che puoi ottenere supporto solo per un’installazione standard e il problema più grande è che nessuno sa davvero cosa hai fatto. O perché.

---

<div class="post-metadata">

### Author: ![lega4](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lega4/32/430878_2.png) [@lega4](https://meta.discourse.org/u/lega4)
#### Post date: [13 Luglio 2024, 11:30am UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/14 "2024-07-13T11:30:00Z")

</div>

> [@Jagster](#):
>
> Non capisco bene perché stai facendo tutto questo.

Cosa "questo"? Ho una configurazione relativamente standard 🙂 E sto cercando di risolvere il problema.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [13 Luglio 2024, 11:36am UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/15 "2024-07-13T11:36:53Z")

</div>

Se vuoi, puoi caricare un file e vedere quali sono i suoi permessi e copiarli.

Magari caricane alcuni e poi fai

```
 find uploads -ls |less

```

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [13 Luglio 2024, 11:39am UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/16 "2024-07-13T11:39:48Z")

</div>

Stai risolvendo un problema che hai riscontrato quando hai iniziato a fare qualcos’altro, cosa che uno standard richiede. Anche con un proxy inverso.

Ecco perché sei piuttosto lontano dallo standard 😏 Perché ci sono due opzioni:

- hai un bug tra le mani che nessun altro ha
- hai fatto qualcosa di strano

Forse è un bug. E lo hai confermato facendo un’installazione standard usando un percorso sicuro (in molti modi) e allo stesso tempo collegando correttamente il tuo proxy inverso. Perché se è ancora rotto, posso scommettere che il problema è nell’host virtuale e/o nelle porte. Ma se funziona… allora siamo tornati all’opzione “strano” - dove nessuno sa cosa hai fatto.

Vedi il problema qui?

In ogni caso, l’uso di un proxy inverso porta a _nessun supporto_… questa è la politica qui. Ma altri utenti possono e molto spesso aiuteranno.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [12 Agosto 2024, 11:40am UTC](https://meta.discourse.org/t/permissions-for-uploads-folder/316120/17 "2024-08-12T11:40:37Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
