Je bosse chez un hebergeur. Au niveau des comptes, tout est gere dans un annuaire LDAP (l'interet c'est que c'est compatible avec quasiment tous les serveurs : apache, caudium, pureftpd, ssh via pam ou auth_ldap, etc) . Les sites sont sur plusieurs serveurs, exportes en NFS vers une machine qui contient le serveur ftp et s'occupe de realiser les sauvegardes (+ quelques autres trucs genre check des images pedo/zoophiles, etc) . La conf des serveurs dns et mail est generee automatiquement d'apres l'annuaire ldap. Toutes les tables MySQL sont en InnoDB pour eviter des coupures en cas de plantage. La conf Apache est cree avec de petits scripts, mais on va passer a Caudium (qui a un module pour gerer facilement tous les vhosts dans un annuaire) .
Le plus chiant c'est que beaucoup d'heberges installent des scripts pourris qui bouffent tout le cpu, ne ferment pas leurs connexions SQL, etc. Donc le plus important c'est de bien configurer chaque demon pour eviter qu'un type puisse foutre tous les autres en l'air.
Pour la conf du PHP tu peux la voir la : http://photo.c9x.org/
Au niveau de MySQL les requetes sont limitees a 10 secondes max avec 100 requetes simultanees par utilisateur max. Pour PHP, il y a evidemment un open_basedir avec comme base la racine de chaque vhost (tu peux dans la conf apache definir des parametres PHP differents pour chaque vhost) .
Il y a des limites de CPU/RAM/fork pour les CGI.
Plus tout un tas de scripts qui verifient en permanence si un machin n'est pas plante ou en train de bouffer toutes les ressources (dans 99% des cas, c'est MySQL qui part en couille... un kill -9 automatique et ca repart...) .
Sinon, tout est chroote, les heberges ne peuvent donc pas voir le system "reel".
mod_watch est installe pour controler l'utilisation de la bande passante de chaque hote (utilise avec des cgi qui affichent les vhosts les plus gourmands en fonction du watch-table, pas avec mrtg qui bouffe trop de ressources pour rien) .
Tous les Apache sont patches pour fonctionner avec Lingerd qui reduit pas mal la charge des machines.
Au niveau OS il y a des OpenBSD et des FreeBSD, avec une installation identique sur les machines qui jouent le meme role (pour les mises a jour, on en fout une a jour, et apres on se sert de ssync sur les exports nfs pour recopier ca sur toutes les autres) .
Qmail est patche pour fonctionner avec qmail-todo (+quelques petits patches persos), qui reduit les latences quand de gros bourrins envoient des spam a des mailing-lists.
Les serveurs dns sont sous djbdns, car on a eu de gros soucis avec bind8 (au dela d'un certain nombre de domaines, il se met a ignorer ceux que l'on ajoute par la suite) .
Il y a des regles de firewall en local sur chaque machine pour eviter que les connectes puissent faire joujou avec des scripts pour se connecter sur nos machines locales.
Et tous les demons sont supervises (via 'supervise' des daemontools), y compris Apache. Ca evite de se lever a 4h du mat quand un demon a plante.
Et le plus important : des masterswitch apc pour rebooter les machines a distance quand elles sont vraiment parties en couille + les consoles redirigees sur les ports serie.