Hai appena installato WordPress sul tuo hosting o server domestico? I permessi non correttamente impostati su file e directory potrebbero causare errori e conseguente impossibilità di installare plugins, temi o caricare immagini su WordPress o addirittura comprometterne la sicurezza.
In questo articolo, vedremo come risolvere il problema in pochi e semplici passi.
I permessi su file e directory definiscono chi e in che modo può effettuare operazioni sul tuo spazio su disco del server ospitante. Worpress necessita dei permessi specifici affinché possa operare correttamente sul server.
Nella maggior parte dei casi, WordPress mostra dei messaggi di errore (come quello visibile nella foto in alto) ogni qualvolta si tenti di effettuare operazioni su file o directories. Ad ogni modo, esistono altre funzionalità di WordPress che agiscono in background e non mostrano alcun messaggio di errore all’utente.
Quali sono le impostazioni dei permessi corrette per il tuo sito WordPress?
WordPress necessita di creare e modificare files e directories. Per la maggior parte degli utenti le impostazioni di default corrette sono:
755 per tutte le directories e sotto directories
644 per tutti i files
Vediamo ora come impostare i permessi.
Impostazione dei permessi da client FTP
Prima di tutto hai bisogno collegarti al tuo sito WordPress usando un FTP client (ad esempio Filezilla).
Una volta connesso vai alla directory principale del tuo sito (comunemente public_html o www).
Seleziona a questo punto tutte le directories presenti (wp-admin, wp-content, wp-includes) e facendo click con il tasto destro del mouse selezionare la voce “Permessi file…“
A questo punto comparirà la finestra di dialogo che vi permetterà di impostare i permessi.
Imposta sul campo “Valore numerico” il valore 755, spunta “Includi sottocartelle” e seleziona l’opzione “Applica solo alle sottocartelle“.
Clicca sul OK ed attendi il completamento dell’operazione di cambio dei permessi su tutte le directories e sotto directories, l’operazione potrebbe richiedere fino a qualche minuti.
Next, you need to select all files and folders in the root folder of your WordPress site and then right-click to select file permissions.
Il passo successivo è quello di selezionare tutti i files e directories sulla root del sito e fare nuovamente click con il tasto destro del mouse, selezionando nuovamente la voce “Permessi file…“.
Questa volta scriviamo 644 nel campo “Valore numerico“. Spunta “Includi sottocartelle” e scegli “Applica solo ai file“.
Fai click su OK per continuare.
Il tuo client FTP effettuerà ora il cambio su tutti i file in modo ricorsivo. Attendere il completamento dell’operazione.
Impostazione dei permessi via linea di comando
Qualora il vostro provider fornisca accesso via riga di comando (accesso SSH) al vostro hosting potrete effettuare il cambio permessi in maniera molto più rapida attraverso la procedura che vedremo qui di seguito.
Innanzitutto accediamo alla nostra shell e verifichiamo che la nostra directory principale dove è ospitato il sito sia quella corretta. Useremo come riferimento esemplificativo il percorso /home/sito_di_prova/public_home/
ls -lart /home/sito_di_prova/public_home/
Vedremo a questo punto un elenco di files e directories di questo tipo:
total 264
-rw-r--r-- 1 root root 5048 Jan 19 2021 index.html
-rw-r--r-- 1 root root 24880 Jun 28 17:36 licenza.html
-rw-r--r-- 1 root root 7766 Jun 28 17:36 readme.html
-rw-r--r-- 1 root root 7165 Jun 28 17:36 wp-activate.php
-rw-r--r-- 1 root root 19915 Jun 28 17:36 license.txt
-rw-r--r-- 1 root root 351 Jun 28 17:36 wp-blog-header.php
-rw-r--r-- 1 root root 405 Jun 28 17:36 index.php
-rw-r--r-- 1 root root 2338 Jun 28 17:36 wp-comments-post.php
-rw-r--r-- 1 root root 3186 Jun 28 17:36 wp-config-sample.php
-rw-r--r-- 1 root root 3943 Jun 28 17:36 wp-cron.php
-rw-r--r-- 1 root root 2494 Jun 28 17:36 wp-links-opml.php
-rw-r--r-- 1 root root 3973 Jun 28 17:36 wp-load.php
-rw-r--r-- 1 root root 8577 Jun 28 17:36 wp-mail.php
-rw-r--r-- 1 root root 48498 Jun 28 17:36 wp-login.php
-rw-r--r-- 1 root root 23706 Jun 28 17:36 wp-settings.php
-rw-r--r-- 1 root root 32051 Jun 28 17:36 wp-signup.php
-rw-r--r-- 1 root root 4748 Jun 28 17:36 wp-trackback.php
-rw-r--r-- 1 root root 3236 Jun 28 17:36 xmlrpc.php
drwxr-xr-x 9 root root 4096 Jun 28 17:44 wp-admin
drwxr-xr-x 5 root root 4096 Jun 28 17:50 wp-content
drwxr-xr-x 26 root root 12288 Jun 28 18:10 wp-includes
drwx--x--x 7 root root 4096 Jun 29 03:11 ..
-rw-r--r-- 1 root root 3472 Jun 29 09:31 wp-config.php
-rw-r--r-- 1 root root 531 Jun 29 09:32 .htaccess
drwxr-x--- 5 root nobody 4096 Jun 29 09:32 .
Ora impostiamo i permessi a 755 su tutte le directories e sottodirectories e 644 sui files in un un’unica operazione.
chmod -R u+rwX,go+rX,go-w /home/sito_di_prova/public_home