Aggiornamento WordPress - Questo è solitamente dovuto a permessi di file inconsistenti: wp-admin/includes/update-core.php
Ho alcuni server WordPress con accesso root e al momento della creazione del server tutto funzionava correttamente, WordPress stesso e i plugin e i temi si aggiornavano senza problemi, ma non sono sicuro del perché recentemente ho ricevuto un errore che indica solitamente un problema di permessi (anche se i permessi sembrano corretti).
Errore durante l'aggiornamento di WordPress:
Download dell'aggiornamento da https://downloads.wordpress.org/release/fa_IR/wordpress-5.7.zip…
L'autenticità di wordpress-5.7.zip non può essere verificata poiché non è stata trovata alcuna firma.
Estrazione dell'aggiornamento...
L'aggiornamento non può essere installato perché non saremo in grado di copiare alcuni file. Questo è solitamente dovuto a permessi di file inconsistenti: wp-admin/includes/update-core.php
Installazione fallita.
Ecco cosa ho fatto per investigare il problema:
ls -ld /home
drwx--x--x 26 root root 4096 Mar 9 20:03 home
ls -ld /home/my_user
drwx--x--x 26 my_user my_user 4096 Mar 9 20:03 /home/my_user/
ls -ld /home/my_user/public_html
drwxr-x--- 26 my_user nobody 4096 Mar 9 20:03 /home/my_user/public_html/
Inoltre tutti i file all'interno di public_html hanno permessi 0644 e tutte le directory sono 0755.
cd /home/my_user/public_html/
find . -type f -exec chmod 644 {} \; && find . -type d -exec chmod 755 {} \;
find . -type f -exec chown my_user:my_user {} \; && find . -type d -exec chown my_user:my_user {} \;
Il risultato di lsattr
è il seguente:
lsattr /home/my_user/public_html/wp-admin/includes/update-core.php
-------------e-- /home/my_user/public_html/wp-admin/includes/update-core.php
Quindi finora, secondo me non c'è nulla di sbagliato con i permessi e la proprietà.
Il controllo dei permessi e della proprietà di wp-admin
, wp-admin/includes
e wp-admin/includes/update-core.php
era corretto e non aveva problemi, ma non sono sicuro del perché WordPress non possa installare alcun plugin, tema o sé stesso.
Il PHP-Handler è suphp
(l'ho anche eseguito con cgi
e lsapi
) ma nulla è cambiato a questo riguardo.
La configurazione di Apache è la seguente:
MPM: mod_mpm_prefork
Moduli Apache (alcuni di essi):
mod_cgi
mod_lsapi
mod_mpm_prefork
mod_suexec
mod_suphp
Devo menzionare che ho creato un file come info.php
e l'ho eseguito nel browser web, funziona correttamente. Poi ho fatto chown
a root:root
e nel secondo caso ottengo errore 403 (come previsto), quindi l'ho riportato nuovamente a my_user:my_user
Il gruppo Apache è nobody
penso, e il chown
della directory public_html
è my_user:nobody
. Quindi il mio sito web e gli altri siti web funzionano correttamente, ma l'unico problema è durante l'aggiornamento o anche quando si tenta di installare un plugin/tema/nuovo aggiornamento.
Ho controllato i file di log ma non è stato registrato nulla.
Ho risolto questo problema rendendo l'utente del webserver il proprietario e il gruppo di tutti i file nella directory di WordPress.
Ho identificato che l'utente del webserver era daemon con:
ps aux | egrep '(apache|httpd)'
Poi ho modificato i permessi con:
sudo chown -R daemon:daemon /tuo-percorso-verso-wordpress

Grazie, ma ho reinstallato il sistema operativo e ora tutto funziona bene, ma questo non ha risolto il mio problema perché l'avevo già provato
