root/alternc-doc/trunk/admin/internals.xml

Revision 1550, 11.1 kB (checked in by benjamin, 3 years ago)

documentation, mise a jour pour 0.9.5

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?xml version="1.0" encoding="iso-8859-1"?>
2
3 <!-- $Revision$ -->
4
5 <chapter id="admin.internals">
6 <title>Fonctionnement interne d'AlternC</title>
7
8 <sect1><title>Debian / Alternc, une distribution linux et un panneau de configuration général</title>
9
10 <para>
11 AlternC est un produit basé sur la distribution Debian. Cette distribution propose un système de paquets d'installation (fichiers .deb) installables facilement (avec la commande dpkg) ou tout simplement téléchargeables automatiquement grâce à l'outil apt-get. AlternC utilise le système apt-get pour pouvoir s'installer. Il propose donc un dossier web (http://debian.alternc.org) où votre système pourra trouver les paquets d'AlternC.
12 </para>
13 <para>
14 AlternC se base sur des logiciels standards utilisés pour l'hébergement de contenu web, de mails, de listes ... Ces logiciels dont donc fournis par Debian, et nous utilisons les paquets standards Debian. Voici la liste des logiciels utilisés et de leur rôle, ceci n'est pas une référence, les outils utilisés pouvant changer avec le temps
15 </para>
16
17 <screen>
18 Apache         Serveur Web (pages http)
19 Postfix        Serveur Smtp (courrier électronique)
20 Proftpd        Serveur Ftp (transfert de fichiers)
21 Bind9          Serveur Dns (noms de domaine)
22 Mailman        Serveur de listes de discussion / diffusion
23 Mysql4         Serveur de bases de données
24 Php4           Language de contenu dynamique
25 PhpMyAdmin     Interface web de gestion de données
26 Squirrelmail   Interface web de lecture de mail
27 AWstats        Statistiques web
28 Webalizer      Statistiques web
29 Courier Suite  Serveur pop, pops, imap, imaps
30 Spamassassin   Logiciel d'antispam
31 Postgrey       Filtrage antispam
32 Clamav         Antivirus
33 </screen>
34
35 <para>
36 Chaque logiciel est installé par le système apt-get de debian, lors de l'installation d'AlternC (voire la documentation d'installation). A l'installation d'AlternC, celui-ci écrase les fichiers de configuration des différents logiciels ci-dessus, en les remplaçant par des versions optimisées et adaptées à l'hébergement de contenus mutualisés. Le paquet AlternC fournit donc des modèles de fichiers de configuration dans <filename>/etc/alternc/templates/</filename> qui remplaceront ceux fournis par Debian. Ces fichiers contiennent des balises sous la forme %%variable%% où 'variable' provient du fichier de configuration générale d'AlternC : <filename>/etc/alternc/local.sh</filename>, qui a été prérempli avec les informations que vous avez saisi dans les masques de configuration lors de l'installation d'AlternC.
37 </para>
38
39 <example><title>Exemple de Fichier de configuration AlternC</title>
40 <para>
41 Le fichier de configuration d'apache est dans /etc/apache/httpd.conf. Voici un exemple (ce n'est qu'un exemple, le fichier issu de /etc/alternc/templates est probablement différent. On y retrouve entre autre :
42 </para>
43
44 <screen>
45 ##
46 ## httpd.conf -- Apache HTTP server configuration file (sample)
47 ##
48 ...
49 # Listen: Allows you to bind Apache to specific IP addresses and/or
50 #Listen 3000
51 #Listen 12.34.56.78:80
52 ...
53 # BindAddress: You can support virtual hosts with this option. This directive
54 #BindAddress *
55 </screen>
56
57 <para>
58 Celui fourni avec AlternC contiendra des valeurs substituables à l'installation :
59 </para>
60
61 <screen>
62 #
63 # Fichier de configuration principale d'Apache pour AlternC (extraits)
64 ServerType standalone
65 ServerRoot /etc/apache
66 MaxRequestsPerChild 100
67 Listen %%myip%%:80
68 BindAddress %%myip%%
69 ...
70 </screen>
71
72 <para>
73 Ainsi l'installation d'AlternC pourra créer un fichier httpd.conf personnalisé pour votre serveur, ce qui donnerait :
74 </para>
75
76 <screen>
77 #
78 # Fichier de configuration principale d'Apache pour AlternC (extraits)
79 ServerType standalone
80 ServerRoot /etc/apache
81 MaxRequestsPerChild 100
82 Listen 80.67.172.60:80
83 BindAddress 80.67.172.60
84 ...
85 </screen>
86 </example>
87
88 </sect1>
89
90
91
92
93
94 <sect1><title>Apache, fonctionnement du serveur Web sous AlternC</title>
95
96 <para>
97 Le serveur web Apache est le plus connu et le plus utilisé des logiciels permettant de mettre à disposition des pages web (via la protocole http). Il est utilisé par AlternC, non seulement comme serveur permettant de mettre à disposition les pages web hébergées par les clients de votre serveur, mais il permet aussi d'accéder au panneau de configuration, le Bureau d'AlternC.
98 </para>
99 <para>
100 Avec la configuration Debian par défaut, apache ne sait pas gérer les domaines proprement : il sert toutes les pages web dans /var/www. AlternC modifie donc sa configuration pour supporter les domaines 'virtuels', à savoir la possibilité d'héberger plusieurs domaines sur un même serveur disposant d'une seule adresse ip. La ligne de configuration magique correspondante est la suivante :
101 <filename>VirtualDocumentRoot /var/alternc/dns/%-2.1/%0</filename>
102 </para>
103 <para>
104
105 Ce paramètre permet de diriger Apache automatiquement vers la page souhaitée en fonction du nom du domaine. %-2.1 signifie "le premier (1) caractère du second membre (2) du domaine en lisant par la droite (-)". Par exemple, pour le domaine <filename>www.alternc.org</filename>, apache va chercher le dossier <filename>/var/alternc/dns/a/www.alternc.org/</filename>. AlternC pose donc un lien symbolique a cet endroit, pointant vers le dossier choisi par l'hébergé dans son espace web.
106 </para>
107 <para>
108 Chaque hébergé dispose d'un espace web. Cet espace web est situé dans <filename>/var/alternc/html/e/essai</filename> pour le compte essai..., ainsi, si le compte essai fait pointer le domaine <filename>www.virtuel.org</filename> dans le dossier virt de son compte, il crée ce dossier, et le domaine pointera sous forme de lien symbolique de <filename>/var/alternc/html/e/essai/virt</filename> à l'emplacement <filename>/var/alternc/dns/v/www.virtuel.org</filename>.
109 </para>
110 <para>
111 Pour la gestion des domaines, il y a d'autres cas d'hébergement de domaines : dans le panneau de l'hébergé, ce dernier peut choisir plusieurs modes :
112 </para>
113
114 <itemizedlist>
115
116 <listitem><para>      Hébergément d'un domaine/sous-domaine vers un dossier de son espace web</para></listitem>
117 <listitem><para>      Redirection vers une adresse IP</para></listitem>
118 <listitem><para>      Redirection vers une autre url (http://...)</para></listitem>
119 <listitem><para>      Autre redirection : vers le webmail, le bureau ...</para></listitem>
120
121 </itemizedlist>
122
123 <para>
124 Le premier cas a été étudié ci-dessus.
125 </para>
126 <para>
127 Lorsque l'hébergé choisi de diriger un domaine vers une ip, aucun lien symbolique n'est créé dans <filename>/var/alternc/dns</filename>, mais la zone dns de l'hébergé reçoit une nouvelle ligne du type
128 </para>
129 <screen>
130 sousdomaine   IN   A   80.67.172.5
131 </screen>
132 <para>
133 Ce fichier zone est situé dans <filename>/etc/bind/master/virtuel.org</filename> (par exemple, voir La section sur le serveur dns (bind)
134 </para>
135 <para>
136 Lorsque l'hébergé choisi de diriger un domaine vers une redirection http://, un lien symbolique est créé dans <filename>/var/alternc/dns/v/virtuel.org</filename> vers le dossier <filename>/var/alternc/dns/redir/v/virtuel.org/</filename> nouvellement créé, dans lequel on retrouve un fichier .htaccess. Ces fichiers sont des options de configuration d'Apache, et permettent de préciser notemment des redirections. Dans notre cas, on utilise les Rewrite Rules d'Apache pour rediriger l'internaute vers la page demandée.
137 </para>
138
139 </sect1>
140
141
142
143
144 <sect1><title>Bind, le serveur DNS</title>
145 <para>
146 AlternC utilise Bind9 comme serveur dns, permettant ainsi l'hébergement complet de noms de domaines, enregistrés chez votre registrar préféré. Vous pouvez donc installer un domaine sur votre serveur AlternC et préciser votre serveur comme dns primaire du domaine. Bind9 est très simple d'utilisation : on retrouve un fichier zone par domaine dans le dossier <filename>/etc/bind/master</filename>, qui est référencé dans le fichier <filename>/etc/bind/automatic.conf</filename>. Ce fichier reçoit une ligne par domaine enregistré, prévenant bind que ce domaine est installé sur le serveur et qu'il en est le dns primaire.
147 </para>
148 <para>
149 La création, la modification et la suppression d'informations d'un domaine dans AlternC ne se fait pas de manière instantanée. Un script unix effectue les modifications nécessaires et redémarre bind si besoin toutes les 5 minutes. Ce script est situé dans /usr/lib/alternc/system/do_domaines.sh. Il est lancé par le système cron grâce au fichier <filename>/etc/cron.d/alternc</filename>
150 </para>
151
152 <example><title>Exemple de fichier zone</title>
153 <para>
154 Voici un exemple de fichier zone pour bind. On y retrouve toutes les informations sur le domaine concerné (ici mailfr.com) : TTL (durée de mise en cache maximale des informations), Serveur primaire (SOA primary.heberge.info), Serveurs de nom du domaine (NS primary et secondary), Serveur de courrier du domaine (MX = Mail Exchanger), et l'adresse IP du domaine vide (IN A) et de tous les sous-domaines (* IN A) :
155 </para>
156 <screen>
157 $TTL 1D
158 ; BIND data file for domain mailfr.com
159 @       IN SOA primary.heberge.info. root.brassens.heberge.info. (
160                 2003082602      ; serial
161                 21600           ; refresh (6h)
162                 3600            ; retry (1h)
163                 604800          ; expiry (7d)
164                 86400 ) ; RR TTL (24h)
165
166                 IN      NS      primary.heberge.info.
167                 IN      NS      secondary.heberge.info.
168                 IN      MX 5    mx.heberge.info.
169                 IN      A       80.67.172.60
170 *               IN      A       80.67.172.60
171 </screen>
172 </example>
173 </sect1>
174
175
176 <sect1><title>Le service de courrier</title>
177
178 <sect2><title>Postfix, le serveur smtp/mta</title>
179 <para>
180 AlternC utilise Postfix comme MTA (Mail Transfer Agent = serveur de courrier) pour recevoir et
181 envoyer du courrier via le protocole SMTP. les boites aux lettres sont stockées dans le serveur
182 localement au format maildir dans un dossier sous <filename>/var/alternc/mail/</filename>.
183 Par exemple, la boite aux lettres de <filename>benjamin@example.com</filename> est située dans
184 <filename>/var/alternc/mail/b/benjamin_example.com/Maildir/</filename>
185 </para>
186 <para>
187 Le fichier de configuration principal de Postfix est <filename>/etc/postfix/main.cf</filename>.
188 Il est modifié à l'installation d'AlternC pour aller chercher les emails dans une base MySQL
189 fournie par le serveur MySQL Local. Cette base possède 2 tables principales : la table <command>mail_alias</command> et la table <command>mail_domain</command>.
190 Une troisième table existe : <command>mail_users</command> qui contiendra les login/mot de passe
191 pop/imap des boites aux lettres
192 </para>
193 </sect2>
194
195 <sect2><title>Courier Imap/Pop, le serveur de réception</title>
196 <para>
197   AlternC utilise courier comme serveur pop et imap, permettant aux utilisateurs d'accéder à leurs boites aux lettres via un client de messagerie pop ou imap tel que <ulink url="http://frenchmozilla.org/">Mozilla Thunderbird</ulink>, Kmail... ou tout autre client compatible. la suite courier a pour avantage de fournir nativement les services pop, imap, pop sécurisé et imap sécurisé. Ainsi, il est possible d'accéder à son courrier à travers un tunnel de données crypté en SSL.
198 </para>
199 <para>
200   La suite logicielle Courier est configurée pour vérifier les utilisateurs dans la table MySQL <command>mail_users</command> située dans la base de données du système.
201 </para>
202 </sect2>
203
204 </sect1>
205
206 </chapter>
Note: See TracBrowser for help on using the browser.