BellaMatte
31-05-2011, 15:16
Ciao a tutti.
Ho un server web su cui gira Apache.
Mi sono trovato davanti ad un problema di permessi su linux per quanto riguarda la configurazione dei vari virtual hosts.
Io utilizzo Plesk 10.2.0 per creare i vari virtual hosts.
Per ogni vhost viene creato un utente linux diverso appartenente al gruppo psacln
Questo utente è quello che viene utilizzato anche per l'accesso FTP.
Apache invece gira sotto user apache:apache e quindi anche ogni script php viene eseguito tramite questo user.
Capita quindi che quando carico il sito tramite FTP, poi mi ritrovo a non poter caricare files all'interno delle cartelle tramite script php. Viceversa quando carico i files tramite script poi non riesco a scriverci sopra tramite FTP.
Per risolvere il primo caso (caricamento tramite php in cartella caricata tramite FTP, che quindi ha come owner l'utente specifico del vhost) devo settare a 7 il permesso pubblico poichè anche il group è diverso (apache != psacln).
Per il contrario invece devo prima cancellare il file e poi posso caricarlo tramite FTP.
Ovviamente nessuna delle due soluzioni mi aggrada e vorrei trovare il modo di impostare il vhost in modo che utilizzi php con user specifico e non con user apache.
P.S.
PHP l'ho aggiornato manualmente poichè in Plesk non ho trovato il modo di farlo. Probabilmente prima dell'aggiornamento girava come modulo cgi (che risolverebbe il problema) e non come modulo apache (come invece è ora), anche perché nei file di configurazione dei vhosts c'è la direttiva SuExecUserGroup e poi non mi capacito del fatto che un pannello collaudato come plesk possa avere un problema simile...
Mi piacerebbe però tenere php come modulo apache ed evitare di farlo girare come cgi.
Ho un server web su cui gira Apache.
Mi sono trovato davanti ad un problema di permessi su linux per quanto riguarda la configurazione dei vari virtual hosts.
Io utilizzo Plesk 10.2.0 per creare i vari virtual hosts.
Per ogni vhost viene creato un utente linux diverso appartenente al gruppo psacln
Questo utente è quello che viene utilizzato anche per l'accesso FTP.
Apache invece gira sotto user apache:apache e quindi anche ogni script php viene eseguito tramite questo user.
Capita quindi che quando carico il sito tramite FTP, poi mi ritrovo a non poter caricare files all'interno delle cartelle tramite script php. Viceversa quando carico i files tramite script poi non riesco a scriverci sopra tramite FTP.
Per risolvere il primo caso (caricamento tramite php in cartella caricata tramite FTP, che quindi ha come owner l'utente specifico del vhost) devo settare a 7 il permesso pubblico poichè anche il group è diverso (apache != psacln).
Per il contrario invece devo prima cancellare il file e poi posso caricarlo tramite FTP.
Ovviamente nessuna delle due soluzioni mi aggrada e vorrei trovare il modo di impostare il vhost in modo che utilizzi php con user specifico e non con user apache.
P.S.
PHP l'ho aggiornato manualmente poichè in Plesk non ho trovato il modo di farlo. Probabilmente prima dell'aggiornamento girava come modulo cgi (che risolverebbe il problema) e non come modulo apache (come invece è ora), anche perché nei file di configurazione dei vhosts c'è la direttiva SuExecUserGroup e poi non mi capacito del fatto che un pannello collaudato come plesk possa avere un problema simile...
Mi piacerebbe però tenere php come modulo apache ed evitare di farlo girare come cgi.