[FAI - hebergement] Faire ca comme les vrais... precision inside

Faire ca comme les vrais... precision inside [FAI - hebergement] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 27-06-2002 à 00:27:38    

J'aimerai savoir comment font les FAI avec leur 500000 clients en ce qui concerne le fTP, Web et mail (pas la connek, ca je m'en tapp)
Je ne pense pas qu'ils créaient un compte par client sur la machine!
 
J'ai entendu parler de faire marcher un server FTp en paralelle avec une base de données pour le gestuions des users!
Est ce qu'on peut faire pareil pour les mail et le site oueb??
 
PS: le but serait l'etude du montage eventuel d'un server d'hebergement pour une assoc avec
-> mail : user@nomdel'assoc
-> web : www.nomdelassoc.org/~user
-> FTP : ftp.nomdelassoc USER:user
 
Le top serait qu'il n'y ait pas de compte a rajouter (pas de /home/user, mais un /var/mail, /var/web et /var/ftp geres je ne sais comment), mais juste un mega CGI a creer qui ferait tout ca tout bien, genre gestion des comptes par interface web pour le president "neuneu" de l'assoc.
 
Les users ne devraient pas pouvoir se logguer (et pas non plus avoir d'entrée dans /etc/passwd) <- c'est surtout ce point qui motive mon post.
 
Merci pour chaque precision que vous pouvez apporter :jap:
 
PS: pour l'instant, la recherche n'est que théorique, on verra la pratique un autre jour ;)
 
PPS: Si c'est pas trop chiant a mettre en place et si ca existe pas deja, ca pourrait etre l'occasion de creer une distrib specialisé la dedans, ou moins une suite de scripts de configuration et un bon HOW-TO!!

Reply

Marsh Posté le 27-06-2002 à 00:27:38   

Reply

Marsh Posté le 27-06-2002 à 07:19:51    

Dans les grandes lignes, suffit de compiler tes serveurs FTP, SMTP et POP3 avec le support SQL ou LDAP, et tu as ta base de données centrale.
Je conseillerai plutôt LDAP qui est beaucoup plus rapide en lecture que SQL, menfin pour une petite base de quelques milliers de pingouins, pas la peine de trop s'emmerder.


---------------
"The marketing guys said the HP-35 would be a failure because it was too small, and then we couldn't make them fast enough to meet the demand. The marketing folks don't know everything." - Bill Hewlett
Reply

Marsh Posté le 27-06-2002 à 07:21:28    

Ah et le script de modif, j'en ai un, mais étant donné qu'on l'utilise pour notre boite, je peux pas te le filer comme ça. Par contre si tu veux qu'on t'héberge ton infrastructure, y'a pas de problème, on fait ça pas cher :D


---------------
"The marketing guys said the HP-35 would be a failure because it was too small, and then we couldn't make them fast enough to meet the demand. The marketing folks don't know everything." - Bill Hewlett
Reply

Marsh Posté le 27-06-2002 à 11:24:04    

Pour le web, tu as aussi le mod_dynvhost qui est super.

Reply

Marsh Posté le 27-06-2002 à 13:39:09    

Je suis initiateur et mainteneur d'un tel service dans mon école pour que les étudiants puissent héberger leur page web.
Tout est géré automatiquement grace à des scripts en perl(création du compte ftp, mysql, apache).
Le serveur est sous FreeBSD 4.4 et va bientot migrer en 4.6 d'ailleurs.
Perso j'utilise MySQL en tant que base de donnée centrale pour gérer les utilisateurs de notre service.
Ensuite pour les comptes ftp, j'utilise pure-ftpd couplé avec mysql(c'est juste une option a passer à la compilation de pure make WITH_MYSQL=1 sous freebsd dans les ports).
Pour mysql et http les comptes sont rajoutés avec des scripts en perl.
Pour le mail ce n'est pas encore fait mais avec des virtuals users ca doit pas être trop compliqué.
Bonne chance.
 
[g]http://www.e-supinfo.com


---------------
"Every solution breeds new problems"
Reply

Marsh Posté le 27-06-2002 à 15:31:54    

tres interressant tout ca...
Je vais regarder ca de plus pres des que j'ai le temps..
Merci :jap:
 
PS: d'autres opinions??

Reply

Marsh Posté le 30-06-2002 à 17:30:21    

et moi je me demande comment avec apache on peut faire
meme avec mod_dynvhost et y en a autre vhost_alias je crois  
pour faire creer les repertoires lors de l inscription !?
 
et il ne faut po rajouter des entrée dans apache ensuite car sinon faudrai redemmarrer apache a chaque fois
(mais la je pense po qu il faut ajouter des entrée)
 

Reply

Marsh Posté le 30-06-2002 à 18:42:14    

J'ai initié un post sur dynvhost, fait une recherche de mes posts ici et tu le trouvera obligé, vu le nb de messages que je poste

Reply

Marsh Posté le 30-06-2002 à 19:27:51    

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.

Reply

Marsh Posté le 30-06-2002 à 20:45:51    

merci pour toute ces info mais comment lors de l inscriptoon vous faites avec un moyen securise la creation des repertoires moi c est ce cas qui pose probleme

Reply

Marsh Posté le 30-06-2002 à 20:45:51   

Reply

Marsh Posté le 30-06-2002 à 23:26:02    

Lorsqu'un type s'inscrit il recoit un mail pour valider son adresse. Quand ce mail est recu, un script met a jour l'annuaire ldap (ce qui ajoute immediatement les entrees pour le ftp, mail et dns), et lance un autre script qui cree les repertoires et la conf apache.
 
Cette derniere operation est tout simplement faite a l'aide de ssh (authentification via les clefs dsa evidemment) . Meme clef pour tous les frontaux web, clef privee juste sur le serveur charge de traiter les inscriptions.

Reply

Marsh Posté le 30-06-2002 à 23:31:02    

ok thx pour toutes ces info c est tres sympa

Reply

Marsh Posté le 30-06-2002 à 23:37:03    

Si ca peut te faire gagner du temps, pure-ftpd permet de creer automatiquement les repertoires s'ils n'existent pas (option -j) . Donc tu as juste a mettre a jour la base des utilisateurs (ldap, sql, puredb, etc), et des que le mec se logguera pour la premiere fois, son compte sera cree.

Reply

Marsh Posté le 01-07-2002 à 00:03:50    

ok encore merci mille fois ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed