root/alternc-doc/branches/r0/admin/internals.xml

Revision 1119, 10.0 kB (checked in by benjamin, 4 years ago)

Initial revision

  • 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 Clamav         Antivirus
32 </screen>
33
34 <para>
35 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>/usr/share/alternc/1.0/install/etc</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/alternc.conf</filename>, que vous avez modifié avant d'installer AlternC.
36 </para>
37
38 <example><title>Exemple de Fichier de configuration AlternC</title>
39 <para>
40 Le fichier de configuration d'apache est dans /etc/apache/httpd.conf. on y retrouve entre autre :
41 </para>
42
43 <screen>
44 ##
45 ## httpd.conf -- Apache HTTP server configuration file (sample)
46 ##
47 ...
48 # Listen: Allows you to bind Apache to specific IP addresses and/or
49 #Listen 3000
50 #Listen 12.34.56.78:80
51 ...
52 # BindAddress: You can support virtual hosts with this option. This directive
53 #BindAddress *
54 </screen>
55
56 <para>
57 Celui fourni avec AlternC contiendra des valeurs substituables à l'installation :
58 </para>
59
60 <screen>
61 #
62 # Fichier de configuration principale d'Apache pour AlternC (extraits)
63 ServerType standalone
64 ServerRoot /etc/apache
65 MaxRequestsPerChild 100
66 Listen %%myip%%:80
67 BindAddress %%myip%%
68 ...
69 </screen>
70
71 <para>
72 Ainsi l'installation d'AlternC pourra créer un fichier httpd.conf personnalisé pour votre serveur, ce qui donnerait :
73 </para>
74
75 <screen>
76 #
77 # Fichier de configuration principale d'Apache pour AlternC (extraits)
78 ServerType standalone
79 ServerRoot /etc/apache
80 MaxRequestsPerChild 100
81 Listen 80.67.172.60:80
82 BindAddress 80.67.172.60
83 ...
84 </screen>
85 </example>
86
87 </sect1>
88
89
90
91
92
93 <sect1><title>Apache, fonctionnement du serveur Web sous AlternC</title>
94
95 <para>
96 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.
97 </para>
98 <para>
99 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 :
100 <filename>VirtualDocumentRoot /var/alternc/dns/%-2.1/%0</filename>
101 </para>
102 <para>
103
104 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 www.alternc.org, 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.
105 </para>
106 <para>
107 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 www.virtuel.org 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>.
108 </para>
109 <para>
110 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 :
111 </para>
112
113 <itemizedlist>
114
115 <listitem><para>      Hébergément d'un domaine/sous-domaine vers un dossier de son espace web</para></listitem>
116 <listitem><para>      Redirection vers une adresse IP</para></listitem>
117 <listitem><para>      Redirection vers une autre url (http://...)</para></listitem>
118 <listitem><para>      Autre redirection : vers le webmail, le bureau ...</para></listitem>
119
120 </itemizedlist>
121
122 <para>
123 Le premier cas a été étudié ci-dessus.
124 </para>
125 <para>
126 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
127 </para>
128 <screen>
129 sousdomaine   IN   A   80.67.172.5
130 </screen>
131 <para>
132 Ce fichier zone est situé dans <filename>/etc/bind/master/virtuel.org</filename> (par exemple, voir La section sur le serveur dns (bind)
133 </para>
134 <para>
135 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.
136 </para>
137
138 </sect1>
139
140
141
142
143 <sect1><title>Bind, le serveur DNS</title>
144 <para>
145 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.
146 </para>
147 <para>
148 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>
149 </para>
150
151 <example><title>Exemple de fichier zone</title>
152 <para>
153 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) :
154 </para>
155 <screen>
156 $TTL 1D
157 ; BIND data file for domain mailfr.com
158 @       IN SOA primary.heberge.info. root.brassens.heberge.info. (
159                 2003082602      ; serial
160                 21600           ; refresh (6h)
161                 3600            ; retry (1h)
162                 604800          ; expiry (7d)
163                 86400 ) ; RR TTL (24h)
164
165                 IN      NS      primary.heberge.info.
166                 IN      NS      secondary.heberge.info.
167                 IN      MX 5    mx.heberge.info.
168                 IN      A       80.67.172.60
169 *               IN      A       80.67.172.60
170 </screen>
171 </example>
172 </sect1>
173
174
175 <sect1><title>Postfix, le serveur de Courrier</title>
176 <para>
177 AlternC utilise Postfix comme MTA (Mail Transfer Agent = serveur de courrier) pour recevoir et
178 envoyer du courrier via le protocole smtp. les boites aux lettres sont stockées dans le serveur
179 localement au format maildir dans un dossier sous <filename>/var/alternc/mail/</filename>.
180 Par exemple, la boite aux lettres de <filename>benjamin@example.com</filename> est située dans
181 <filename>/var/alternc/mail/b/benjamin_example.com/Maildir/</filename>
182 </para>
183 <para>
184 Le fichier de configuration principal de Postfix est <filename>/etc/postfix/main.cf</filename>.
185 Il est modifié à l'installation d'AlternC pour aller chercher les emails dans une base MySQL
186 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>.
187 Une troisième table existe : <command>mail_users</command> qui contiendra les login/mot de passe
188 pop/imap des boites aux lettres
189 </para>
190
191 </sect1>
192
193 </chapter>
Note: See TracBrowser for help on using the browser.