WordPress, risolvere problema Informazioni Connessioni FTP

Oggi ho deciso di risolvere, in ambiente di sviluppo (macchina locale), una volta per tutte il problema dell’installazione (via download diretto) di plugins, temi, ecc, di WordPress. Sviluppo su iMac 27′ su cui ho installato Zend Server CE (LAMP).

Ogni volta che, in locale ( in produzione, ad esempio, mai avuto problemi!), tentavo di installare un plugin, un tema o un aggiornamento mi ritrovavo di fronte alla schermata sopra. Oggi ho approfondito alcuni aspetti e ho scoperto che si tratta di un problema di permessi.

WordPress, durante questi processi di installazione, ha necessità di lavorare sul Filesystem. Deve poter scrivere e modificare i permessi/proprietari dei files. Se per qualsiasi motivo non riesce a fare questa operazione rimanda l’utente alla schermata sopra nel tentativo di eseguire l’operazione via FTP. In questa pagina è spiegato molto bene tutto il meccanismo, viene anche evidenziata la procedura che WP utilizza per verificare se può scrivere sul Filesystem (vedi sotto).

Su OSX in pratica avevo questo contrasto nei permessi:

L’utente daeomn del gruppo wheel è quello con cui WP scrive sul filesystem (in pratica l’utente utilizzato da Apache). La procedura che effettua la suddetta verifica è questa:

// The following code is from the get_filesystem_method()
// method in the wp-admin/includes/file.php file:
 
if( function_exists('getmyuid') && function_exists('fileowner') ){
    $temp_file = wp_tempnam();
    if ( getmyuid() == fileowner($temp_file) )
        $method = 'direct';
    unlink($temp_file);
}

Nel mio caso non dà esito positivo e quindi si finisce alla schermata di inserimento dei dati account FTP. In pratica l’utente dello script che scrive sul filesystem deve essere lo utente con cui apache viene eseguito. Nel mio caso sopra infatti non è così.

Come risolvere il problema?

Non so se quella scelta è la via corretta e nemmeno mi sono preoccupato di eventuali problemi relativi alla sicurezza (per i quali vi consiglio il plug-in WP-Security) perchè, come ho evidenziato sopra, si tratta della macchina di sviluppo interna.

La mia soluzione è stata quella di cambiare il proprietario dell’intera directory che ospita WordPress impostando daemon come utente e wheel come gruppo:

chown -R daemon:wheel m4ss

Problema risolto!

6 pensieri su “WordPress, risolvere problema Informazioni Connessioni FTP

  1. Andrea

    E se non si trattasse di una macchina interna ma di un sito ospitato da un hoster su cosa devo intervenire ?

  2. giulius

    Vedo che il post è datato e spero nel frattempo tu abbia avuto modo di testare questa soluzione su un server vero! Se si puoi postare i risultati? grazie

  3. Davide Gullo

    No, non mi è mai capitato di dover intervenire in ambienti in produzione per questo tipo di problema. Mi spiace.

  4. Andrea

    Sto facendo un po’ di pratica da pochissimo su WordPress e ho riscontrato anche io questo problema che mi blocca, ho letto la guida ma non riesco a capire come e dove inserire l’ultima stringa!!

  5. ptux

    in /wp-config.php aggiungete la costante:

    define (‘FS_METHOD’,’direct’);

    e il gioco è fatto. Funziona su server locale e remoto.

Lascia un commento

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