2008-10-06 12 views
6

Qual è la procedura migliore per configurare un server LAMP in termini di utenti e gruppi Linux? Se ci sono più siti ospitati sullo stesso server, è meglio avere un singolo utente che possiede tutti i file di origine del sito (e i caricamenti) nello stesso gruppo di apache - o di avere un utente diverso per ogni sito (in modo che ogni sito ha il proprio crontab)? O qualcos'altro interamente?Utenti e gruppi Linux per un server LAMP

Per qualche motivo, questa domanda non sembra essere affrontata nei libri PHP/MySQL/Linux che ho incontrato.

risposta

1

Sulla nostra piattaforma htdocs di ogni sito ha il proprio utente. Ciò significa che se un sito è compromesso, gli altri dovrebbero andare bene.

1

Se si tratta di un numero limitato di siti di grandi dimensioni, è possibile che suddividere il server in più VM utilizzando qualcosa come Xen sia un'opzione migliore rispetto alla semplice separazione per utente. Ciò migliorerà l'isolamento dei vostri siti e renderà più facile spostare un sito sul proprio hardware se, in futuro, si inizierà a diventare molto più pesanti sull'utilizzo delle risorse rispetto agli altri.

0

Suppongo che tu non voglia impazzire e ottenere WHM per cPanel e potresti volerlo fare in modo inesatto.

Penso che sia una buona pratica far sì che ogni utente acceda al proprio spazio dal proprio nome utente e gruppo - specialmente se gli utenti non collegati potrebbero utilizzare il webserver.

Se si dispone di oltre 10 domini e utenti e si desidera mantenere gli account segregati nel proprio spazio, prenderei in considerazione l'utilizzo di Webmin con VirtualMin installato sul server. Questo gestisce facilmente questo tipo di problemi, all'interno di una bella installazione gratuita. Altrimenti, dovrai acquistare un prodotto commerciale o gestire tutto manualmente - un vero dolore, ma può essere fatto (non consigliato per un'attività commerciale).

Inoltre, Xen e VMS potrebbero essere eccessivi, ma non altrettanto facili da gestire come Webmin/VirtualMin per 10-100 account.

0

La scelta migliore è creare VirtualHost per ciascun dominio utilizzando Apache con modulo suPHP. In questo modo, ciascun sito sarà di proprietà di un utente e verrà eseguito con il permesso dell'utente. Webroot di ogni sito dovrebbe essere messo sotto homedir dell'utente per prevenire attacchi locali.

Se si utilizza lo stesso utente per ogni sito Web, ciò significa che l'utente dal sito WebA può accedere alla lettura/scrittura dei file del sito WebB.

0

Ho fatto una specie di piccolo livello di hosting per diversi anni e la mia risposta è "Dipende".

Prima di tutto c'è una differenza tra il modulo Apache (mod_php). CGI e FastCGI. Una buona lista con tutti i pro ei contro potrebbe essere trovato qui: Apache php modes

Quando si tratta di sicurezza tutte le modalità hanno pro e contro.

Poiché abbiamo ospitato solo una quantità relativamente piccola di domini con traffico moderato, ho deciso di rimanere con mod_php e ho utilizzato la configurazione di vhost.

Ho anche utilizzato diversi utenti FTP per ogni dir radice di vhost (ovviamente).

La configurazione di vhost (uno per cliente) consente di disattivare i domini in modo semplice, senza scavare la strada attraverso un httpd.conf ridicolmente grande e produrre errori lungo la strada.