Ero contento come un bambino al luna park. WordPress mi funzionava alla perfezione ed ero anche riuscito a sistemare i permessi per gli aggiornamenti automatici.
Questo è durato alcuni mesi, finchè non ho migrato su un nuovo server alcuni blog, utilizzando diversi domini virtuali.
Dopo qualche settimana mi sono accorto che gli aggiornamenti automatici dei vari wordpress migrati non funzionavano più, segnalando un errore sui permessi.
Per la configurazione avevo seguito gli appunti di due articoli: configurazione wordpress, setup utente per gli aggiornamenti, che fin’ora non mi avevano mai lasciato a piedi.
Ho ricontrollato, ma non ho notato nulla di diverso da quello che aveva funzionato nell’installazione precedente.
Un problema di permessi
Cercando alla fine ho trovato la soluzione, un problema di permessi dovuti all’utente appositamente creato per gli aggiornamenti di questo domino.
Per avere utenti diversi collegati ai vari domini ho forzato la directory degli utenti nelle cartelle dei relativi domini. Questo sembra essere stato il problema.
Vediamo i dettagli
Nel secondo articolo configuravo l’utente con i seguenti comandi:
useradd utenteftp passwd utenteftp usermod -d /var/www/dominioparticolare/html utenteftp usermod -a -G apache utenteftp
In pratica nella terza riga forzo per l’utente in chroot, in modo da limitarlo alla directory che ospita wordpress. Mentre nella configurazione di wordpress avevo riportato il codice seguente:
define('FS_METHOD', 'ftpext'); define('FTP_BASE', '/var/www/dominioparticolare/html/'); define('FTP_USER', 'MioUtenteFtp'); define('FTP_PASS', 'MiaPasswordFtp'); define('FTP_HOST', 'Ip Esterno del server'); define('FTP_SSL', false);
Il problema è dato dalla configurazione di FTP_BASE
, occorre cambiare la directory a cui punta, visto che già l’utente viene collegato a quella cartella. Ecco come deve diventare la riga incriminata:
define('FTP_BASE', '/');
Fatta questa modifica ho provato subito ad eseguire l’aggiornamento e il messaggio di errore è sparito, l’aggiornamento è andato a buon fine.
Verificare la configurazione dell’utente
Per verificare velocemente la cartella a cui punta l’utente basta il seguente comando:
[bimbo@lunapark html]# more /etc/passwd |grep utenteftp utenteftp:x:593:593::/var/www/dominioparticolare/html:/bin/bash
Queste informazioni dovrebbero essere sufficienti per risolvere questo tipo di problema. Buon divertimento.