Come risolvere i problemi di permessi su file e directory in WordPress

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…

Filezilla screenshot

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“.

Filezilla screenshot

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…“.

Filezilla screenshot

Questa volta scriviamo 644 nel campo “Valore numerico“. Spunta “Includi sottocartelle” e scegli “Applica solo ai file“.

Filezilla screenshot

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.