<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BasEI</id>
	<title>Lea Linux - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BasEI"/>
	<link rel="alternate" type="text/html" href="https://lea-linux.org/documentations/Sp%C3%A9cial:Contributions/BasEI"/>
	<updated>2026-04-28T16:28:01Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Qmail&amp;diff=11988</id>
		<title>Qmail</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Qmail&amp;diff=11988"/>
		<updated>2006-02-27T13:59:01Z</updated>

		<summary type="html">&lt;p&gt;BasEI : /* Configuration des service mails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Services de messagerie]]&lt;br /&gt;
= Qmail: installation d&#039;un serveur de mail multi-domaine et sécurisé =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Qmail: installation d&#039;un serveur de mail multi-domaine et sécurisé&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:st@lea-linux.org serge]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Un serveur de mail gérant plusieurs domaines, sécurisé et protégé contre les virus.&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Nous allons voir dans cet article comment installer un serveur de mail pouvant gérer plusieurs domaines (des centaines, voir plus), sécurisé contre l&#039;open relay mais permettant aux utilisateurs authentifiés d&#039;envoyer des mails. De plus, les mails entrant seront scannés à la recherche de virus. Car même si sous linux la plupart des virus mail n&#039;ont aucun effet, il se peut que certains des utilisateurs récupèrent leurs mails sous windows.&lt;br /&gt;
&lt;br /&gt;
Ce serveur de mail comprend aussi un gestionnaire de mailing list et une interface web d&#039;admin des domaines mails.&lt;br /&gt;
&lt;br /&gt;
Pour la compréhension de cet article, vous devez avoir des notions assez avancées sur Linux et son utilisation (commandes shell en ligne, compilation, etc...), et des notions sur les réseaux TCP/IP et de l&#039;internet.&lt;br /&gt;
&lt;br /&gt;
Cet article est une &amp;quot;compilation&amp;quot; d&#039;articles trouvés sur l&#039;internet (en partie l&#039;article qmail sur [http://www.toolinux.com/ toolinux]), d&#039;HOWTO, et de mon expérience professionelle de Qmail.&lt;br /&gt;
&lt;br /&gt;
== Récupération des sources et compilation ==&lt;br /&gt;
&lt;br /&gt;
=== Télécharger les sources ===&lt;br /&gt;
&lt;br /&gt;
Récupérez tout d&#039;abord les sources de ces différents programmes (attention, vérifiez les liens et versions, je vous donne les versions à jour, à l&#039;heure où j&#039;écris cet article, c&#039;est-à-dire en avril 2002):&lt;br /&gt;
&lt;br /&gt;
- [http://cr.yp.to/software/qmail-1.03.tar.gz qmail-1.03]&amp;lt;br /&amp;gt;- [http://www.inter7.com/devel/autorespond-2.0.2.tar.gz autorespond-2.0.2]&amp;lt;br /&amp;gt;- [http://cr.yp.to/daemontools/daemontools-0.76.tar.gz daemontools-0.76]&amp;lt;br /&amp;gt;- [http://cr.yp.to/ucspi-tcp.html ucspi-tcp-0.88]&amp;lt;br /&amp;gt;- [http://pobox.com/~djb/ezmlm.html ezmlm-0.53]&amp;lt;br /&amp;gt;- [http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ ezmlm-idx]&amp;lt;br /&amp;gt;- [http://www.flounder.net/~mrsam/maildrop/ maildrop-1.3.8]&amp;lt;br /&amp;gt;- [http://qmail-scanner.sourceforge.net/ qmail-scanner-1.10]&amp;lt;br /&amp;gt;- [http://www.inter7.com/vpopmail/ vpopmail-5.2]&amp;lt;br /&amp;gt;- [http://www.f-prot.com/ F-PROT] (version linux gratuite pour un usage privé, prenez aussi les mises à jours des définitions de virus sur la page download du site).&amp;lt;br /&amp;gt;- [http://inter7.com/qmailadmin/ Qmailadmin]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oui je sais, ca fait beaucoup de chose à récupérer, j&#039;espére que vous avez un bon modem :)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiler Qmail et l&#039;installer ===&lt;br /&gt;
&lt;br /&gt;
Bon on va commencer par installer Qmail lui même. Détarrez / dégzippez les sources de qmail ( &amp;lt;tt&amp;gt;tar zxvf qmail-1.0.3.tar.gz&amp;lt;/tt&amp;gt; ). Nous allons devoir patcher légèrement les sources de Qmail pour notre besoin.&amp;lt;br /&amp;gt; Entrez dans le répertoire des sources de Qmail, et éditez le fichier Makefile, et remplacez :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;- La ligne &#039;&#039;&#039;1486&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;auto_split.o&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;auto_split.o env.a&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;- La ligne &#039;&#039;&#039;1491&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;substdio.a error.a str.a fs.a auto_qmail.o auto_split.o&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;substdio.a error.a str.a fs.a auto_qmail.o auto_split.o env.a&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De même, éditez le fichier qmail.c et :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;-ajoutez en dessous de la ligne &#039;&#039;&#039;8 &#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#include &amp;quot;env.h&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; en dessous de la ligne &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#include &amp;quot;auto_qmail.h&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;-remlacez la ligne &#039;&#039;&#039;10 &#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static char *binqqargs[2] = { &amp;quot;bin/qmail-queue&amp;quot;, 0 } ;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static char *binqqargs[2] = { 0, 0 } ; &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; -Ajoutez juste au-dessous de la ligne que vous venez de modifier les lignes suivantes: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static void setup_qqargs()&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if(!binqqargs[0])&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;binqqargs[0] = env_get(&amp;quot;QMAILQUEUE&amp;quot;);&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if(!binqqargs[0])&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;binqqargs[0] = &amp;quot;bin/qmail-queue&amp;quot;;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; et enfin au-dessous des lignes (vers la ligne &#039;&#039;&#039;23&#039;&#039;&#039;) &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int qmail_open(qq)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;struct qmail *qq;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int pim[2];&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int pie[2];&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/font&amp;gt;vous ajoutez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;setup_qqargs();&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Ce patch est uniquement nécessaire pour pouvoir utiliser qmail-scanner, qui va nous permettre de scanner tout mail entrant à la recherche de virus. En fait, ce patch ajoute une variable d&#039;environnement QMAILQUEUE. Si cette variable est vide, Qmail utilise son propre programme de &amp;quot;queue&amp;quot; (file d&#039;attente des mails entrant et sortant), autrement cette variable contient le nom du programme de queue de remplacement à utiliser. Nous utiliserons alors la &amp;quot;queue&amp;quot; de qmail-scanner qui appellera notre programme antivirus (F-PROT) pour scanner tous les mails.&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Maitenant que Qmail est patché, nous allons pouvoir le compiler. Mais avant cela, nous devons créer des comptes utilisateurs, qui de plus vont servir pour le chemin d&#039;installation de Qmail. Dans cet article, le chemin d&#039;installation est celui par défaut, c&#039;est à dire &amp;lt;tt&amp;gt;/var/qmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Nous créons ces comptes utilisateurs par les commandes (en &#039;&#039;&#039;root&#039;&#039;&#039; bien sur):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd nofiles&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail/alias alias&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmaild&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmaill&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmailp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd qmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmailq&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmailr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmails&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Si vous souhaitez installer Qmail dans un autre répertoire que &amp;lt;tt&amp;gt;/var/qmail&amp;lt;/tt&amp;gt;, modifiez les commandes ci-dessus avec le chemin souhaité.&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il nous reste plus qu&#039;à compiler Qmail:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make setup check&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Configurons maintenant Qmail, via la commande : &amp;lt;tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;./config-fast `hostname --fqdn`&#039;&#039;&#039;&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez voir apparaître quelque chose du style :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Your fully qualified host name is mailhub.lea-linux.org&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting tarsier.lea-linux.org into control/me...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting lea-linux.org into control/defaultdomain...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting lea-linux.org into control/plusdomain...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;.....&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Si vous avez une erreur ou autre insulte de la sorte, essayez en remplaçant &amp;quot;&#039;&#039;&#039;`hostname --fqdn`&#039;&#039;&#039;&amp;quot; par votre nom d&#039;hôte complet (par exemple &#039;&#039;&#039;./config-fast mailhub.lea-linux.org&#039;&#039;&#039;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmail utilise deux styles de mailbox (boîte aux lettres) différents : le mbox traditionel comme sendmail (un fichier nommé comme le login de l&#039;utilisateur contenant tout les mails de l&#039;utilisateur dans /var/mail) ou un répertoire Maildir à structure spéciale contenant les mails dans des fichiers séparés. Pour notre cas nous utiliserons Maildir, car vpopmail se base dessus.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour cela, il suffit de copier un fichier:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp /var/qmail/boot/home /var/qmail/rc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmail n&#039;est pas tout à fait complètement installé, mais pour la suite nous allons devoir installer les daemontools et ucspi de façon à avoir des performances optimales pour notre serveur de mails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installer les utilitaires supplémentaires ===&lt;br /&gt;
&lt;br /&gt;
De façon à avoir de meilleures performances pour notre serveur de mails et pour une plus grande souplesse, pour &amp;quot;logger&amp;quot; les évements mails, nous devons installer les outils développés par Dan Bernstein : &#039;&#039;&#039;daemontools&#039;&#039;&#039; et &#039;&#039;&#039;ucspi-tcp&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour les installer, rien de plus simple, vous dégzippez / détarrez les sources comme d&#039;habitude. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour les daemontools, un répertoire admin a été créé lors du &amp;quot;détarrage&amp;quot;: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd admin/daemontools/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./package/install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il ne reste plus qu&#039;à compiler / installer uscpi:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd ucspi-tcp-0.88&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make setup check&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiler Vpopmail et l&#039;installer ===&lt;br /&gt;
&lt;br /&gt;
Comme d&#039;habitude, on dégzippe / détarre les source de Vpopmail. Avant de lancer la compilation, il faut, comme pour Qmail, créer les comptes utilisateurs de vpopmail, qui vont aussi déterminer le chemin d&#039;installation de vpopmail.&amp;lt;br /&amp;gt; Pour ma part, pour des questions de &amp;quot;cohérence&amp;quot; avec Qmail, je l&#039;installe dans /var/vpopmail. De plus je trouve logique de l&#039;installer dans /var, car c&#039;est le repertoire où l&#039;on trouve normalement tout les fichiers qui varient en permanence (mail, logs, pid, etc...). Donc, nous faisons (en &#039;&#039;&#039;root&#039;&#039;&#039; bien sur) :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd -g 89 vchkpw&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g vchkpw -u 89 -d /var/vpopmail vpopmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; changez le chemin &amp;lt;tt&amp;gt;/var/vpopmail&amp;lt;/tt&amp;gt; par le chemin d&#039;installation que vous désirez bien sur&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez créer le répertoire de Vpopmail avant de continuer, pour notre exemple:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mkdir /var/vpopmail &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vpopmail possède un script de configuration avant la compilation (le bien connu &#039;&#039;&#039;./configure&#039;&#039;&#039;), auquel nous allons passer les options nécessaires à notre cas.&amp;lt;br /&amp;gt; Voici les options que nous allons utiliser, avec une brève explication pour chaque option:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--prefix=/var/vpopmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Répertoire de base de vpopmail&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-clear-passwd=y &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Ce qui permet de stocker une copie des mots de passe POP des utilisateurs en clair. C&#039;est peut-être moins sécurisé, mais c&#039;est toujours pratique pour retrouver le mot de passe de l&#039;un de vos utilisateurs qui l&#039;aurait perdu. Si vous êtes parano, n&#039;activez pas cette option.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-valias=y &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Permet d&#039;utiliser les alias mails (plusieurs noms possibles pour un même compte POP)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-default-domain=&#039;&#039;&#039;&#039;&#039;votre domaine&#039;&#039;&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Indique le domaine primaire de votre machine. A mettre absolument, autrement vous allez devoir créer le compte de chaque utilisateur pour le domaine principal du serveur de mail.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-roaming-users=y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Permet une authentification POP before SMTP pour activer le relaying.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explication sur cette option:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous avez sûrement entendu parler du &amp;quot;relaying&amp;quot; pour les serveurs mails, l&#039;open relay, etc... Pour résumer ce probléme, normalement un serveur de mail (comme la plupart des serveurs de mails des FAI) interdisent aux utilisateurs d&#039;envoyer des mails si l&#039;IP de l&#039;utilisateur n&#039;est pas une IP du même réseau que le serveur de mail.&amp;lt;br /&amp;gt; Par exemple, les serveurs de mails wanadoo refusent que vous envoyiez des mails si vous n&#039;avez pas une IP wanadoo (c.a.d si vous ne vous etes pas connecté à l&#039;internet via leur propre service), cela pour des raisons de sécurité, de lutte anti-spam, de charge serveur et aussi économique.&amp;lt;br /&amp;gt; La plupart des sociétés ayant leur propre serveur de mail font de même. Si vous ne faites pas ça, votre serveur est considéré comme un &amp;quot;open-relay&amp;quot;, ce qui n&#039;est pas bien du tout (je vais pas expliquer pourquoi ici, ca prendrait trop de temps).&amp;lt;br /&amp;gt; Mais se pose alors un probléme: vous êtes une grosse société, avec 5 000 collaborateurs. Vos collaborateurs voyagent beaucoup et ont besoin d&#039;utiliser le serveur de mail de la société. Comme ils sont en déplacement à l&#039;extérieur de la société, ils n&#039;ont pas d&#039;IP de la société (ils sont connectés via un FAI quelquonque ), et le serveur de mail n&#039;autorise pas le relaying (c&#039;est à dire envoyer un mail d&#039;un utilisateur dont l&#039;IP n&#039;est pas une IP de la société). Comment faire alors ?&amp;lt;br /&amp;gt; On a alors inventé le POP before SMTP pour permettre le relaying. Comment ca marche? Très simple. L&#039;utilisateur doit tout d&#039;abord &amp;quot;popper&amp;quot; sa boîte aux lettres (c&#039;est à dire relever ses mails, c&#039;est la chose que vous faites chaque fois que vous regardez avec votre client mail si vous avez reçus un nouvel e-mail). Lorsque l&#039;utilisateur &amp;quot;poppe&amp;quot; sa boîte au lettre, il s&#039;identifie sur le serveur en fait (le POP demande obligatoirement un nom d&#039;utilisateur et un mot de passe). Si l&#039;identification est OK, le serveur distribue les mails .&amp;lt;br /&amp;gt; Comme l&#039;utilisateur est identifié, on va alors se dire &amp;quot;ok l&#039;utilisateur est connu, il est de chez nous&amp;quot;, on va alors enregistrer son adresse IP actuelle et permettre a cette adresse IP d&#039;envoyer des mails pendant un certain temps que l&#039;on peut définir (voir plus bas dans l&#039;article). Donc en résumé (si vous n&#039;aviez rien compris), si vous voulez que votre serveur de mail soit utilisable pour envoyer des mails à partir de n&#039;importe où dans le monde, à partir du moment où l&#039;on a une boîte aux lettres sur votre serveur, activez cette option.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Donc, je vous redonne les options que nous utilisons ici :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --enable-clear-passwd=y --enable-valias=y --enable-default-domain=lea-linux.org --enable-roaming-users=y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Puis on le compile / installe:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install-strip&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Comme les &amp;quot;headers&amp;quot; de vpopmail sont nécessaires pour la compilation d&#039;autres programmes (qmailadmin par exemple), nous devons les copier dans un répertoire d&#039;include. Pour cela:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp /var/vpopmail/include/* /usr/include&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour que vpopail trouve bien les fichiers de tcpserver, il faut refaire le repertoire &amp;lt;tt&amp;gt;etc/&amp;lt;/tt&amp;gt; de vpopmail:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv /var/vpopmail/etc/* /etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rmdir /var/vpopmail/etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -s /etc /var/vpopmail/etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Qmail-scanner et F-PROT ===&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;installer Qmail-scanner, vous devez vous assurez d&#039;avoir Perl 5.005_03 (ou supérieur) sur votre machine (c&#039;est le cas avec toutes les distrib récentes) et les modules Perl: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Time::HiRes&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;DB_File&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Sys::Syslog&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour vous en assurer, installez-les via CPAN. Pour se faire, vous devez être connecté à internet, et lancez alors la commande:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;perl -MCPAN -e shell;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Si c&#039;est la première fois que vous lancez CPAN, vous allez devoir le configurer. Je ne vous explique pas ici comment configurer CPAN.&amp;lt;br /&amp;gt; Toutefois, la plupart du temps il suffit de valider les options proposées par défaut&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Une fois CPAN lancé, demandez l&#039;installation des modules via:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install Time::HiRes&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install DB_File&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install Sys::Syslog&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;exit&amp;lt;/tt&amp;gt; (pour sortir du CPAN)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Nous allons aussi dès à présent installer F-PROT. Dgzippez / Détarrez f-prot dans le répertoire &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; et installez le via:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd /usr/local&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf /ou/se/trouve/votre/fp-linux_sb.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs fp-linux_312/ f-prot&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs /usr/local/f-prot/f-prot.sh bin/f-prot&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs /usr/local/f-prot/f-prot.8 man/man8/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod +x /usr/local/f-prot/f-prot*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Mettez aussi à jour les signatures antivirales de F-PROT (&#039;&#039;&#039; Faites-le le plus souvent possible si vous voulez un bonne protection antivirale de vos mails!&#039;&#039;&#039;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Téléchargez les deux zip de mise à jour de signature de f-prot et dézipé-les dans &amp;lt;tt&amp;gt;/usr/local/f-prot&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Avant d&#039;installer Qmail-scanner, nous devons installer Maildrop, indispensable pour Qmail-scanner.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf maildrop-1.3.8.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd maildrop-1.3.8&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Passons maitenant à Qmail-scanner.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Dégzippé / Détarré Qmail-scanner, puis son répertoire de source lancez &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; avec les options suivantes:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--admin user&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt; (voir en-dessous pour la valeur de user)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--domain votre_domaine&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour comprendre les valeurs à mettre dans ces options, prenons le cas où nous voulons que tous les mails d&#039;alerte de détection virale soient envoyés à admin@lea-linux.org, vous devez alors mettre admin pour le user et lea-linux.org pour le domaine.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--notify all&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour prévenir l&#039;administrateur, l&#039;envoyeur et la personne qui auraient dû recevoir le mail, qu&#039;un mail contaminé a été intercepté&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--redundant yes&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;Permettre le scan des fichiers zips, etc...&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour notre exemple, nous lançons donc:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --admin admin --domain lea-linux.org --notify all --redundant yes --install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Vous risquez d&#039;avoir une erreur du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;YOU HAVEN&#039;T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;******* FATAL ERROR *******&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Cette erreur est &amp;quot;normale&amp;quot; si votre distribution comporte une version de Perl qui interdit que des script Perl soient lancés en SET-ID pour des raisons de sécurité (cas de la slackware par exemple).&amp;lt;br /&amp;gt; En effet, lancer les scripts en SET-ID signifie que le script est lancé avec les droits d&#039;un utilisateur spécifique. Certaines distributions interdisent cela (pour empêcher de lancer des script Perl qui prendraient les droits root par exemple et pourraient faire des choses pas très gentilles).&amp;lt;br /&amp;gt; Dans ce cas (et &#039;&#039;&#039;que&#039;&#039;&#039; dans ce cas-là, c&#039;est-à-dire que vous avez l&#039;erreur énoncée ci-dessus) vous devez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd contrib&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez voir apparaître alors:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install -o qmailq -g qmail -m4755 qmail-scanner-queue /var/qmail/bin/qmail-scanner-queue&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Revenez dans le répertoire des sources de Qmail-scanner (&amp;lt;tt&amp;gt;cd ..&amp;lt;/tt&amp;gt;) et vous éditez le fichier &amp;lt;tt&amp;gt;qmail-scanner-queue.pl&amp;lt;/tt&amp;gt; et vous remplacez: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/suidperl -T&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;par:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Copiez enfin ce fichier dans &amp;lt;tt&amp;gt;/var/qmail/bin&amp;lt;/tt&amp;gt; en placant les bons droits :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp qmail-scanner-queue.pl /var/qmail/bin/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chown qmailq.qmail /var/qmail/bin/qmail-scanner-queue*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Dans tout les cas, il faut initialiser qmail-scanner maitenant.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si vous n&#039;avez pas eu l&#039;erreur ci-dessus, tapez ces commandes:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue.pl -g&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue.pl -z&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si vous avez eu l&#039;erreur lors de l&#039;installation, les commandes alors sont celles-ci:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue -g&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue -z&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation du gestionnaire de mailing list ==&lt;br /&gt;
&lt;br /&gt;
Ezmlm est le gestionnaire de mailing de Qmail. Pour l&#039;installer, détarrez / dgzippez ezmlm et ezmlm-idx.&amp;lt;br /&amp;gt; Puis copiez le contenu de ezmlm-idx dans le répertoire de ezmlm:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf ezmlm-0.53.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf ezmlm-idx-0.40.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv ezmlm-idx-0.40/* ezmlm-0.53/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Patchez alors ezmlm:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd ezmlm-0.53&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;patch &amp;lt; idx.patch &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;et compilez, installez le tout: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make clean &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make man &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des service mails ==&lt;br /&gt;
&lt;br /&gt;
Maitenant que le plus &amp;quot;gros&amp;quot; est installé, nous allons créer le script de démarrage de ces services.&amp;lt;br /&amp;gt; Créez un fichier &amp;lt;tt&amp;gt;rc.startmail&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; comprenant:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export PATH=&amp;quot;/usr/local/bin:/var/qmail/bin:/var/vpopmail/bin:/usr/local/bin/ezmlm:$PATH&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;echo &amp;quot;Starting Qmail and Vpopmail daemons ...&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export QMAILQUEUE=&amp;quot;/var/qmail/bin/qmail-scanner-queue.pl&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/qmail/rc &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/local/bin/tcpserver -v -H -R -x /etc/tcp.smtp.cdb -c20 -u1033 -g103 0 smtp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;\ /usr/local/bin/recordio /var/qmail/bin/qmail-smtpd 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/local/bin/tcpserver -v -H -R 0 pop3 /usr/local/bin/recordio /var/qmail/bin/qmail-popup &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;\ mailhub.lea-linux.org /var/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; &#039;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Ne coupez pas les lignes de ce script. Regardez bien ce qui est marqué au dessus, le caractére &amp;quot;\&amp;quot; dans le texte au dessus signale qu&#039;il s&#039;agit de la même ligne que celle qui a commencé au dessus, le retour de ligne est du a la mise en page HTML. C&#039;est à dire que si vous lisez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; tuc machin&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; \ bidule &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; vous devez lire une seule ligne:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; truc machin bidule&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il ne faut pas, bien sur copier, le &amp;quot;\&amp;quot;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Si vous avez eu l&#039;erreur dans Qmail-scanner à propos des script SET-ID, modifiez la ligne comprenant &amp;lt;tt&amp;gt;export QMAILQUEUE&amp;lt;/tt&amp;gt; par:&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export QMAILQUEUE=&amp;quot;/var/qmail/bin/qmail-scanner-queue&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/font&amp;gt;Ajoutez alors dans votre &amp;lt;tt&amp;gt;/etc/rc.d/rc.local&amp;lt;/tt&amp;gt; une ligne du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/rc.d/rc.startmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Ou si votre distribution est basée sur sysVinit, créez les scripts correspondant dans les niveaux d&#039;init que vous souhaitez.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Reste à configurer quelques fichiers. Tout d&#039;abord, il faut régler le temps d&#039;autentification des utilisateurs par le pop (POP before SMTP). Pour cela, nous editons la crontab et donnons l&#039;intervalle de temps, puis il faut nettoyer les identifications:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;crontab -e &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;et placez une ligne du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;40 * * * * /var/vpopmail/bin/clearopensmtp 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour nettoyer toutes les 40 minutes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il faut définir aussi quel est votre adresse réseau, pour autoriser ce réseau à utiliser le serveur de mail. Prenons l&#039;exemple où les utilisateurs de votre serveur de mails se trouvent sur les réseaux 192.168.0.0 (local) et 213.30.139.0 (public), il faut alors éditer le fichier /etc/tcp.smtp et y mettre:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;127.:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;192.168.0.:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;213.30.139:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; l&#039;adresse 127 doit &#039;&#039;&#039;absolument&#039;&#039;&#039; y être, autrement le serveur ne peut pas fonctionner!&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Construisez alors la base de données de ces adresses:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp &amp;lt; /etc/tcp.smtp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation d&#039;autoresponder ==&lt;br /&gt;
&lt;br /&gt;
Ce programme permet de répondre automatiquement aux mails reçus (pour signaler une absence par exemple).&amp;lt;br /&amp;gt; Pour l&#039;installer, c&#039;est très simple:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf autorespond-2.0.2.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd autorespond-2.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation de Qmailadmin ==&lt;br /&gt;
&lt;br /&gt;
Il nous reste plus qu&#039;à installer l&#039;interface cgi Web de la gestion des comptes mails.&amp;lt;br /&amp;gt;Pour cela:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf qmailadmin-1.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd qmailadmin-1.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --enable-htmldir=/var/www&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Remplacez &amp;lt;tt&amp;gt;--enable-htmldir=/var/www&amp;lt;/tt&amp;gt; par le chemin de votre racine web.&amp;lt;br /&amp;gt; Je suppose que vous savez configurer apache pour que le répertoire de cgi soit valide et fonctionnel.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utilisation, question courantes, etc ... ==&lt;br /&gt;
&lt;br /&gt;
Je vous donne ici brièvement les commande pour créer un nouveau domaine mails, les comptes, etc...&amp;lt;br /&amp;gt; Je suppose bien sûr que vous savez gérez vos DNS pour que le champ MX du domaine pointe vers le serveur de mails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; - Ajouter un nouveau domaine que votre serveur de mails va héberger :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/vpopmail/vadddomain domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous allez devoir rentrer le mot de passe du &amp;quot;postmaster&amp;quot;, c&#039;est-à-dire de l&#039;administrateur mails de ce domaine.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour créer les comptes pop, utiliser qmailadmin. Tapez l&#039;url dans votre navigateur pour pointer sur le cgi de qmailadmin, dans user laissez &amp;quot;postmaster&amp;quot;, dans domaine, mettez le domaine que vous voulez gérer et pour le mot de passe, mettez le mot de passe du postmaster.&amp;lt;br /&amp;gt; Dans l&#039;interface se trouvent tout les liens pour créer les mails etc...&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;- Effacer un domaine:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/vpopmail/vdeldomain domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Quand vous configurez votre client mail pour lire les mails reçus, faites attention dans la partie &amp;quot;nom utilisateurs&amp;quot; de mettre de la forme:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;utilisateur@domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; car les logiciels de mail mettent par défaut &amp;quot;utilisateur&amp;quot; tout court.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si lors du démarrage des services vous avez des erreurs du style:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;unable to bind: adresses in use&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ou quelque chose de similaire, c&#039;est que vous avez déjà un serveur de mail et/ou pop3 de lancé. Désinstallez tout autre serveur de mail/pop3 (sendmail, gnu-pop3d,...), vérifiez aussi dans .etc/inetd.conf ou dans /etc/xinet.d/ que les services smtp, pop3 ne sont pas utilisés par d&#039;autres programmes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Lisez les documentations d&#039;utilisation de ezmlm, ezmlm-idx pour la gestion des mailing lists.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmailadmin vous permet de &amp;quot;fabriquer&amp;quot; vos propres pages d&#039;administration mail, etc... avec de nombreux exemples installés dans /usr/local/share/qmailadmin&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour que vous puissiez gérer les mails d&#039;un domaine, vous devez configurer un MX dans le fichier de zone de ce domaine qui pointe vers votre serveur. Lisez les documentions des serveurs DNS.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; Serge Tchesmeli&lt;br /&gt;
{{LDL}}&lt;/div&gt;</summary>
		<author><name>BasEI</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Qmail&amp;diff=11987</id>
		<title>Qmail</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Qmail&amp;diff=11987"/>
		<updated>2006-02-27T13:52:47Z</updated>

		<summary type="html">&lt;p&gt;BasEI : /* Qmail-scanner et F-PROT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Services de messagerie]]&lt;br /&gt;
= Qmail: installation d&#039;un serveur de mail multi-domaine et sécurisé =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Qmail: installation d&#039;un serveur de mail multi-domaine et sécurisé&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:st@lea-linux.org serge]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Un serveur de mail gérant plusieurs domaines, sécurisé et protégé contre les virus.&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Nous allons voir dans cet article comment installer un serveur de mail pouvant gérer plusieurs domaines (des centaines, voir plus), sécurisé contre l&#039;open relay mais permettant aux utilisateurs authentifiés d&#039;envoyer des mails. De plus, les mails entrant seront scannés à la recherche de virus. Car même si sous linux la plupart des virus mail n&#039;ont aucun effet, il se peut que certains des utilisateurs récupèrent leurs mails sous windows.&lt;br /&gt;
&lt;br /&gt;
Ce serveur de mail comprend aussi un gestionnaire de mailing list et une interface web d&#039;admin des domaines mails.&lt;br /&gt;
&lt;br /&gt;
Pour la compréhension de cet article, vous devez avoir des notions assez avancées sur Linux et son utilisation (commandes shell en ligne, compilation, etc...), et des notions sur les réseaux TCP/IP et de l&#039;internet.&lt;br /&gt;
&lt;br /&gt;
Cet article est une &amp;quot;compilation&amp;quot; d&#039;articles trouvés sur l&#039;internet (en partie l&#039;article qmail sur [http://www.toolinux.com/ toolinux]), d&#039;HOWTO, et de mon expérience professionelle de Qmail.&lt;br /&gt;
&lt;br /&gt;
== Récupération des sources et compilation ==&lt;br /&gt;
&lt;br /&gt;
=== Télécharger les sources ===&lt;br /&gt;
&lt;br /&gt;
Récupérez tout d&#039;abord les sources de ces différents programmes (attention, vérifiez les liens et versions, je vous donne les versions à jour, à l&#039;heure où j&#039;écris cet article, c&#039;est-à-dire en avril 2002):&lt;br /&gt;
&lt;br /&gt;
- [http://cr.yp.to/software/qmail-1.03.tar.gz qmail-1.03]&amp;lt;br /&amp;gt;- [http://www.inter7.com/devel/autorespond-2.0.2.tar.gz autorespond-2.0.2]&amp;lt;br /&amp;gt;- [http://cr.yp.to/daemontools/daemontools-0.76.tar.gz daemontools-0.76]&amp;lt;br /&amp;gt;- [http://cr.yp.to/ucspi-tcp.html ucspi-tcp-0.88]&amp;lt;br /&amp;gt;- [http://pobox.com/~djb/ezmlm.html ezmlm-0.53]&amp;lt;br /&amp;gt;- [http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ ezmlm-idx]&amp;lt;br /&amp;gt;- [http://www.flounder.net/~mrsam/maildrop/ maildrop-1.3.8]&amp;lt;br /&amp;gt;- [http://qmail-scanner.sourceforge.net/ qmail-scanner-1.10]&amp;lt;br /&amp;gt;- [http://www.inter7.com/vpopmail/ vpopmail-5.2]&amp;lt;br /&amp;gt;- [http://www.f-prot.com/ F-PROT] (version linux gratuite pour un usage privé, prenez aussi les mises à jours des définitions de virus sur la page download du site).&amp;lt;br /&amp;gt;- [http://inter7.com/qmailadmin/ Qmailadmin]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oui je sais, ca fait beaucoup de chose à récupérer, j&#039;espére que vous avez un bon modem :)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiler Qmail et l&#039;installer ===&lt;br /&gt;
&lt;br /&gt;
Bon on va commencer par installer Qmail lui même. Détarrez / dégzippez les sources de qmail ( &amp;lt;tt&amp;gt;tar zxvf qmail-1.0.3.tar.gz&amp;lt;/tt&amp;gt; ). Nous allons devoir patcher légèrement les sources de Qmail pour notre besoin.&amp;lt;br /&amp;gt; Entrez dans le répertoire des sources de Qmail, et éditez le fichier Makefile, et remplacez :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;- La ligne &#039;&#039;&#039;1486&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;auto_split.o&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;auto_split.o env.a&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;- La ligne &#039;&#039;&#039;1491&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;substdio.a error.a str.a fs.a auto_qmail.o auto_split.o&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;substdio.a error.a str.a fs.a auto_qmail.o auto_split.o env.a&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De même, éditez le fichier qmail.c et :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;-ajoutez en dessous de la ligne &#039;&#039;&#039;8 &#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#include &amp;quot;env.h&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; en dessous de la ligne &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#include &amp;quot;auto_qmail.h&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;-remlacez la ligne &#039;&#039;&#039;10 &#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static char *binqqargs[2] = { &amp;quot;bin/qmail-queue&amp;quot;, 0 } ;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static char *binqqargs[2] = { 0, 0 } ; &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; -Ajoutez juste au-dessous de la ligne que vous venez de modifier les lignes suivantes: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static void setup_qqargs()&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if(!binqqargs[0])&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;binqqargs[0] = env_get(&amp;quot;QMAILQUEUE&amp;quot;);&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if(!binqqargs[0])&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;binqqargs[0] = &amp;quot;bin/qmail-queue&amp;quot;;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; et enfin au-dessous des lignes (vers la ligne &#039;&#039;&#039;23&#039;&#039;&#039;) &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int qmail_open(qq)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;struct qmail *qq;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int pim[2];&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int pie[2];&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/font&amp;gt;vous ajoutez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;setup_qqargs();&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Ce patch est uniquement nécessaire pour pouvoir utiliser qmail-scanner, qui va nous permettre de scanner tout mail entrant à la recherche de virus. En fait, ce patch ajoute une variable d&#039;environnement QMAILQUEUE. Si cette variable est vide, Qmail utilise son propre programme de &amp;quot;queue&amp;quot; (file d&#039;attente des mails entrant et sortant), autrement cette variable contient le nom du programme de queue de remplacement à utiliser. Nous utiliserons alors la &amp;quot;queue&amp;quot; de qmail-scanner qui appellera notre programme antivirus (F-PROT) pour scanner tous les mails.&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Maitenant que Qmail est patché, nous allons pouvoir le compiler. Mais avant cela, nous devons créer des comptes utilisateurs, qui de plus vont servir pour le chemin d&#039;installation de Qmail. Dans cet article, le chemin d&#039;installation est celui par défaut, c&#039;est à dire &amp;lt;tt&amp;gt;/var/qmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Nous créons ces comptes utilisateurs par les commandes (en &#039;&#039;&#039;root&#039;&#039;&#039; bien sur):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd nofiles&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail/alias alias&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmaild&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmaill&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmailp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd qmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmailq&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmailr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmails&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Si vous souhaitez installer Qmail dans un autre répertoire que &amp;lt;tt&amp;gt;/var/qmail&amp;lt;/tt&amp;gt;, modifiez les commandes ci-dessus avec le chemin souhaité.&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il nous reste plus qu&#039;à compiler Qmail:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make setup check&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Configurons maintenant Qmail, via la commande : &amp;lt;tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;./config-fast `hostname --fqdn`&#039;&#039;&#039;&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez voir apparaître quelque chose du style :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Your fully qualified host name is mailhub.lea-linux.org&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting tarsier.lea-linux.org into control/me...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting lea-linux.org into control/defaultdomain...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting lea-linux.org into control/plusdomain...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;.....&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Si vous avez une erreur ou autre insulte de la sorte, essayez en remplaçant &amp;quot;&#039;&#039;&#039;`hostname --fqdn`&#039;&#039;&#039;&amp;quot; par votre nom d&#039;hôte complet (par exemple &#039;&#039;&#039;./config-fast mailhub.lea-linux.org&#039;&#039;&#039;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmail utilise deux styles de mailbox (boîte aux lettres) différents : le mbox traditionel comme sendmail (un fichier nommé comme le login de l&#039;utilisateur contenant tout les mails de l&#039;utilisateur dans /var/mail) ou un répertoire Maildir à structure spéciale contenant les mails dans des fichiers séparés. Pour notre cas nous utiliserons Maildir, car vpopmail se base dessus.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour cela, il suffit de copier un fichier:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp /var/qmail/boot/home /var/qmail/rc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmail n&#039;est pas tout à fait complètement installé, mais pour la suite nous allons devoir installer les daemontools et ucspi de façon à avoir des performances optimales pour notre serveur de mails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installer les utilitaires supplémentaires ===&lt;br /&gt;
&lt;br /&gt;
De façon à avoir de meilleures performances pour notre serveur de mails et pour une plus grande souplesse, pour &amp;quot;logger&amp;quot; les évements mails, nous devons installer les outils développés par Dan Bernstein : &#039;&#039;&#039;daemontools&#039;&#039;&#039; et &#039;&#039;&#039;ucspi-tcp&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour les installer, rien de plus simple, vous dégzippez / détarrez les sources comme d&#039;habitude. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour les daemontools, un répertoire admin a été créé lors du &amp;quot;détarrage&amp;quot;: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd admin/daemontools/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./package/install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il ne reste plus qu&#039;à compiler / installer uscpi:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd ucspi-tcp-0.88&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make setup check&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiler Vpopmail et l&#039;installer ===&lt;br /&gt;
&lt;br /&gt;
Comme d&#039;habitude, on dégzippe / détarre les source de Vpopmail. Avant de lancer la compilation, il faut, comme pour Qmail, créer les comptes utilisateurs de vpopmail, qui vont aussi déterminer le chemin d&#039;installation de vpopmail.&amp;lt;br /&amp;gt; Pour ma part, pour des questions de &amp;quot;cohérence&amp;quot; avec Qmail, je l&#039;installe dans /var/vpopmail. De plus je trouve logique de l&#039;installer dans /var, car c&#039;est le repertoire où l&#039;on trouve normalement tout les fichiers qui varient en permanence (mail, logs, pid, etc...). Donc, nous faisons (en &#039;&#039;&#039;root&#039;&#039;&#039; bien sur) :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd -g 89 vchkpw&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g vchkpw -u 89 -d /var/vpopmail vpopmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; changez le chemin &amp;lt;tt&amp;gt;/var/vpopmail&amp;lt;/tt&amp;gt; par le chemin d&#039;installation que vous désirez bien sur&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez créer le répertoire de Vpopmail avant de continuer, pour notre exemple:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mkdir /var/vpopmail &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vpopmail possède un script de configuration avant la compilation (le bien connu &#039;&#039;&#039;./configure&#039;&#039;&#039;), auquel nous allons passer les options nécessaires à notre cas.&amp;lt;br /&amp;gt; Voici les options que nous allons utiliser, avec une brève explication pour chaque option:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--prefix=/var/vpopmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Répertoire de base de vpopmail&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-clear-passwd=y &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Ce qui permet de stocker une copie des mots de passe POP des utilisateurs en clair. C&#039;est peut-être moins sécurisé, mais c&#039;est toujours pratique pour retrouver le mot de passe de l&#039;un de vos utilisateurs qui l&#039;aurait perdu. Si vous êtes parano, n&#039;activez pas cette option.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-valias=y &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Permet d&#039;utiliser les alias mails (plusieurs noms possibles pour un même compte POP)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-default-domain=&#039;&#039;&#039;&#039;&#039;votre domaine&#039;&#039;&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Indique le domaine primaire de votre machine. A mettre absolument, autrement vous allez devoir créer le compte de chaque utilisateur pour le domaine principal du serveur de mail.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-roaming-users=y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Permet une authentification POP before SMTP pour activer le relaying.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explication sur cette option:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous avez sûrement entendu parler du &amp;quot;relaying&amp;quot; pour les serveurs mails, l&#039;open relay, etc... Pour résumer ce probléme, normalement un serveur de mail (comme la plupart des serveurs de mails des FAI) interdisent aux utilisateurs d&#039;envoyer des mails si l&#039;IP de l&#039;utilisateur n&#039;est pas une IP du même réseau que le serveur de mail.&amp;lt;br /&amp;gt; Par exemple, les serveurs de mails wanadoo refusent que vous envoyiez des mails si vous n&#039;avez pas une IP wanadoo (c.a.d si vous ne vous etes pas connecté à l&#039;internet via leur propre service), cela pour des raisons de sécurité, de lutte anti-spam, de charge serveur et aussi économique.&amp;lt;br /&amp;gt; La plupart des sociétés ayant leur propre serveur de mail font de même. Si vous ne faites pas ça, votre serveur est considéré comme un &amp;quot;open-relay&amp;quot;, ce qui n&#039;est pas bien du tout (je vais pas expliquer pourquoi ici, ca prendrait trop de temps).&amp;lt;br /&amp;gt; Mais se pose alors un probléme: vous êtes une grosse société, avec 5 000 collaborateurs. Vos collaborateurs voyagent beaucoup et ont besoin d&#039;utiliser le serveur de mail de la société. Comme ils sont en déplacement à l&#039;extérieur de la société, ils n&#039;ont pas d&#039;IP de la société (ils sont connectés via un FAI quelquonque ), et le serveur de mail n&#039;autorise pas le relaying (c&#039;est à dire envoyer un mail d&#039;un utilisateur dont l&#039;IP n&#039;est pas une IP de la société). Comment faire alors ?&amp;lt;br /&amp;gt; On a alors inventé le POP before SMTP pour permettre le relaying. Comment ca marche? Très simple. L&#039;utilisateur doit tout d&#039;abord &amp;quot;popper&amp;quot; sa boîte aux lettres (c&#039;est à dire relever ses mails, c&#039;est la chose que vous faites chaque fois que vous regardez avec votre client mail si vous avez reçus un nouvel e-mail). Lorsque l&#039;utilisateur &amp;quot;poppe&amp;quot; sa boîte au lettre, il s&#039;identifie sur le serveur en fait (le POP demande obligatoirement un nom d&#039;utilisateur et un mot de passe). Si l&#039;identification est OK, le serveur distribue les mails .&amp;lt;br /&amp;gt; Comme l&#039;utilisateur est identifié, on va alors se dire &amp;quot;ok l&#039;utilisateur est connu, il est de chez nous&amp;quot;, on va alors enregistrer son adresse IP actuelle et permettre a cette adresse IP d&#039;envoyer des mails pendant un certain temps que l&#039;on peut définir (voir plus bas dans l&#039;article). Donc en résumé (si vous n&#039;aviez rien compris), si vous voulez que votre serveur de mail soit utilisable pour envoyer des mails à partir de n&#039;importe où dans le monde, à partir du moment où l&#039;on a une boîte aux lettres sur votre serveur, activez cette option.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Donc, je vous redonne les options que nous utilisons ici :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --enable-clear-passwd=y --enable-valias=y --enable-default-domain=lea-linux.org --enable-roaming-users=y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Puis on le compile / installe:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install-strip&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Comme les &amp;quot;headers&amp;quot; de vpopmail sont nécessaires pour la compilation d&#039;autres programmes (qmailadmin par exemple), nous devons les copier dans un répertoire d&#039;include. Pour cela:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp /var/vpopmail/include/* /usr/include&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour que vpopail trouve bien les fichiers de tcpserver, il faut refaire le repertoire &amp;lt;tt&amp;gt;etc/&amp;lt;/tt&amp;gt; de vpopmail:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv /var/vpopmail/etc/* /etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rmdir /var/vpopmail/etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -s /etc /var/vpopmail/etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Qmail-scanner et F-PROT ===&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;installer Qmail-scanner, vous devez vous assurez d&#039;avoir Perl 5.005_03 (ou supérieur) sur votre machine (c&#039;est le cas avec toutes les distrib récentes) et les modules Perl: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Time::HiRes&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;DB_File&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Sys::Syslog&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour vous en assurer, installez-les via CPAN. Pour se faire, vous devez être connecté à internet, et lancez alors la commande:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;perl -MCPAN -e shell;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Si c&#039;est la première fois que vous lancez CPAN, vous allez devoir le configurer. Je ne vous explique pas ici comment configurer CPAN.&amp;lt;br /&amp;gt; Toutefois, la plupart du temps il suffit de valider les options proposées par défaut&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Une fois CPAN lancé, demandez l&#039;installation des modules via:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install Time::HiRes&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install DB_File&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install Sys::Syslog&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;exit&amp;lt;/tt&amp;gt; (pour sortir du CPAN)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Nous allons aussi dès à présent installer F-PROT. Dgzippez / Détarrez f-prot dans le répertoire &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; et installez le via:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd /usr/local&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf /ou/se/trouve/votre/fp-linux_sb.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs fp-linux_312/ f-prot&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs /usr/local/f-prot/f-prot.sh bin/f-prot&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs /usr/local/f-prot/f-prot.8 man/man8/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod +x /usr/local/f-prot/f-prot*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Mettez aussi à jour les signatures antivirales de F-PROT (&#039;&#039;&#039; Faites-le le plus souvent possible si vous voulez un bonne protection antivirale de vos mails!&#039;&#039;&#039;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Téléchargez les deux zip de mise à jour de signature de f-prot et dézipé-les dans &amp;lt;tt&amp;gt;/usr/local/f-prot&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Avant d&#039;installer Qmail-scanner, nous devons installer Maildrop, indispensable pour Qmail-scanner.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf maildrop-1.3.8.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd maildrop-1.3.8&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Passons maitenant à Qmail-scanner.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Dégzippé / Détarré Qmail-scanner, puis son répertoire de source lancez &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; avec les options suivantes:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--admin user&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt; (voir en-dessous pour la valeur de user)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--domain votre_domaine&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour comprendre les valeurs à mettre dans ces options, prenons le cas où nous voulons que tous les mails d&#039;alerte de détection virale soient envoyés à admin@lea-linux.org, vous devez alors mettre admin pour le user et lea-linux.org pour le domaine.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--notify all&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour prévenir l&#039;administrateur, l&#039;envoyeur et la personne qui auraient dû recevoir le mail, qu&#039;un mail contaminé a été intercepté&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--redundant yes&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;Permettre le scan des fichiers zips, etc...&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour notre exemple, nous lançons donc:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --admin admin --domain lea-linux.org --notify all --redundant yes --install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Vous risquez d&#039;avoir une erreur du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;YOU HAVEN&#039;T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;******* FATAL ERROR *******&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Cette erreur est &amp;quot;normale&amp;quot; si votre distribution comporte une version de Perl qui interdit que des script Perl soient lancés en SET-ID pour des raisons de sécurité (cas de la slackware par exemple).&amp;lt;br /&amp;gt; En effet, lancer les scripts en SET-ID signifie que le script est lancé avec les droits d&#039;un utilisateur spécifique. Certaines distributions interdisent cela (pour empêcher de lancer des script Perl qui prendraient les droits root par exemple et pourraient faire des choses pas très gentilles).&amp;lt;br /&amp;gt; Dans ce cas (et &#039;&#039;&#039;que&#039;&#039;&#039; dans ce cas-là, c&#039;est-à-dire que vous avez l&#039;erreur énoncée ci-dessus) vous devez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd contrib&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez voir apparaître alors:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install -o qmailq -g qmail -m4755 qmail-scanner-queue /var/qmail/bin/qmail-scanner-queue&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Revenez dans le répertoire des sources de Qmail-scanner (&amp;lt;tt&amp;gt;cd ..&amp;lt;/tt&amp;gt;) et vous éditez le fichier &amp;lt;tt&amp;gt;qmail-scanner-queue.pl&amp;lt;/tt&amp;gt; et vous remplacez: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/suidperl -T&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;par:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Copiez enfin ce fichier dans &amp;lt;tt&amp;gt;/var/qmail/bin&amp;lt;/tt&amp;gt; en placant les bons droits :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp qmail-scanner-queue.pl /var/qmail/bin/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chown qmailq.qmail /var/qmail/bin/qmail-scanner-queue*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Dans tout les cas, il faut initialiser qmail-scanner maitenant.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si vous n&#039;avez pas eu l&#039;erreur ci-dessus, tapez ces commandes:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue.pl -g&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue.pl -z&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si vous avez eu l&#039;erreur lors de l&#039;installation, les commandes alors sont celles-ci:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue -g&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue -z&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation du gestionnaire de mailing list ==&lt;br /&gt;
&lt;br /&gt;
Ezmlm est le gestionnaire de mailing de Qmail. Pour l&#039;installer, détarrez / dgzippez ezmlm et ezmlm-idx.&amp;lt;br /&amp;gt; Puis copiez le contenu de ezmlm-idx dans le répertoire de ezmlm:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf ezmlm-0.53.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf ezmlm-idx-0.40.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv ezmlm-idx-0.40/* ezmlm-0.53/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Patchez alors ezmlm:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd ezmlm-0.53&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;patch &amp;lt; idx.patch &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;et compilez, installez le tout: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make clean &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make man &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des service mails ==&lt;br /&gt;
&lt;br /&gt;
Maitenant que le plus &amp;quot;gros&amp;quot; est installé, nous allons créer le script de démarrage de ces services.&amp;lt;br /&amp;gt; Créez un fichier &amp;lt;tt&amp;gt;rc.startmail&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; comprenant:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export PATH=&amp;quot;/usr/local/bin:/var/qmail/bin:/var/vpopmail/bin:/usr/local/bin/ezmlm:$PATH&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;echo &amp;quot;Starting Qmail and Vpopmail daemons ...&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export QMAILQUEUE=&amp;quot;/var/qmail/bin/qmail-scanner-queue.pl&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/qmail/rc &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/local/bin/tcpserver -v -H -R -x /etc/tcp.smtp.cdb -c20 -u1033 -g103 0 smtp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;\ /usr/local/bin/recordio /var/qmail/bin/qmail-smtpd 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/local/bin/tcpserver -v -H -R 0 pop3 /usr/local/bin/recordio /var/qmail/bin/qmail-popup &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;\ mailhub.lea-linux.org /var/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; &#039;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Ne coupez pas les lignes de ce script. Regardez bien ce qui est marqué au dessus, le caractére &amp;quot;\&amp;quot; dans le texte au dessus signale qu&#039;il s&#039;agit de la même ligne que celle qui a commencé au dessus, le retour de ligne est du a la mise en page HTML. C&#039;est à dire que si vous lisez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; tuc machin&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; \ bidule &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; vous devez lire une seulle ligne:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; truc machin bidule&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il ne faut pas, bien sur copier, le &amp;quot;\&amp;quot;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Si vous avez eu l&#039;erreur dans Qmail-scanner à propos des script SET-ID, modifiez la ligne comprenant &amp;lt;tt&amp;gt;export QMAILQUEUE&amp;lt;/tt&amp;gt; par:&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export QMAILQUEUE=&amp;quot;/var/qmail/bin/qmail-scanner-queue&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/font&amp;gt;Ajoutez alors dans votre &amp;lt;tt&amp;gt;/etc/rc.d/rc.local&amp;lt;/tt&amp;gt; une ligne du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/rc.d/rc.startmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Ou si votre distribution est basé sur sysVinit,créez le scripts correspondants dans les niveaux d&#039;init que vous souhaitez.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Reste à configurer quelques fichiers. Tout d&#039;abord, il faut régler le temps d&#039;autentification des utilisateurs par le pop (POP before SMTP). Pour cela, nous editons la contrab et donnons l&#039;intervale de temps pu il faut nettoyer les identifications:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;crontab -e &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;et placez une ligne du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;40 * * * * /var/vpopmail/bin/clearopensmtp 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour nettoyer toutes les 40 minutes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il faut définir aussi quel est votre adresse réseau, pour authoriser ce réseau àutiliser le serveur de mail. Prenons l&#039;exemple où les utilisateurs de votre serveur de mails se trouvent sur les réseaux 192.168.0.0 (local) et 213.30.139.0 (public), il faut alors éditer le fichier /etc/tcp.smtp et y mettre:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;127.:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;192.168.0.:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;213.30.139:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; l&#039;adresse 127 doit &#039;&#039;&#039;absolument&#039;&#039;&#039; y être, autrement le serveur ne peut pas fonctionner!&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Construisez alors la base de données de ces adresses:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp &amp;lt; /etc/tcp.smtp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation d&#039;autoresponder ==&lt;br /&gt;
&lt;br /&gt;
Ce programme permet de répondre automatiquement aux mails reçus (pour signaler une absence par exemple).&amp;lt;br /&amp;gt; Pour l&#039;installer, c&#039;est très simple:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf autorespond-2.0.2.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd autorespond-2.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation de Qmailadmin ==&lt;br /&gt;
&lt;br /&gt;
Il nous reste plus qu&#039;à installer l&#039;interface cgi Web de la gestion des comptes mails.&amp;lt;br /&amp;gt;Pour cela:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf qmailadmin-1.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd qmailadmin-1.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --enable-htmldir=/var/www&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Remplacez &amp;lt;tt&amp;gt;--enable-htmldir=/var/www&amp;lt;/tt&amp;gt; par le chemin de votre racine web.&amp;lt;br /&amp;gt; Je suppose que vous savez configurer apache pour que le répertoire de cgi soit valide et fonctionnel.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utilisation, question courantes, etc ... ==&lt;br /&gt;
&lt;br /&gt;
Je vous donne ici brièvement les commande pour créer un nouveau domaine mails, les comptes, etc...&amp;lt;br /&amp;gt; Je suppose bien sûr que vous savez gérez vos DNS pour que le champ MX du domaine pointe vers le serveur de mails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; - Ajouter un nouveau domaine que votre serveur de mails va héberger :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/vpopmail/vadddomain domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous allez devoir rentrer le mot de passe du &amp;quot;postmaster&amp;quot;, c&#039;est-à-dire de l&#039;administrateur mails de ce domaine.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour créer les comptes pop, utiliser qmailadmin. Tapez l&#039;url dans votre navigateur pour pointer sur le cgi de qmailadmin, dans user laissez &amp;quot;postmaster&amp;quot;, dans domaine, mettez le domaine que vous voulez gérer et pour le mot de passe, mettez le mot de passe du postmaster.&amp;lt;br /&amp;gt; Dans l&#039;interface se trouvent tout les liens pour créer les mails etc...&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;- Effacer un domaine:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/vpopmail/vdeldomain domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Quand vous configurez votre client mail pour lire les mails reçus, faites attention dans la partie &amp;quot;nom utilisateurs&amp;quot; de mettre de la forme:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;utilisateur@domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; car les logiciels de mail mettent par défaut &amp;quot;utilisateur&amp;quot; tout court.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si lors du démarrage des services vous avez des erreurs du style:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;unable to bind: adresses in use&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ou quelque chose de similaire, c&#039;est que vous avez déjà un serveur de mail et/ou pop3 de lancé. Désinstallez tout autre serveur de mail/pop3 (sendmail, gnu-pop3d,...), vérifiez aussi dans .etc/inetd.conf ou dans /etc/xinet.d/ que les services smtp, pop3 ne sont pas utilisés par d&#039;autres programmes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Lisez les documentations d&#039;utilisation de ezmlm, ezmlm-idx pour la gestion des mailing lists.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmailadmin vous permet de &amp;quot;fabriquer&amp;quot; vos propres pages d&#039;administration mail, etc... avec de nombreux exemples installés dans /usr/local/share/qmailadmin&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour que vous puissiez gérer les mails d&#039;un domaine, vous devez configurer un MX dans le fichier de zone de ce domaine qui pointe vers votre serveur. Lisez les documentions des serveurs DNS.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; Serge Tchesmeli&lt;br /&gt;
{{LDL}}&lt;/div&gt;</summary>
		<author><name>BasEI</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Qmail&amp;diff=11986</id>
		<title>Qmail</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Qmail&amp;diff=11986"/>
		<updated>2006-02-27T13:50:46Z</updated>

		<summary type="html">&lt;p&gt;BasEI : /* Compiler Vpopmail et l&amp;#039;installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Services de messagerie]]&lt;br /&gt;
= Qmail: installation d&#039;un serveur de mail multi-domaine et sécurisé =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Qmail: installation d&#039;un serveur de mail multi-domaine et sécurisé&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:st@lea-linux.org serge]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Un serveur de mail gérant plusieurs domaines, sécurisé et protégé contre les virus.&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Nous allons voir dans cet article comment installer un serveur de mail pouvant gérer plusieurs domaines (des centaines, voir plus), sécurisé contre l&#039;open relay mais permettant aux utilisateurs authentifiés d&#039;envoyer des mails. De plus, les mails entrant seront scannés à la recherche de virus. Car même si sous linux la plupart des virus mail n&#039;ont aucun effet, il se peut que certains des utilisateurs récupèrent leurs mails sous windows.&lt;br /&gt;
&lt;br /&gt;
Ce serveur de mail comprend aussi un gestionnaire de mailing list et une interface web d&#039;admin des domaines mails.&lt;br /&gt;
&lt;br /&gt;
Pour la compréhension de cet article, vous devez avoir des notions assez avancées sur Linux et son utilisation (commandes shell en ligne, compilation, etc...), et des notions sur les réseaux TCP/IP et de l&#039;internet.&lt;br /&gt;
&lt;br /&gt;
Cet article est une &amp;quot;compilation&amp;quot; d&#039;articles trouvés sur l&#039;internet (en partie l&#039;article qmail sur [http://www.toolinux.com/ toolinux]), d&#039;HOWTO, et de mon expérience professionelle de Qmail.&lt;br /&gt;
&lt;br /&gt;
== Récupération des sources et compilation ==&lt;br /&gt;
&lt;br /&gt;
=== Télécharger les sources ===&lt;br /&gt;
&lt;br /&gt;
Récupérez tout d&#039;abord les sources de ces différents programmes (attention, vérifiez les liens et versions, je vous donne les versions à jour, à l&#039;heure où j&#039;écris cet article, c&#039;est-à-dire en avril 2002):&lt;br /&gt;
&lt;br /&gt;
- [http://cr.yp.to/software/qmail-1.03.tar.gz qmail-1.03]&amp;lt;br /&amp;gt;- [http://www.inter7.com/devel/autorespond-2.0.2.tar.gz autorespond-2.0.2]&amp;lt;br /&amp;gt;- [http://cr.yp.to/daemontools/daemontools-0.76.tar.gz daemontools-0.76]&amp;lt;br /&amp;gt;- [http://cr.yp.to/ucspi-tcp.html ucspi-tcp-0.88]&amp;lt;br /&amp;gt;- [http://pobox.com/~djb/ezmlm.html ezmlm-0.53]&amp;lt;br /&amp;gt;- [http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ ezmlm-idx]&amp;lt;br /&amp;gt;- [http://www.flounder.net/~mrsam/maildrop/ maildrop-1.3.8]&amp;lt;br /&amp;gt;- [http://qmail-scanner.sourceforge.net/ qmail-scanner-1.10]&amp;lt;br /&amp;gt;- [http://www.inter7.com/vpopmail/ vpopmail-5.2]&amp;lt;br /&amp;gt;- [http://www.f-prot.com/ F-PROT] (version linux gratuite pour un usage privé, prenez aussi les mises à jours des définitions de virus sur la page download du site).&amp;lt;br /&amp;gt;- [http://inter7.com/qmailadmin/ Qmailadmin]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oui je sais, ca fait beaucoup de chose à récupérer, j&#039;espére que vous avez un bon modem :)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiler Qmail et l&#039;installer ===&lt;br /&gt;
&lt;br /&gt;
Bon on va commencer par installer Qmail lui même. Détarrez / dégzippez les sources de qmail ( &amp;lt;tt&amp;gt;tar zxvf qmail-1.0.3.tar.gz&amp;lt;/tt&amp;gt; ). Nous allons devoir patcher légèrement les sources de Qmail pour notre besoin.&amp;lt;br /&amp;gt; Entrez dans le répertoire des sources de Qmail, et éditez le fichier Makefile, et remplacez :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;- La ligne &#039;&#039;&#039;1486&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;auto_split.o&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;auto_split.o env.a&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;- La ligne &#039;&#039;&#039;1491&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;substdio.a error.a str.a fs.a auto_qmail.o auto_split.o&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;substdio.a error.a str.a fs.a auto_qmail.o auto_split.o env.a&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De même, éditez le fichier qmail.c et :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;-ajoutez en dessous de la ligne &#039;&#039;&#039;8 &#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#include &amp;quot;env.h&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; en dessous de la ligne &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#include &amp;quot;auto_qmail.h&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;-remlacez la ligne &#039;&#039;&#039;10 &#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static char *binqqargs[2] = { &amp;quot;bin/qmail-queue&amp;quot;, 0 } ;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static char *binqqargs[2] = { 0, 0 } ; &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; -Ajoutez juste au-dessous de la ligne que vous venez de modifier les lignes suivantes: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static void setup_qqargs()&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if(!binqqargs[0])&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;binqqargs[0] = env_get(&amp;quot;QMAILQUEUE&amp;quot;);&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if(!binqqargs[0])&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;binqqargs[0] = &amp;quot;bin/qmail-queue&amp;quot;;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; et enfin au-dessous des lignes (vers la ligne &#039;&#039;&#039;23&#039;&#039;&#039;) &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int qmail_open(qq)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;struct qmail *qq;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int pim[2];&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int pie[2];&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/font&amp;gt;vous ajoutez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;setup_qqargs();&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Ce patch est uniquement nécessaire pour pouvoir utiliser qmail-scanner, qui va nous permettre de scanner tout mail entrant à la recherche de virus. En fait, ce patch ajoute une variable d&#039;environnement QMAILQUEUE. Si cette variable est vide, Qmail utilise son propre programme de &amp;quot;queue&amp;quot; (file d&#039;attente des mails entrant et sortant), autrement cette variable contient le nom du programme de queue de remplacement à utiliser. Nous utiliserons alors la &amp;quot;queue&amp;quot; de qmail-scanner qui appellera notre programme antivirus (F-PROT) pour scanner tous les mails.&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Maitenant que Qmail est patché, nous allons pouvoir le compiler. Mais avant cela, nous devons créer des comptes utilisateurs, qui de plus vont servir pour le chemin d&#039;installation de Qmail. Dans cet article, le chemin d&#039;installation est celui par défaut, c&#039;est à dire &amp;lt;tt&amp;gt;/var/qmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Nous créons ces comptes utilisateurs par les commandes (en &#039;&#039;&#039;root&#039;&#039;&#039; bien sur):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd nofiles&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail/alias alias&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmaild&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmaill&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmailp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd qmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmailq&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmailr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmails&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Si vous souhaitez installer Qmail dans un autre répertoire que &amp;lt;tt&amp;gt;/var/qmail&amp;lt;/tt&amp;gt;, modifiez les commandes ci-dessus avec le chemin souhaité.&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il nous reste plus qu&#039;à compiler Qmail:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make setup check&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Configurons maintenant Qmail, via la commande : &amp;lt;tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;./config-fast `hostname --fqdn`&#039;&#039;&#039;&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez voir apparaître quelque chose du style :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Your fully qualified host name is mailhub.lea-linux.org&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting tarsier.lea-linux.org into control/me...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting lea-linux.org into control/defaultdomain...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting lea-linux.org into control/plusdomain...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;.....&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Si vous avez une erreur ou autre insulte de la sorte, essayez en remplaçant &amp;quot;&#039;&#039;&#039;`hostname --fqdn`&#039;&#039;&#039;&amp;quot; par votre nom d&#039;hôte complet (par exemple &#039;&#039;&#039;./config-fast mailhub.lea-linux.org&#039;&#039;&#039;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmail utilise deux styles de mailbox (boîte aux lettres) différents : le mbox traditionel comme sendmail (un fichier nommé comme le login de l&#039;utilisateur contenant tout les mails de l&#039;utilisateur dans /var/mail) ou un répertoire Maildir à structure spéciale contenant les mails dans des fichiers séparés. Pour notre cas nous utiliserons Maildir, car vpopmail se base dessus.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour cela, il suffit de copier un fichier:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp /var/qmail/boot/home /var/qmail/rc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmail n&#039;est pas tout à fait complètement installé, mais pour la suite nous allons devoir installer les daemontools et ucspi de façon à avoir des performances optimales pour notre serveur de mails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installer les utilitaires supplémentaires ===&lt;br /&gt;
&lt;br /&gt;
De façon à avoir de meilleures performances pour notre serveur de mails et pour une plus grande souplesse, pour &amp;quot;logger&amp;quot; les évements mails, nous devons installer les outils développés par Dan Bernstein : &#039;&#039;&#039;daemontools&#039;&#039;&#039; et &#039;&#039;&#039;ucspi-tcp&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour les installer, rien de plus simple, vous dégzippez / détarrez les sources comme d&#039;habitude. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour les daemontools, un répertoire admin a été créé lors du &amp;quot;détarrage&amp;quot;: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd admin/daemontools/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./package/install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il ne reste plus qu&#039;à compiler / installer uscpi:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd ucspi-tcp-0.88&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make setup check&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiler Vpopmail et l&#039;installer ===&lt;br /&gt;
&lt;br /&gt;
Comme d&#039;habitude, on dégzippe / détarre les source de Vpopmail. Avant de lancer la compilation, il faut, comme pour Qmail, créer les comptes utilisateurs de vpopmail, qui vont aussi déterminer le chemin d&#039;installation de vpopmail.&amp;lt;br /&amp;gt; Pour ma part, pour des questions de &amp;quot;cohérence&amp;quot; avec Qmail, je l&#039;installe dans /var/vpopmail. De plus je trouve logique de l&#039;installer dans /var, car c&#039;est le repertoire où l&#039;on trouve normalement tout les fichiers qui varient en permanence (mail, logs, pid, etc...). Donc, nous faisons (en &#039;&#039;&#039;root&#039;&#039;&#039; bien sur) :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd -g 89 vchkpw&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g vchkpw -u 89 -d /var/vpopmail vpopmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; changez le chemin &amp;lt;tt&amp;gt;/var/vpopmail&amp;lt;/tt&amp;gt; par le chemin d&#039;installation que vous désirez bien sur&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez créer le répertoire de Vpopmail avant de continuer, pour notre exemple:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mkdir /var/vpopmail &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vpopmail possède un script de configuration avant la compilation (le bien connu &#039;&#039;&#039;./configure&#039;&#039;&#039;), auquel nous allons passer les options nécessaires à notre cas.&amp;lt;br /&amp;gt; Voici les options que nous allons utiliser, avec une brève explication pour chaque option:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--prefix=/var/vpopmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Répertoire de base de vpopmail&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-clear-passwd=y &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Ce qui permet de stocker une copie des mots de passe POP des utilisateurs en clair. C&#039;est peut-être moins sécurisé, mais c&#039;est toujours pratique pour retrouver le mot de passe de l&#039;un de vos utilisateurs qui l&#039;aurait perdu. Si vous êtes parano, n&#039;activez pas cette option.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-valias=y &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Permet d&#039;utiliser les alias mails (plusieurs noms possibles pour un même compte POP)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-default-domain=&#039;&#039;&#039;&#039;&#039;votre domaine&#039;&#039;&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Indique le domaine primaire de votre machine. A mettre absolument, autrement vous allez devoir créer le compte de chaque utilisateur pour le domaine principal du serveur de mail.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-roaming-users=y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Permet une authentification POP before SMTP pour activer le relaying.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explication sur cette option:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous avez sûrement entendu parler du &amp;quot;relaying&amp;quot; pour les serveurs mails, l&#039;open relay, etc... Pour résumer ce probléme, normalement un serveur de mail (comme la plupart des serveurs de mails des FAI) interdisent aux utilisateurs d&#039;envoyer des mails si l&#039;IP de l&#039;utilisateur n&#039;est pas une IP du même réseau que le serveur de mail.&amp;lt;br /&amp;gt; Par exemple, les serveurs de mails wanadoo refusent que vous envoyiez des mails si vous n&#039;avez pas une IP wanadoo (c.a.d si vous ne vous etes pas connecté à l&#039;internet via leur propre service), cela pour des raisons de sécurité, de lutte anti-spam, de charge serveur et aussi économique.&amp;lt;br /&amp;gt; La plupart des sociétés ayant leur propre serveur de mail font de même. Si vous ne faites pas ça, votre serveur est considéré comme un &amp;quot;open-relay&amp;quot;, ce qui n&#039;est pas bien du tout (je vais pas expliquer pourquoi ici, ca prendrait trop de temps).&amp;lt;br /&amp;gt; Mais se pose alors un probléme: vous êtes une grosse société, avec 5 000 collaborateurs. Vos collaborateurs voyagent beaucoup et ont besoin d&#039;utiliser le serveur de mail de la société. Comme ils sont en déplacement à l&#039;extérieur de la société, ils n&#039;ont pas d&#039;IP de la société (ils sont connectés via un FAI quelquonque ), et le serveur de mail n&#039;autorise pas le relaying (c&#039;est à dire envoyer un mail d&#039;un utilisateur dont l&#039;IP n&#039;est pas une IP de la société). Comment faire alors ?&amp;lt;br /&amp;gt; On a alors inventé le POP before SMTP pour permettre le relaying. Comment ca marche? Très simple. L&#039;utilisateur doit tout d&#039;abord &amp;quot;popper&amp;quot; sa boîte aux lettres (c&#039;est à dire relever ses mails, c&#039;est la chose que vous faites chaque fois que vous regardez avec votre client mail si vous avez reçus un nouvel e-mail). Lorsque l&#039;utilisateur &amp;quot;poppe&amp;quot; sa boîte au lettre, il s&#039;identifie sur le serveur en fait (le POP demande obligatoirement un nom d&#039;utilisateur et un mot de passe). Si l&#039;identification est OK, le serveur distribue les mails .&amp;lt;br /&amp;gt; Comme l&#039;utilisateur est identifié, on va alors se dire &amp;quot;ok l&#039;utilisateur est connu, il est de chez nous&amp;quot;, on va alors enregistrer son adresse IP actuelle et permettre a cette adresse IP d&#039;envoyer des mails pendant un certain temps que l&#039;on peut définir (voir plus bas dans l&#039;article). Donc en résumé (si vous n&#039;aviez rien compris), si vous voulez que votre serveur de mail soit utilisable pour envoyer des mails à partir de n&#039;importe où dans le monde, à partir du moment où l&#039;on a une boîte aux lettres sur votre serveur, activez cette option.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Donc, je vous redonne les options que nous utilisons ici :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --enable-clear-passwd=y --enable-valias=y --enable-default-domain=lea-linux.org --enable-roaming-users=y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Puis on le compile / installe:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install-strip&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Comme les &amp;quot;headers&amp;quot; de vpopmail sont nécessaires pour la compilation d&#039;autres programmes (qmailadmin par exemple), nous devons les copier dans un répertoire d&#039;include. Pour cela:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp /var/vpopmail/include/* /usr/include&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour que vpopail trouve bien les fichiers de tcpserver, il faut refaire le repertoire &amp;lt;tt&amp;gt;etc/&amp;lt;/tt&amp;gt; de vpopmail:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv /var/vpopmail/etc/* /etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rmdir /var/vpopmail/etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -s /etc /var/vpopmail/etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Qmail-scanner et F-PROT ===&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;installer Qmail-scanner, vous devez vous assurez d&#039;avoir Perl 5.005_03 (ou supérieur) sur votre machine (c&#039;est le cas avec toutes les distrib récentes) et les modules Perl: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Time::HiRes&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;DB_File&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Sys::Syslog&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour vous en assurer, installez-les via CPAN. Pour se faire, vous devez être connecté à internet, et lancez alors la commande:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;perl -MCPAN -e shell;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Si c&#039;est la premiére fois que vous lancez CPAN, vous allez devoir le configurer. Je ne vous explique pas ici comment configurer CPAN.&amp;lt;br /&amp;gt; Toutefois, la plupart du temps il suffit de valider les options proposées par défaut&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Une fois CPAN lancé, demandez l&#039;installation des modules via:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install Time::HiRes&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install DB_File&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install Sys::Syslog&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;exit&amp;lt;/tt&amp;gt; (pour sortir du CPAN)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Nous allons aussi dès à présent installer F-PROT. Dgzippez / Détarrez f-prot dans le répertoire &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; et installez le via:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd /usr/local&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf /ou/se/trouve/votre/fp-linux_sb.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs fp-linux_312/ f-prot&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs /usr/local/f-prot/f-prot.sh bin/f-prot&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs /usr/local/f-prot/f-prot.8 man/man8/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod +x /usr/local/f-prot/f-prot*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Mettez aussi à jour les signatures antivirales de F-PROT (&#039;&#039;&#039; Faites-le le plus souvent possible si vous voulez un bonne protection antivirale de vos mails!&#039;&#039;&#039;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Téléchargez les deux zip de mise à jour de signature de f-prot et dézipé-les dans &amp;lt;tt&amp;gt;/usr/local/f-prot&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Avant d&#039;installer Qmail-scanner, nous devons installer Maildrop, indispensable pour Qmail-scanner.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf maildrop-1.3.8.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd maildrop-1.3.8&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Passons maitenant à Qmail-scanner.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Dégzippé / Détarré Qmail-scanner, puis son répertoire de source lancez &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; avec les options suivantes:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--admin user&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt; (voir en-dessous pour la valeur de user)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--domain votre_domaine&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour comprendre les valeurs à mettre dans ces options, prenons le cas où nous voulons que tous les mails d&#039;alerte de détection virale soient envoyés à admin@lea-linux.org, vous devez alors mettre admin pour le user et lea-linux.org pour le domaine.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--notify all&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour prévenir l&#039;administrateur, l&#039;envoyeur et la personne qui auraient dû recevoir le mail, qu&#039;un mail contaminé a été intercepté&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--redundant yes&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;Permettre le scan des fichiers zips, etc...&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour notre exemple, nous lançons donc:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --admin admin --domain lea-linux.org --notify all --redundant yes --install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Vous risquez d&#039;avoir une erreur du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;YOU HAVEN&#039;T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;******* FATAL ERROR *******&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Cette erreur est &amp;quot;normale&amp;quot; si votre distribution comporte une version de Perl qui interdit que des script Perl soient lancés en SET-ID pour des raisons de sécurité (cas de la slackware par exemple).&amp;lt;br /&amp;gt; En effet, lancer les scripts en SET-ID signifie que le script est lancé avec les droits d&#039;un utilisateur spécifique. Certaines distributions interdisent cela (pour empêcher de lancer des script Perl qui prendraient les droits root par exemple et pourraient faire des choses pas très gentilles).&amp;lt;br /&amp;gt; Dans ce cas (et &#039;&#039;&#039;que&#039;&#039;&#039; dans ce cas-là, c&#039;est-à-dire que vous avez l&#039;erreur énoncée ci-dessus) vous devez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd contrib&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez voir apparaître alors:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install -o qmailq -g qmail -m4755 qmail-scanner-queue /var/qmail/bin/qmail-scanner-queue&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Revenez dans le répertoire des sources de Qmail-scanner (&amp;lt;tt&amp;gt;cd ..&amp;lt;/tt&amp;gt;) et vous éditez le fichier &amp;lt;tt&amp;gt;qmail-scanner-queue.pl&amp;lt;/tt&amp;gt; et vous remplacez: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/suidperl -T&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;par:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Copiez enfin ce fichier dans &amp;lt;tt&amp;gt;/var/qmail/bin&amp;lt;/tt&amp;gt; en placant les bons droits :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp qmail-scanner-queue.pl /var/qmail/bin/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chown qmailq.qmail /var/qmail/bin/qmail-scanner-queue*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Dans tout les cas, il faut initialiser qmail-scanner maitenant.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si vous n&#039;avez pas eu l&#039;erreur ci-dessus, tapez ces commandes:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue.pl -g&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue.pl -z&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si vous avez eu l&#039;erreur lors de l&#039;installation, les commandes alors sont celles-ci:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue -g&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue -z&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation du gestionnaire de mailing list ==&lt;br /&gt;
&lt;br /&gt;
Ezmlm est le gestionnaire de mailing de Qmail. Pour l&#039;installer, détarrez / dgzippez ezmlm et ezmlm-idx.&amp;lt;br /&amp;gt; Puis copiez le contenu de ezmlm-idx dans le répertoire de ezmlm:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf ezmlm-0.53.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf ezmlm-idx-0.40.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv ezmlm-idx-0.40/* ezmlm-0.53/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Patchez alors ezmlm:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd ezmlm-0.53&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;patch &amp;lt; idx.patch &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;et compilez, installez le tout: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make clean &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make man &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des service mails ==&lt;br /&gt;
&lt;br /&gt;
Maitenant que le plus &amp;quot;gros&amp;quot; est installé, nous allons créer le script de démarrage de ces services.&amp;lt;br /&amp;gt; Créez un fichier &amp;lt;tt&amp;gt;rc.startmail&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; comprenant:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export PATH=&amp;quot;/usr/local/bin:/var/qmail/bin:/var/vpopmail/bin:/usr/local/bin/ezmlm:$PATH&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;echo &amp;quot;Starting Qmail and Vpopmail daemons ...&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export QMAILQUEUE=&amp;quot;/var/qmail/bin/qmail-scanner-queue.pl&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/qmail/rc &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/local/bin/tcpserver -v -H -R -x /etc/tcp.smtp.cdb -c20 -u1033 -g103 0 smtp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;\ /usr/local/bin/recordio /var/qmail/bin/qmail-smtpd 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/local/bin/tcpserver -v -H -R 0 pop3 /usr/local/bin/recordio /var/qmail/bin/qmail-popup &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;\ mailhub.lea-linux.org /var/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; &#039;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Ne coupez pas les lignes de ce script. Regardez bien ce qui est marqué au dessus, le caractére &amp;quot;\&amp;quot; dans le texte au dessus signale qu&#039;il s&#039;agit de la même ligne que celle qui a commencé au dessus, le retour de ligne est du a la mise en page HTML. C&#039;est à dire que si vous lisez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; tuc machin&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; \ bidule &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; vous devez lire une seulle ligne:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; truc machin bidule&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il ne faut pas, bien sur copier, le &amp;quot;\&amp;quot;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Si vous avez eu l&#039;erreur dans Qmail-scanner à propos des script SET-ID, modifiez la ligne comprenant &amp;lt;tt&amp;gt;export QMAILQUEUE&amp;lt;/tt&amp;gt; par:&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export QMAILQUEUE=&amp;quot;/var/qmail/bin/qmail-scanner-queue&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/font&amp;gt;Ajoutez alors dans votre &amp;lt;tt&amp;gt;/etc/rc.d/rc.local&amp;lt;/tt&amp;gt; une ligne du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/rc.d/rc.startmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Ou si votre distribution est basé sur sysVinit,créez le scripts correspondants dans les niveaux d&#039;init que vous souhaitez.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Reste à configurer quelques fichiers. Tout d&#039;abord, il faut régler le temps d&#039;autentification des utilisateurs par le pop (POP before SMTP). Pour cela, nous editons la contrab et donnons l&#039;intervale de temps pu il faut nettoyer les identifications:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;crontab -e &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;et placez une ligne du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;40 * * * * /var/vpopmail/bin/clearopensmtp 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour nettoyer toutes les 40 minutes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il faut définir aussi quel est votre adresse réseau, pour authoriser ce réseau àutiliser le serveur de mail. Prenons l&#039;exemple où les utilisateurs de votre serveur de mails se trouvent sur les réseaux 192.168.0.0 (local) et 213.30.139.0 (public), il faut alors éditer le fichier /etc/tcp.smtp et y mettre:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;127.:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;192.168.0.:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;213.30.139:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; l&#039;adresse 127 doit &#039;&#039;&#039;absolument&#039;&#039;&#039; y être, autrement le serveur ne peut pas fonctionner!&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Construisez alors la base de données de ces adresses:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp &amp;lt; /etc/tcp.smtp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation d&#039;autoresponder ==&lt;br /&gt;
&lt;br /&gt;
Ce programme permet de répondre automatiquement aux mails reçus (pour signaler une absence par exemple).&amp;lt;br /&amp;gt; Pour l&#039;installer, c&#039;est très simple:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf autorespond-2.0.2.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd autorespond-2.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation de Qmailadmin ==&lt;br /&gt;
&lt;br /&gt;
Il nous reste plus qu&#039;à installer l&#039;interface cgi Web de la gestion des comptes mails.&amp;lt;br /&amp;gt;Pour cela:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf qmailadmin-1.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd qmailadmin-1.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --enable-htmldir=/var/www&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Remplacez &amp;lt;tt&amp;gt;--enable-htmldir=/var/www&amp;lt;/tt&amp;gt; par le chemin de votre racine web.&amp;lt;br /&amp;gt; Je suppose que vous savez configurer apache pour que le répertoire de cgi soit valide et fonctionnel.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utilisation, question courantes, etc ... ==&lt;br /&gt;
&lt;br /&gt;
Je vous donne ici brièvement les commande pour créer un nouveau domaine mails, les comptes, etc...&amp;lt;br /&amp;gt; Je suppose bien sûr que vous savez gérez vos DNS pour que le champ MX du domaine pointe vers le serveur de mails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; - Ajouter un nouveau domaine que votre serveur de mails va héberger :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/vpopmail/vadddomain domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous allez devoir rentrer le mot de passe du &amp;quot;postmaster&amp;quot;, c&#039;est-à-dire de l&#039;administrateur mails de ce domaine.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour créer les comptes pop, utiliser qmailadmin. Tapez l&#039;url dans votre navigateur pour pointer sur le cgi de qmailadmin, dans user laissez &amp;quot;postmaster&amp;quot;, dans domaine, mettez le domaine que vous voulez gérer et pour le mot de passe, mettez le mot de passe du postmaster.&amp;lt;br /&amp;gt; Dans l&#039;interface se trouvent tout les liens pour créer les mails etc...&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;- Effacer un domaine:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/vpopmail/vdeldomain domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Quand vous configurez votre client mail pour lire les mails reçus, faites attention dans la partie &amp;quot;nom utilisateurs&amp;quot; de mettre de la forme:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;utilisateur@domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; car les logiciels de mail mettent par défaut &amp;quot;utilisateur&amp;quot; tout court.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si lors du démarrage des services vous avez des erreurs du style:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;unable to bind: adresses in use&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ou quelque chose de similaire, c&#039;est que vous avez déjà un serveur de mail et/ou pop3 de lancé. Désinstallez tout autre serveur de mail/pop3 (sendmail, gnu-pop3d,...), vérifiez aussi dans .etc/inetd.conf ou dans /etc/xinet.d/ que les services smtp, pop3 ne sont pas utilisés par d&#039;autres programmes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Lisez les documentations d&#039;utilisation de ezmlm, ezmlm-idx pour la gestion des mailing lists.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmailadmin vous permet de &amp;quot;fabriquer&amp;quot; vos propres pages d&#039;administration mail, etc... avec de nombreux exemples installés dans /usr/local/share/qmailadmin&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour que vous puissiez gérer les mails d&#039;un domaine, vous devez configurer un MX dans le fichier de zone de ce domaine qui pointe vers votre serveur. Lisez les documentions des serveurs DNS.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; Serge Tchesmeli&lt;br /&gt;
{{LDL}}&lt;/div&gt;</summary>
		<author><name>BasEI</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Qmail&amp;diff=11985</id>
		<title>Qmail</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Qmail&amp;diff=11985"/>
		<updated>2006-02-27T13:46:05Z</updated>

		<summary type="html">&lt;p&gt;BasEI : /* Compiler Qmail et l&amp;#039;installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Services de messagerie]]&lt;br /&gt;
= Qmail: installation d&#039;un serveur de mail multi-domaine et sécurisé =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Qmail: installation d&#039;un serveur de mail multi-domaine et sécurisé&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:st@lea-linux.org serge]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Un serveur de mail gérant plusieurs domaines, sécurisé et protégé contre les virus.&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Nous allons voir dans cet article comment installer un serveur de mail pouvant gérer plusieurs domaines (des centaines, voir plus), sécurisé contre l&#039;open relay mais permettant aux utilisateurs authentifiés d&#039;envoyer des mails. De plus, les mails entrant seront scannés à la recherche de virus. Car même si sous linux la plupart des virus mail n&#039;ont aucun effet, il se peut que certains des utilisateurs récupèrent leurs mails sous windows.&lt;br /&gt;
&lt;br /&gt;
Ce serveur de mail comprend aussi un gestionnaire de mailing list et une interface web d&#039;admin des domaines mails.&lt;br /&gt;
&lt;br /&gt;
Pour la compréhension de cet article, vous devez avoir des notions assez avancées sur Linux et son utilisation (commandes shell en ligne, compilation, etc...), et des notions sur les réseaux TCP/IP et de l&#039;internet.&lt;br /&gt;
&lt;br /&gt;
Cet article est une &amp;quot;compilation&amp;quot; d&#039;articles trouvés sur l&#039;internet (en partie l&#039;article qmail sur [http://www.toolinux.com/ toolinux]), d&#039;HOWTO, et de mon expérience professionelle de Qmail.&lt;br /&gt;
&lt;br /&gt;
== Récupération des sources et compilation ==&lt;br /&gt;
&lt;br /&gt;
=== Télécharger les sources ===&lt;br /&gt;
&lt;br /&gt;
Récupérez tout d&#039;abord les sources de ces différents programmes (attention, vérifiez les liens et versions, je vous donne les versions à jour, à l&#039;heure où j&#039;écris cet article, c&#039;est-à-dire en avril 2002):&lt;br /&gt;
&lt;br /&gt;
- [http://cr.yp.to/software/qmail-1.03.tar.gz qmail-1.03]&amp;lt;br /&amp;gt;- [http://www.inter7.com/devel/autorespond-2.0.2.tar.gz autorespond-2.0.2]&amp;lt;br /&amp;gt;- [http://cr.yp.to/daemontools/daemontools-0.76.tar.gz daemontools-0.76]&amp;lt;br /&amp;gt;- [http://cr.yp.to/ucspi-tcp.html ucspi-tcp-0.88]&amp;lt;br /&amp;gt;- [http://pobox.com/~djb/ezmlm.html ezmlm-0.53]&amp;lt;br /&amp;gt;- [http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ ezmlm-idx]&amp;lt;br /&amp;gt;- [http://www.flounder.net/~mrsam/maildrop/ maildrop-1.3.8]&amp;lt;br /&amp;gt;- [http://qmail-scanner.sourceforge.net/ qmail-scanner-1.10]&amp;lt;br /&amp;gt;- [http://www.inter7.com/vpopmail/ vpopmail-5.2]&amp;lt;br /&amp;gt;- [http://www.f-prot.com/ F-PROT] (version linux gratuite pour un usage privé, prenez aussi les mises à jours des définitions de virus sur la page download du site).&amp;lt;br /&amp;gt;- [http://inter7.com/qmailadmin/ Qmailadmin]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oui je sais, ca fait beaucoup de chose à récupérer, j&#039;espére que vous avez un bon modem :)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiler Qmail et l&#039;installer ===&lt;br /&gt;
&lt;br /&gt;
Bon on va commencer par installer Qmail lui même. Détarrez / dégzippez les sources de qmail ( &amp;lt;tt&amp;gt;tar zxvf qmail-1.0.3.tar.gz&amp;lt;/tt&amp;gt; ). Nous allons devoir patcher légèrement les sources de Qmail pour notre besoin.&amp;lt;br /&amp;gt; Entrez dans le répertoire des sources de Qmail, et éditez le fichier Makefile, et remplacez :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;- La ligne &#039;&#039;&#039;1486&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;auto_split.o&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;auto_split.o env.a&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;- La ligne &#039;&#039;&#039;1491&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;substdio.a error.a str.a fs.a auto_qmail.o auto_split.o&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;substdio.a error.a str.a fs.a auto_qmail.o auto_split.o env.a&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De même, éditez le fichier qmail.c et :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;-ajoutez en dessous de la ligne &#039;&#039;&#039;8 &#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#include &amp;quot;env.h&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; en dessous de la ligne &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#include &amp;quot;auto_qmail.h&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;-remlacez la ligne &#039;&#039;&#039;10 &#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static char *binqqargs[2] = { &amp;quot;bin/qmail-queue&amp;quot;, 0 } ;&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; par &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static char *binqqargs[2] = { 0, 0 } ; &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; -Ajoutez juste au-dessous de la ligne que vous venez de modifier les lignes suivantes: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;static void setup_qqargs()&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if(!binqqargs[0])&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;binqqargs[0] = env_get(&amp;quot;QMAILQUEUE&amp;quot;);&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if(!binqqargs[0])&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;binqqargs[0] = &amp;quot;bin/qmail-queue&amp;quot;;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; et enfin au-dessous des lignes (vers la ligne &#039;&#039;&#039;23&#039;&#039;&#039;) &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int qmail_open(qq)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;struct qmail *qq;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int pim[2];&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;int pie[2];&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/font&amp;gt;vous ajoutez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;setup_qqargs();&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Ce patch est uniquement nécessaire pour pouvoir utiliser qmail-scanner, qui va nous permettre de scanner tout mail entrant à la recherche de virus. En fait, ce patch ajoute une variable d&#039;environnement QMAILQUEUE. Si cette variable est vide, Qmail utilise son propre programme de &amp;quot;queue&amp;quot; (file d&#039;attente des mails entrant et sortant), autrement cette variable contient le nom du programme de queue de remplacement à utiliser. Nous utiliserons alors la &amp;quot;queue&amp;quot; de qmail-scanner qui appellera notre programme antivirus (F-PROT) pour scanner tous les mails.&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Maitenant que Qmail est patché, nous allons pouvoir le compiler. Mais avant cela, nous devons créer des comptes utilisateurs, qui de plus vont servir pour le chemin d&#039;installation de Qmail. Dans cet article, le chemin d&#039;installation est celui par défaut, c&#039;est à dire &amp;lt;tt&amp;gt;/var/qmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Nous créons ces comptes utilisateurs par les commandes (en &#039;&#039;&#039;root&#039;&#039;&#039; bien sur):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd nofiles&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail/alias alias&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmaild&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmaill&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g nofiles -d /var/qmail qmailp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd qmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmailq&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmailr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g qmail -d /var/qmail qmails&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Si vous souhaitez installer Qmail dans un autre répertoire que &amp;lt;tt&amp;gt;/var/qmail&amp;lt;/tt&amp;gt;, modifiez les commandes ci-dessus avec le chemin souhaité.&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il nous reste plus qu&#039;à compiler Qmail:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make setup check&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Configurons maintenant Qmail, via la commande : &amp;lt;tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;./config-fast `hostname --fqdn`&#039;&#039;&#039;&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez voir apparaître quelque chose du style :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Your fully qualified host name is mailhub.lea-linux.org&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting tarsier.lea-linux.org into control/me...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting lea-linux.org into control/defaultdomain...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Putting lea-linux.org into control/plusdomain...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;.....&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Si vous avez une erreur ou autre insulte de la sorte, essayez en remplaçant &amp;quot;&#039;&#039;&#039;`hostname --fqdn`&#039;&#039;&#039;&amp;quot; par votre nom d&#039;hôte complet (par exemple &#039;&#039;&#039;./config-fast mailhub.lea-linux.org&#039;&#039;&#039;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmail utilise deux styles de mailbox (boîte aux lettres) différents : le mbox traditionel comme sendmail (un fichier nommé comme le login de l&#039;utilisateur contenant tout les mails de l&#039;utilisateur dans /var/mail) ou un répertoire Maildir à structure spéciale contenant les mails dans des fichiers séparés. Pour notre cas nous utiliserons Maildir, car vpopmail se base dessus.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour cela, il suffit de copier un fichier:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp /var/qmail/boot/home /var/qmail/rc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmail n&#039;est pas tout à fait complètement installé, mais pour la suite nous allons devoir installer les daemontools et ucspi de façon à avoir des performances optimales pour notre serveur de mails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installer les utilitaires supplémentaires ===&lt;br /&gt;
&lt;br /&gt;
De façon à avoir de meilleures performances pour notre serveur de mails et pour une plus grande souplesse, pour &amp;quot;logger&amp;quot; les évements mails, nous devons installer les outils développés par Dan Bernstein : &#039;&#039;&#039;daemontools&#039;&#039;&#039; et &#039;&#039;&#039;ucspi-tcp&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour les installer, rien de plus simple, vous dégzippez / détarrez les sources comme d&#039;habitude. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour les daemontools, un répertoire admin a été créé lors du &amp;quot;détarrage&amp;quot;: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd admin/daemontools/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./package/install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il ne reste plus qu&#039;à compiler / installer uscpi:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd ucspi-tcp-0.88&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make setup check&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiler Vpopmail et l&#039;installer ===&lt;br /&gt;
&lt;br /&gt;
Comme d&#039;habitude, on dégzippe / détarre les source de Vpopmail. Avant de lancer la compilation, il faut, comme pour Qmail, créer les comptes utilisateurs de vpopmail, qui vont aussi déterminer le chemin d&#039;installation de vpopmail.&amp;lt;br /&amp;gt; Pour ma part, pour des questions de &amp;quot;cohérence&amp;quot; avec Qmail, je l&#039;installe dans /var/vpopmail. De plus je trouve logique de l&#039;installer dans /var, car c&#039;est le repertoire où l&#039;on trouve normalement tout les fichiers qui varient en permanence (mail, logs, pid, etc...). Donc, nous faisons (en &#039;&#039;&#039;root&#039;&#039;&#039; bien sur) :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;groupadd -g 89 vchkpw&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;useradd -g vchkpw -u 89 -d /var/vpopmail vpopmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; changez le chemin &amp;lt;tt&amp;gt;/var/vpopmail&amp;lt;/tt&amp;gt; par le chemin d&#039;installation que vous désirez bien sur&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez créer le répertoire de Vpopmail avant de continuer, pour notre exemple:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mkdir /var/vpopmail &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vpopmail possède un script de configuration avant la compilation (le bien connu &#039;&#039;&#039;./configure&#039;&#039;&#039;), auquel nous allons passer les options nécessaires à notre cas.&amp;lt;br /&amp;gt; Voici les options que nous allons utiliser, avec une brève explication pour chaque option:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--prefix=/var/vpopmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Répertoire de base de vpopmail&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-clear-passwd=y &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Ce qui permet de stocker une copie des mots de passe POP des utilisateurs en clair. C&#039;est peut-être moins sécurisé, mais c&#039;est toujours pratique pour retrouver le mot de passe de l&#039;un de vos utilisateurs qui l&#039;aurait perdu. Si vous êtes parano, n&#039;activez pas cette option.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-valias=y &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Permet d&#039;utiliser les alias mails (plusieurs noms possibles pour un même compte POP)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-default-domain=&#039;&#039;&#039;&#039;&#039;votre domaine&#039;&#039;&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Indique le domaine primaire de votre machine. A mettre absolument, autrement vous allez devoir créer le compte de chaque utilisateur pour le domaine principal du serveur de mail.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--enable-roaming-users=y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Permet une authentification POP before SMTP pour activer le relaying.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explication sur cette option:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous avez sûrement entendu parler du &amp;quot;relaying&amp;quot; pour les serveurs mails, l&#039;open relay, etc... Pour résumer ce probléme, normalement un serveur de mail (comme la plupart des serveurs de mails des FAI) interdisent aux utilisateurs d&#039;envoyer des mails si l&#039;IP de l&#039;utilisateur n&#039;est pas une IP du même réseau que le serveur de mail.&amp;lt;br /&amp;gt; Par exemple, les serveurs de mails wanadoo refusent que vous envoyiez des mails si vous n&#039;avez pas une IP wanadoo (c.a.d si vous ne vous etes pas connecté à l&#039;internet via leur propre service), cela pour des raisons de sécurité, de lutte anti-spam, de charge serveur et aussi économique.&amp;lt;br /&amp;gt; La plupart des sociétés ayant leur propre serveur de mail font de même. Si vous ne faites pas ça, votre serveur est considéré comme un &amp;quot;open-relay&amp;quot;, ce qui n&#039;est pas bien du tout (je vais pas expliquer pourquoi ici, ca prendrait trop de temps).&amp;lt;br /&amp;gt; Mais se pose alors un probléme: vous êtes une grosse société, avec 5 000 collaborateurs. Vos collaborateurs voyagent beaucoup et ont besoin d&#039;utiliser le serveur de mail de la société. Comme ils sont en déplacement à l&#039;extérieur de la société, ils n&#039;ont pas d&#039;IP de la société (ils sont connectés via un FAI quelquonque ), et le serveur de mail n&#039;autorise pas le relaying (c&#039;est à dire envoyer un mail d&#039;un utilisateur dont l&#039;IP n&#039;est pas une IP de la société). Comment faire alors ?&amp;lt;br /&amp;gt; On a alors inventé le POP before SMTP pour permettre le relaying. Comment ca marche? Très simple. L&#039;utilisateur doit tout d&#039;abord &amp;quot;popper&amp;quot; sa boîte aux lettres (c&#039;est à dire relever ses mails, c&#039;est la chose que vous faites chaque fois que vous regardez avec votre client mail si vous avez reçus un nouvel e-mail). Lorsque l&#039;utilisateur &amp;quot;poppe&amp;quot; sa boîte au lettre, il s&#039;identifie sur le serveur en fait (le POP demande obligatoirement un nom d&#039;utilisateur et un mot de passe). Si l&#039;identification est OK, le serveur distribue les mails .&amp;lt;br /&amp;gt; Comme l&#039;utilisateur est identifié, on va alors se dire &amp;quot;ok l&#039;utilisateur est connu, il est de chez nous&amp;quot;, on va alors enregistrer son adresse IP actuelle et permettre a cette adresse IP d&#039;envoyer des mails pendant un certain temps que l&#039;on peut définir (voir plus bas dans l&#039;article). Donc en résumé (si vous n&#039;aviez rien compris), si vous voulez que votre serveur de mail soit utilisable pour envoyer des mails à partir de n&#039;importe où dans le monde, à partir du moment où l&#039;on aune boîte aux lettres sur votre serveur, activez cette option.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Donc, je vous redonne les options que nous utilisons ici :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --enable-clear-passwd=y --enable-valias=y --enable-default-domain=lea-linux.org --enable-roaming-users=y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Puis on le compile / installe:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install-strip&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Comme les &amp;quot;headers&amp;quot; de vpopmail sont nécessaires pour la compilation d&#039;autres programmes (qmailadmin par exemple), nous devons les copier dans un répertoire d&#039;include. Pour cela:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp /var/vpopmail/include/* /usr/include&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour que vpopail trouve bien les fichiers de tcpserver, il faut refaire le repertoire &amp;lt;tt&amp;gt;etc/&amp;lt;/tt&amp;gt; de vpopmail:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv /var/vpopmail/etc/* /etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rmdir /var/vpopmail/etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -s /etc /var/vpopmail/etc&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Qmail-scanner et F-PROT ===&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;installer Qmail-scanner, vous devez vous assurez d&#039;avoir Perl 5.005_03 (ou supérieur) sur votre machine (c&#039;est le cas avec toutes les distrib récentes) et les modules Perl: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Time::HiRes&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;DB_File&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Sys::Syslog&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour vous en assurer, installez-les via CPAN. Pour se faire, vous devez être connecté à internet, et lancez alors la commande:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;perl -MCPAN -e shell;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt; Si c&#039;est la premiére fois que vous lancez CPAN, vous allez devoir le configurer. Je ne vous explique pas ici comment configurer CPAN.&amp;lt;br /&amp;gt; Toutefois, la plupart du temps il suffit de valider les options proposées par défaut&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Une fois CPAN lancé, demandez l&#039;installation des modules via:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install Time::HiRes&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install DB_File&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install Sys::Syslog&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;exit&amp;lt;/tt&amp;gt; (pour sortir du CPAN)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Nous allons aussi dès à présent installer F-PROT. Dgzippez / Détarrez f-prot dans le répertoire &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; et installez le via:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd /usr/local&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf /ou/se/trouve/votre/fp-linux_sb.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs fp-linux_312/ f-prot&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs /usr/local/f-prot/f-prot.sh bin/f-prot&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ln -fs /usr/local/f-prot/f-prot.8 man/man8/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod +x /usr/local/f-prot/f-prot*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Mettez aussi à jour les signatures antivirales de F-PROT (&#039;&#039;&#039; Faites-le le plus souvent possible si vous voulez un bonne protection antivirale de vos mails!&#039;&#039;&#039;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Téléchargez les deux zip de mise à jour de signature de f-prot et dézipé-les dans &amp;lt;tt&amp;gt;/usr/local/f-prot&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Avant d&#039;installer Qmail-scanner, nous devons installer Maildrop, indispensable pour Qmail-scanner.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf maildrop-1.3.8.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd maildrop-1.3.8&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Passons maitenant à Qmail-scanner.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Dégzippé / Détarré Qmail-scanner, puis son répertoire de source lancez &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; avec les options suivantes:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--admin user&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt; (voir en-dessous pour la valeur de user)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--domain votre_domaine&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour comprendre les valeurs à mettre dans ces options, prenons le cas où nous voulons que tous les mails d&#039;alerte de détection virale soient envoyés à admin@lea-linux.org, vous devez alors mettre admin pour le user et lea-linux.org pour le domaine.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--notify all&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour prévenir l&#039;administrateur, l&#039;envoyeur et la personne qui auraient dû recevoir le mail, qu&#039;un mail contaminé a été intercepté&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--redundant yes&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;Permettre le scan des fichiers zips, etc...&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour notre exemple, nous lançons donc:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --admin admin --domain lea-linux.org --notify all --redundant yes --install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Vous risquez d&#039;avoir une erreur du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;YOU HAVEN&#039;T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;******* FATAL ERROR *******&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Cette erreur est &amp;quot;normale&amp;quot; si votre distribution comporte une version de Perl qui interdit que des script Perl soient lancés en SET-ID pour des raisons de sécurité (cas de la slackware par exemple).&amp;lt;br /&amp;gt; En effet, lancer les scripts en SET-ID signifie que le script est lancé avec les droits d&#039;un utilisateur spécifique. Certaines distributions interdisent cela (pour empêcher de lancer des script Perl qui prendraient les droits root par exemple et pourraient faire des choses pas très gentilles).&amp;lt;br /&amp;gt; Dans ce cas (et &#039;&#039;&#039;que&#039;&#039;&#039; dans ce cas-là, c&#039;est-à-dire que vous avez l&#039;erreur énoncée ci-dessus) vous devez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd contrib&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous devez voir apparaître alors:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;install -o qmailq -g qmail -m4755 qmail-scanner-queue /var/qmail/bin/qmail-scanner-queue&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Revenez dans le répertoire des sources de Qmail-scanner (&amp;lt;tt&amp;gt;cd ..&amp;lt;/tt&amp;gt;) et vous éditez le fichier &amp;lt;tt&amp;gt;qmail-scanner-queue.pl&amp;lt;/tt&amp;gt; et vous remplacez: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/suidperl -T&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;par:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Copiez enfin ce fichier dans &amp;lt;tt&amp;gt;/var/qmail/bin&amp;lt;/tt&amp;gt; en placant les bons droits :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cp qmail-scanner-queue.pl /var/qmail/bin/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chown qmailq.qmail /var/qmail/bin/qmail-scanner-queue*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Dans tout les cas, il faut initialiser qmail-scanner maitenant.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si vous n&#039;avez pas eu l&#039;erreur ci-dessus, tapez ces commandes:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue.pl -g&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue.pl -z&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si vous avez eu l&#039;erreur lors de l&#039;installation, les commandes alors sont celles-ci:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue -g&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;qmail-scanner-queue -z&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation du gestionnaire de mailing list ==&lt;br /&gt;
&lt;br /&gt;
Ezmlm est le gestionnaire de mailing de Qmail. Pour l&#039;installer, détarrez / dgzippez ezmlm et ezmlm-idx.&amp;lt;br /&amp;gt; Puis copiez le contenu de ezmlm-idx dans le répertoire de ezmlm:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf ezmlm-0.53.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf ezmlm-idx-0.40.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv ezmlm-idx-0.40/* ezmlm-0.53/&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Patchez alors ezmlm:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd ezmlm-0.53&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;patch &amp;lt; idx.patch &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;et compilez, installez le tout: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make clean &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make man &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des service mails ==&lt;br /&gt;
&lt;br /&gt;
Maitenant que le plus &amp;quot;gros&amp;quot; est installé, nous allons créer le script de démarrage de ces services.&amp;lt;br /&amp;gt; Créez un fichier &amp;lt;tt&amp;gt;rc.startmail&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; comprenant:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export PATH=&amp;quot;/usr/local/bin:/var/qmail/bin:/var/vpopmail/bin:/usr/local/bin/ezmlm:$PATH&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;echo &amp;quot;Starting Qmail and Vpopmail daemons ...&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export QMAILQUEUE=&amp;quot;/var/qmail/bin/qmail-scanner-queue.pl&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/qmail/rc &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/local/bin/tcpserver -v -H -R -x /etc/tcp.smtp.cdb -c20 -u1033 -g103 0 smtp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;\ /usr/local/bin/recordio /var/qmail/bin/qmail-smtpd 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/local/bin/tcpserver -v -H -R 0 pop3 /usr/local/bin/recordio /var/qmail/bin/qmail-popup &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;\ mailhub.lea-linux.org /var/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; &#039;&#039;&#039;&amp;lt;u&amp;gt;Remarque:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Ne coupez pas les lignes de ce script. Regardez bien ce qui est marqué au dessus, le caractére &amp;quot;\&amp;quot; dans le texte au dessus signale qu&#039;il s&#039;agit de la même ligne que celle qui a commencé au dessus, le retour de ligne est du a la mise en page HTML. C&#039;est à dire que si vous lisez:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; tuc machin&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; \ bidule &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; vous devez lire une seulle ligne:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; truc machin bidule&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il ne faut pas, bien sur copier, le &amp;quot;\&amp;quot;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Si vous avez eu l&#039;erreur dans Qmail-scanner à propos des script SET-ID, modifiez la ligne comprenant &amp;lt;tt&amp;gt;export QMAILQUEUE&amp;lt;/tt&amp;gt; par:&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export QMAILQUEUE=&amp;quot;/var/qmail/bin/qmail-scanner-queue&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/font&amp;gt;Ajoutez alors dans votre &amp;lt;tt&amp;gt;/etc/rc.d/rc.local&amp;lt;/tt&amp;gt; une ligne du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/rc.d/rc.startmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Ou si votre distribution est basé sur sysVinit,créez le scripts correspondants dans les niveaux d&#039;init que vous souhaitez.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Reste à configurer quelques fichiers. Tout d&#039;abord, il faut régler le temps d&#039;autentification des utilisateurs par le pop (POP before SMTP). Pour cela, nous editons la contrab et donnons l&#039;intervale de temps pu il faut nettoyer les identifications:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;crontab -e &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;et placez une ligne du type:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;40 * * * * /var/vpopmail/bin/clearopensmtp 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour nettoyer toutes les 40 minutes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Il faut définir aussi quel est votre adresse réseau, pour authoriser ce réseau àutiliser le serveur de mail. Prenons l&#039;exemple où les utilisateurs de votre serveur de mails se trouvent sur les réseaux 192.168.0.0 (local) et 213.30.139.0 (public), il faut alors éditer le fichier /etc/tcp.smtp et y mettre:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;127.:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;192.168.0.:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;213.30.139:allow,RELAYCLIENT=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; l&#039;adresse 127 doit &#039;&#039;&#039;absolument&#039;&#039;&#039; y être, autrement le serveur ne peut pas fonctionner!&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Construisez alors la base de données de ces adresses:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp &amp;lt; /etc/tcp.smtp&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation d&#039;autoresponder ==&lt;br /&gt;
&lt;br /&gt;
Ce programme permet de répondre automatiquement aux mails reçus (pour signaler une absence par exemple).&amp;lt;br /&amp;gt; Pour l&#039;installer, c&#039;est très simple:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf autorespond-2.0.2.tar.gz&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd autorespond-2.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation de Qmailadmin ==&lt;br /&gt;
&lt;br /&gt;
Il nous reste plus qu&#039;à installer l&#039;interface cgi Web de la gestion des comptes mails.&amp;lt;br /&amp;gt;Pour cela:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;tar zxvf qmailadmin-1.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;cd qmailadmin-1.0.2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;./configure --enable-htmldir=/var/www&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;u&amp;gt;Attention:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Remplacez &amp;lt;tt&amp;gt;--enable-htmldir=/var/www&amp;lt;/tt&amp;gt; par le chemin de votre racine web.&amp;lt;br /&amp;gt; Je suppose que vous savez configurer apache pour que le répertoire de cgi soit valide et fonctionnel.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utilisation, question courantes, etc ... ==&lt;br /&gt;
&lt;br /&gt;
Je vous donne ici brièvement les commande pour créer un nouveau domaine mails, les comptes, etc...&amp;lt;br /&amp;gt; Je suppose bien sûr que vous savez gérez vos DNS pour que le champ MX du domaine pointe vers le serveur de mails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; - Ajouter un nouveau domaine que votre serveur de mails va héberger :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/vpopmail/vadddomain domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Vous allez devoir rentrer le mot de passe du &amp;quot;postmaster&amp;quot;, c&#039;est-à-dire de l&#039;administrateur mails de ce domaine.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour créer les comptes pop, utiliser qmailadmin. Tapez l&#039;url dans votre navigateur pour pointer sur le cgi de qmailadmin, dans user laissez &amp;quot;postmaster&amp;quot;, dans domaine, mettez le domaine que vous voulez gérer et pour le mot de passe, mettez le mot de passe du postmaster.&amp;lt;br /&amp;gt; Dans l&#039;interface se trouvent tout les liens pour créer les mails etc...&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;- Effacer un domaine:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/var/vpopmail/vdeldomain domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Quand vous configurez votre client mail pour lire les mails reçus, faites attention dans la partie &amp;quot;nom utilisateurs&amp;quot; de mettre de la forme:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;utilisateur@domaine.com&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; car les logiciels de mail mettent par défaut &amp;quot;utilisateur&amp;quot; tout court.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Si lors du démarrage des services vous avez des erreurs du style:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;unable to bind: adresses in use&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ou quelque chose de similaire, c&#039;est que vous avez déjà un serveur de mail et/ou pop3 de lancé. Désinstallez tout autre serveur de mail/pop3 (sendmail, gnu-pop3d,...), vérifiez aussi dans .etc/inetd.conf ou dans /etc/xinet.d/ que les services smtp, pop3 ne sont pas utilisés par d&#039;autres programmes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Lisez les documentations d&#039;utilisation de ezmlm, ezmlm-idx pour la gestion des mailing lists.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Qmailadmin vous permet de &amp;quot;fabriquer&amp;quot; vos propres pages d&#039;administration mail, etc... avec de nombreux exemples installés dans /usr/local/share/qmailadmin&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Pour que vous puissiez gérer les mails d&#039;un domaine, vous devez configurer un MX dans le fichier de zone de ce domaine qui pointe vers votre serveur. Lisez les documentions des serveurs DNS.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; Serge Tchesmeli&lt;br /&gt;
{{LDL}}&lt;/div&gt;</summary>
		<author><name>BasEI</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Qemu&amp;diff=10995</id>
		<title>Qemu</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Qemu&amp;diff=10995"/>
		<updated>2005-12-03T00:19:40Z</updated>

		<summary type="html">&lt;p&gt;BasEI : /* Les raccourcis clavier et le moniteur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Emuler]]&lt;br /&gt;
= Installer et utiliser Qemu =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Installer et utiliser Qemu&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par David Roux, avec la collaboration de Joël Tarlao et Alain Rivest, relu et complété par Erwan Velu&lt;br /&gt;
&lt;br /&gt;
Voici un petit guide pour utiliser Qemu facilement&lt;br /&gt;
&lt;br /&gt;
== Qu&#039;est-ce que Qemu? ==&lt;br /&gt;
&lt;br /&gt;
Dans le monde des émulateurs, Qemu a actuellement le vent en poupe, et nombreux sont ceux qui l&#039;ont adopté pour faire tourner les applications indisponibles pour leur système d&#039;exploitation. Dans notre cas, on appréciera de pouvoir utiliser des logiciels conçus pour Microsoft Windows ou Mac OS sous Linux, mais il sera également possible de faire l&#039;inverse. Son autre avantage est qu&#039;il peut émuler plusieurs architectures, du x86 au PowerPC en passant par le Sun-SPARC, ce qui permet de lancer une foule d&#039;OS différents. De plus, il est important de signaler que Qemu est disponible sous licence GNU LGPL. Pour en savoir plus, le mieux est d&#039;aller faire un tour [http://fabrice.bellard.free.fr/qemu/ ici]&amp;lt;nowiki&amp;gt;; quand à nous, rentrons dans le vif du sujet...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== L&#039;installation ==&lt;br /&gt;
&lt;br /&gt;
On ne le répètera jamais assez, le meilleur moyen d&#039;installer une application est de se servir du système de paquetages de sa distribution qui permet de gérer correctement les dépendances et facilite la tâche en cas de désinstallation.&lt;br /&gt;
&lt;br /&gt;
Il est également préférable d&#039;utiliser la dernière version de QEMU, (0.7.2 au moment de la rédaction de ces lignes) qui doit être disponible en format deb pour testing et RPM pour Mandriva LE 2005-2006. On peut également la trouver la version 0.7.0 dans les branches &amp;quot;unstable&amp;quot; des distributions Linux (Sid, Cooker...). Quoiqu&#039;il en soit, l&#039;installation par cette méthode (urpmi, apt-get,...etc) ne devrait pas poser de problème.&lt;br /&gt;
&lt;br /&gt;
Cependant, pour les possesseurs de machines PC (architecture i386), ce serait passer à côté d&#039;un formidable accélérateur de performance : &#039;&#039;&#039;Kqemu&#039;&#039;&#039;, un module du noyau que Fabrice Bellard souhaite rentabiliser avant de le libérer. Il n&#039;est donc pas libre et vous ne le trouverez pas dans vos distributions. &#039;&#039;&#039;Selon les machines, le gain va de 200% à 600%&#039;&#039;&#039; !!!!! Mais il faut compiler à la main : &lt;br /&gt;
&lt;br /&gt;
La compilation passe par les traditionnels &amp;lt;code&amp;gt;./configure&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# make install&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cependant, la version 0.7.2 ne peut se compiler qu&#039;avec gcc-3.xx alors que la plupart des distributions acutelles sont en GCC-4 (gcc est le compilateur). La coexistence des 2 gcc ne pose généralement pas de problèmes. Donc : &lt;br /&gt;
&lt;br /&gt;
Installer gcc-3.3&lt;br /&gt;
&lt;br /&gt;
extraire qemu. Extraire kqemu en étant dans le répertoire de qemu.&lt;br /&gt;
&lt;br /&gt;
préciser le compilateur utilisé : &amp;lt;code&amp;gt;./configure --cc=gcc-3.3.6&lt;br /&gt;
make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, il peut y avoir un soucis, car votre noyau risque de ne pas être compilé avec ce GCC là... et donc le système refusera de mettre en mémoire le module Kqemu. Il faut donc compiler le module avec gcc 4 : &lt;br /&gt;
&amp;lt;code&amp;gt;cd kqemu&lt;br /&gt;
make clean  &lt;br /&gt;
make&amp;lt;/code&amp;gt;&lt;br /&gt;
ensuite vous pouvez installer le tout : &lt;br /&gt;
&amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt; (en root)&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite faire quelques manipulations pour créer un périphérique un peu particulier : &lt;br /&gt;
&amp;lt;code&amp;gt;modprobe kqemu&lt;br /&gt;
mknod /dev/kqemu c 250 0&lt;br /&gt;
chmod 666 /dev/kqemu&amp;lt;/code&amp;gt;&lt;br /&gt;
Ceci peut être placé dans un fichier pour être effectué au lancement du système : dans /etc/rc.local par exemple.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour les dépendances de Qemu 0.6.1, vous aurez besoin des paquets suivants: libc6 (&amp;gt;=2.3.2-ds1-4), libsdl (&amp;gt;=1.2), zlib1g (&amp;gt;=1.1.2.1), vgabios (&amp;gt;=0.4c), bochsbios (&amp;gt;=2.1.1). Les noms des paquets peuvent varier suivant les distributions.&lt;br /&gt;
&lt;br /&gt;
== Comment ça marche? ==&lt;br /&gt;
&lt;br /&gt;
=== Premiers pas avec un live-CD ===&lt;br /&gt;
&lt;br /&gt;
On va se faire la main avec un truc tout simple, l&#039;émulation d&#039;un système d&#039;exploitation en live-CD. Il ne sera pas nécessaire d&#039;écrire sur le disque dur ni même graver le fichier ISO que l&#039;on vient de télécharger sur un site internet. Dans la suite de cet article, ce fichier ISO s&#039;appelera &amp;quot;live.iso&amp;quot;. Pour démarrer cette image iso avec Qemu, Il suffit de se rendre dans le répertoire qui contient l&#039;image et lancer Qemu, en tapant:&lt;br /&gt;
&lt;br /&gt;
cd /home/toto/repertoire_ou_est_l&#039;image_iso&amp;lt;br /&amp;gt; qemu -cdrom live.iso&lt;br /&gt;
&lt;br /&gt;
Il n&#039;est pas nécessaire d&#039;être « root » pour exécuter QEMU, tout peut être fait par un simple utilisateur.&lt;br /&gt;
&lt;br /&gt;
Une fenêtre s&#039;ouvre et le système émulé se lance. Pour utiliser la souris de votre système virtuel, il suffit de cliquer dans la fenêtre d&#039;émulation. Pour libérer la souris de la fênetre d&#039;émulation, il suffit d&#039;appuyer sur les touches &#039;ctrl&#039; &amp;amp; &#039;alt&#039; en même temps. Pour le pavé numérique, Qemu le considèrera toujours comme inactif donc il faudra presser la touche &amp;quot;VerrNum&amp;quot;. Attention aux mots de passe car on peut se retrouver avec le clavier numérique vérouiller avec le voyant &amp;quot;numlock&amp;quot; éteint&#039;&#039;&#039; ! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si l&#039;on souhaite démarrer sur un vrai céderom, il suffit d&#039;utiliser la syntaxe &amp;lt;code&amp;gt;-cdrom /dev/cdrom&amp;lt;/code&amp;gt; . Qemu utilise directement le périphérique bloc, il ne faut donc pas monter le cédérom avant l&#039;éxecution de Qemu.&lt;br /&gt;
&lt;br /&gt;
Le système virtuel peut également accéder au réseau grâce à l&#039;option &amp;lt;code&amp;gt;-user-net&amp;lt;/code&amp;gt; : dans ce mode, Qemu utilisera vos interfaces réseaux pour accéder a votre réseau local ou a Internet par exemple. La carte son virtuelle, une carte-son SB16, peut être activée avec l&#039;option &amp;lt;code&amp;gt;-enable-audio&amp;lt;/code&amp;gt;. Compte-tenu que le système émulé est tout de même plus lent que lors d&#039;une utilisation normale, et que la charge sur le processeur de l&#039;hôte est importante, faites d&#039;abord un essai avec un live-CD &amp;quot;léger&amp;quot;, genre DamnSmall Linux et ce surtout si votre machine n&#039;est pas de la première jeunesse;&lt;br /&gt;
&lt;br /&gt;
Qemu offre par défaut au système émulé 128 Mo de mémoire vive, il faut donc au moins en avoir le double sur la machine hôte (plus, c&#039;est mieux). Pour info, j&#039;ai fait tous ces tests sur un Athlon XP1800+ avec 512 Mo de RAM, et mon processeur tournait à 100% tout le temps: n&#039;essayez pas sur un 486 ;-)&lt;br /&gt;
&lt;br /&gt;
=== Installation d&#039;un système &amp;quot;en dur&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Dans ce mode, Qemu est capable d&#039;utiliser un fichier de votre disque dur et de le transformer en un disque dur virtuel. Pour l&#039;exemple, on installera un Microsoft Windows 98, sur une image de disque dur de 2Go que l&#039;on appelle &amp;quot;hd.img&amp;quot; et située dans un répertoire /home/toto/invite/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;mkdir /home/toto/invite/&amp;lt;br /&amp;gt; cd /home/toto/invite/&amp;lt;br /&amp;gt; qemu-img create hd.img 2G&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La commande qemu-img permet de créer une image disque de la taille spécifiée mais on aurais pu également le faire avec l&#039;outil dd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;dd of=hd.img bs=2048 seek=1000000 count=0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans notre répertoire « invite », on placera aussi une image du CD d&#039;installation nommée msw.iso ainsi qu&#039;une image de sa disquette de boot « mswboot.img ».&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;qemu -k fr -fda mswboot.img -cdrom msw.iso -hda hd.img -user-net -boot a&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande permet donc de demarrer Qemu avec une disquette, un disque dur et un cdrom virtuel correspondant respectivement a la disquette d&#039;amorcage de Microsoft Windows 98, le disque virtuel que l&#039;on a créé et l&#039;image ISO de Windows 98. L&#039;option « boot a » indique que l&#039;on souhaite démarrer le système virtuel depuis le lecteur de disquette virtuel. Il n&#039;est pas nécessaire d&#039;utiliser une disquette d&#039;amorçage si l&#039;image ISO est « amorçable ».&lt;br /&gt;
&lt;br /&gt;
Vous remarquez que j&#039;ai mis des options dont je n&#039;ai pas forcément besoin tout de suite (-cdrom, -user-net), mais comme on va devoir redémarrer notre système virtuel de nombreuses fois pendant l&#039;installation, et donc relancer Qemu, on fera un copier-coller de la commande au lieu de tout retaper. j&#039;ai aussi mis le clavier en français avec &amp;lt;code&amp;gt;-k fr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de Windows débute, on va tout d&#039;abord créer notre partition et l&#039;activer avec Fdisk puis on reboot. On formatte ensuite le disque C: puis on reboot a nouveau. Ceci fait partie de la procédure standard d&#039;installation de Windows, ce n&#039;est pas spécifique a Qemu. Attention, le lecteur de cdrom porte parfois la lettre R: (donc pas de panique si ça ne marche pas avec D:). On est arrive ensuite dans la partie graphique de l&#039;installation, je ne rentre pas dans les détails. Au reboot suivant, on relancera le système en partant du disque dur virtuel et non plus à partir de la disquette en remplaçant &amp;lt;code&amp;gt;-boot a&amp;lt;/code&amp;gt; par &amp;lt;code&amp;gt;-boot c&amp;lt;/code&amp;gt;. Lorsque l&#039;installation est terminée, on a accès au système virtuel avec la commande suivante, toujours en étant dans le répertoire où se trouve l&#039;image-disque:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;qemu -k fr -hda hd.img -cdrom /dev/cdrom -user-net -boot c&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir démarrer avec l&#039;option &amp;lt;code&amp;gt;-cdrom /dev/cdrom&amp;lt;/code&amp;gt;, assurez vous qu&#039;un céderom est présent dans le lecteur avant le démarrage de Qemu.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai volontairement oublié certaines options que l&#039;on va détailler dans le chapitre suivant.&lt;br /&gt;
&lt;br /&gt;
== Les principales options ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-hda [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-hda [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: sert à spécifier l&#039;image de disque dur qui va servir pendant l&#039;émulation; il peut aussi s&#039;agir d&#039;un périphérique ou d&#039;une partition, comme /dev/hda1; Il y a aussi &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-hdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-hdc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-hdd&amp;lt;/code&amp;gt;, pour simuler d&#039;autres partitions, mais on ne peut pas utiliser &amp;lt;code&amp;gt;-hdc&amp;lt;/code&amp;gt; en même temps que &amp;lt;code&amp;gt;-cdrom&amp;lt;/code&amp;gt;.&#039;&#039;&#039; L&#039;utilisation de partitions &amp;quot;réelles&amp;quot; présente des risques pour le disque dur, préfèrez les images&#039;&#039;&#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;-cdrom [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-cdrom [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: même chose que précèdemment, mais là il est question du cdrom. le périphérique peut être un lien (/dev/cdrom) ou sa cible (/dev/hdc); &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-cdrom&amp;lt;/code&amp;gt; peut utiliser n&#039;importe quel hdX qui correspond à un lecteur cédérom qui contient un cédérom mais qui n&#039;est pas monté.&lt;br /&gt;
* &amp;lt;code&amp;gt;-fda [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-fda [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: comme pour -cdrom, version disquette, et il y a aussi &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-fdb&amp;lt;/code&amp;gt;, et donc certainement la possibilité d&#039;utiliser 2 lecteurs de disquettes.&lt;br /&gt;
* &amp;lt;code&amp;gt;-boot X&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: où X peut être a (floppy ou image), c (partition virtuelle), ou d (lecteur CD ou image), soit le périphérique sur lequel on va démarrer. Si l&#039;on utilise qu&#039;un seul périphérique (voir options précédentes), cette option est inutile. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-enable-audio&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet le support du son en émulant une carte-son SB16. celà pose quelques problèmes avec l&#039;OS de Bill, qui, suivant les versions, peut avoir des soucis avec cette carte. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-m [memoire]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet de spécifier la quantité de mémoire vive pour le système émulé; ne mettez pas la taille totale de votre mémoire car il faut en laisser pour le système hôte. Par défaut, cette valeur est de 128. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-k [lang]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: (à partir de Qemu 0.6.1) précise le schéma du clavier: en-gb, en-us, fr, fr-ca, fr-be, fr-ch,...etc. par défaut, c&#039;est en-us, mais une fois le système émulé lancé, c&#039;est lui qui choisira le schéma (sauf pour les consoles virtuelles de Qemu). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-snapshot&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour écrire dans un fichier temporaire, au lieu d&#039;une partition ou d&#039;une image disque. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-nographic&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: désactive l&#039;interface graphique, la sortie devenant la console ou a été lancé Qemu; c&#039;est utile pour les systèmes en mode texte (Linux texte, Msdos...). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-full-screen&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: l&#039;option parle d&#039;elle même. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Le réseau ===&lt;br /&gt;
&lt;br /&gt;
Par défaut, le réseau de l&#039;OS invité transitera sur l&#039;hôte par le biais de l&#039;interface &amp;lt;code&amp;gt;/dev/net/tun0&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;; toutefois, ce n&#039;est pas le procédé le plus simple, car celle-ci n&#039;est pas forcément présente sur le système et la créer peut nécessiter une compilation du noyau (rarement avec les distributions récentes). Je lui préfèrerai donc, pour plus de compatibilité, le mode &amp;quot;user&amp;quot;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-user-net&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: active le mode &amp;quot;user&amp;quot; pour le réseau; Qemu se comporte comme un serveur DHCP, qui attribut au système émulé l&#039;adresse 10.0.2.15; ce système se connecte via une passerelle virtuelle à 10.0.2.2, et le DNS est à 10.0.2.3. L&#039;inconvénient de ce procédé est que le système invité &amp;quot;voit&amp;quot; l&#039;hôte, mais pas l&#039;inverse. Attention, Microsoft Windows ne trouve pas toujours le serveur DHCP, il vaudra mieux le configurer avec une IP fixe. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-smb [dossier]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet à l&#039;invité d&#039;accéder à un dossier partagé sur l&#039;hôte, qui devra être équipé d&#039;un serveur Samba; l&#039;adresse de ce serveur pour l&#039;invité est 10.0.2.4. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-tftp [préfixe]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: active un serveur TFTP à l&#039;adresse 10.0.2.2. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Les raccourcis clavier et le moniteur ===&lt;br /&gt;
&lt;br /&gt;
Il est aussi possible d&#039;utiliser des raccourcis clavier, pour accéder à des fonctions supplémentaires:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-f&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: passe en plein-écran. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-1&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: affichage graphique de l&#039;invité. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-2&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: passage au moniteur Qemu; attention, dans ces deux options, le 1 et le 2 sont à taper sur les chiffres hauts du clavier, pas sur le pavé numérique. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour arrêter le contrôle de la souris dans l&#039;invité, alors que pour l&#039;activer, on avait cliqué dans la fenêtre de Qemu. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le moniteur propose quelques commandes supplémentaires:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: affiche une liste des sous-rubriques d&#039;informations. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;eject [périphérique amovible]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: éjecte un CD ou une disquette; on peut ajouter l&#039;option &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; pour forcer l&#039;éjection.&lt;br /&gt;
* &amp;lt;code&amp;gt;change [périphérique ou image]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet de changer de média amovible, périphérique ou image. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;quit&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour quitter Qemu (sans arrêter l&#039;OS émulé proprement). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avant la version 0.6.1, les raccourcis clavier étaient à base de &amp;quot;ctrl-shift...&amp;quot;.Il existe d&#039;autres commandes, il n&#039;a été présenté que celles qui sont réelement indispensables. Pour plus de détails, je vous recommande de lire le très complet manuel de Qemu qui se trouve dans &amp;lt;code&amp;gt;/usr/share/doc/qemu/&amp;lt;/code&amp;gt;si vous avez installé un paquet binaire, ou dans &amp;lt;code&amp;gt;/usr/local/share/doc/qemu/&amp;lt;/code&amp;gt; si vous avez installé à partir des sources. Le site officiel propose aussi une FAQ, et un forum. Enfin, les archives de la liste de diffusion de Lea-aide fourmillent de questions et de réponses, qui sont d&#039;ailleurs à la base de cet article.&lt;br /&gt;
&lt;br /&gt;
=== Une petite astuce ===&lt;br /&gt;
&lt;br /&gt;
Si on utilise très souvent Qemu, il peut être pénible de taper toujours la même longue commande. On s&#039;en sort en faisant un script-shell très simple, avec son éditeur de texte favori:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; cd /chemin/du/dossier_ou_est_image/&amp;lt;br /&amp;gt; qemu -k fr -cdrom cd_de_OS.iso -hda&amp;lt;br /&amp;gt; hd.img -user-net -smb /home/toto/partage -boot c&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On sauvegarde ce fichier puis on le rend le exécutable. On se fait un raccourci dans son menu, ou sur le bureau, avec le chemin complet du script en guise de commande: on vient de se simplifier la vie. Notez que je charge l&#039;image du CD d&#039;installation, au lieu de penser à mettre un CD dans le lecteur: si j&#039;ai besoin, je pourrais changer via le moniteur de Qemu.&lt;br /&gt;
&lt;br /&gt;
== Plus... ==&lt;br /&gt;
&lt;br /&gt;
Sachez enfin qu&#039;il existe un module additionnel pour accélérer l&#039;émulation, Kqemu; celui-ci n&#039;est, hélas, pas libre.Il n&#039;est disponible qu&#039;en tar.gz, et doit être placé dans le dossier où l&#039;on a extrait les sources de Qemu avant la compilation de l&#039;ensemble.Il faut préciser que Qemu ne présente normalement aucun risque pour le système hôte, mais vu la charge sur le processeur, je recommande de s&#039;assurer que celui-ci est convenablement refroidi, et éventuellement de surveiller la température avec un utilitaire adéquat (Gkrellm par exemple); mon Athlon prend facilement 5°C dans ce cas, et c&#039;est un modèle plutôt stable: inutile de préciser que c&#039;est à vos risques et périls, vous êtes seul responsable de votre matériel. L&#039;utilisation de Kqemu permet un gain de performance allant jusqu&#039;a X 10 : dans ce contexte, la différence de temps d&#039;exécution entre un OS natif et d&#039;un OS émulé par Qemu est de l&#039;orde de 20%.&lt;br /&gt;
&lt;br /&gt;
Voilà, j&#039;espère que cet article est assez complet et simple à comprendre: c&#039;était le but recherché.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par David Roux le 20/05/2005.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 20/05/2005, David Roux&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Autres ressources=&lt;br /&gt;
&lt;br /&gt;
* [http://fabrice.bellard.free.fr/qemu/ La page de QEmu]&lt;/div&gt;</summary>
		<author><name>BasEI</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Qemu&amp;diff=10994</id>
		<title>Qemu</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Qemu&amp;diff=10994"/>
		<updated>2005-12-03T00:14:12Z</updated>

		<summary type="html">&lt;p&gt;BasEI : /* Installation d&amp;#039;un système &amp;quot;en dur&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Emuler]]&lt;br /&gt;
= Installer et utiliser Qemu =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Installer et utiliser Qemu&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par David Roux, avec la collaboration de Joël Tarlao et Alain Rivest, relu et complété par Erwan Velu&lt;br /&gt;
&lt;br /&gt;
Voici un petit guide pour utiliser Qemu facilement&lt;br /&gt;
&lt;br /&gt;
== Qu&#039;est-ce que Qemu? ==&lt;br /&gt;
&lt;br /&gt;
Dans le monde des émulateurs, Qemu a actuellement le vent en poupe, et nombreux sont ceux qui l&#039;ont adopté pour faire tourner les applications indisponibles pour leur système d&#039;exploitation. Dans notre cas, on appréciera de pouvoir utiliser des logiciels conçus pour Microsoft Windows ou Mac OS sous Linux, mais il sera également possible de faire l&#039;inverse. Son autre avantage est qu&#039;il peut émuler plusieurs architectures, du x86 au PowerPC en passant par le Sun-SPARC, ce qui permet de lancer une foule d&#039;OS différents. De plus, il est important de signaler que Qemu est disponible sous licence GNU LGPL. Pour en savoir plus, le mieux est d&#039;aller faire un tour [http://fabrice.bellard.free.fr/qemu/ ici]&amp;lt;nowiki&amp;gt;; quand à nous, rentrons dans le vif du sujet...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== L&#039;installation ==&lt;br /&gt;
&lt;br /&gt;
On ne le répètera jamais assez, le meilleur moyen d&#039;installer une application est de se servir du système de paquetages de sa distribution qui permet de gérer correctement les dépendances et facilite la tâche en cas de désinstallation.&lt;br /&gt;
&lt;br /&gt;
Il est également préférable d&#039;utiliser la dernière version de QEMU, (0.7.2 au moment de la rédaction de ces lignes) qui doit être disponible en format deb pour testing et RPM pour Mandriva LE 2005-2006. On peut également la trouver la version 0.7.0 dans les branches &amp;quot;unstable&amp;quot; des distributions Linux (Sid, Cooker...). Quoiqu&#039;il en soit, l&#039;installation par cette méthode (urpmi, apt-get,...etc) ne devrait pas poser de problème.&lt;br /&gt;
&lt;br /&gt;
Cependant, pour les possesseurs de machines PC (architecture i386), ce serait passer à côté d&#039;un formidable accélérateur de performance : &#039;&#039;&#039;Kqemu&#039;&#039;&#039;, un module du noyau que Fabrice Bellard souhaite rentabiliser avant de le libérer. Il n&#039;est donc pas libre et vous ne le trouverez pas dans vos distributions. &#039;&#039;&#039;Selon les machines, le gain va de 200% à 600%&#039;&#039;&#039; !!!!! Mais il faut compiler à la main : &lt;br /&gt;
&lt;br /&gt;
La compilation passe par les traditionnels &amp;lt;code&amp;gt;./configure&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# make install&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cependant, la version 0.7.2 ne peut se compiler qu&#039;avec gcc-3.xx alors que la plupart des distributions acutelles sont en GCC-4 (gcc est le compilateur). La coexistence des 2 gcc ne pose généralement pas de problèmes. Donc : &lt;br /&gt;
&lt;br /&gt;
Installer gcc-3.3&lt;br /&gt;
&lt;br /&gt;
extraire qemu. Extraire kqemu en étant dans le répertoire de qemu.&lt;br /&gt;
&lt;br /&gt;
préciser le compilateur utilisé : &amp;lt;code&amp;gt;./configure --cc=gcc-3.3.6&lt;br /&gt;
make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, il peut y avoir un soucis, car votre noyau risque de ne pas être compilé avec ce GCC là... et donc le système refusera de mettre en mémoire le module Kqemu. Il faut donc compiler le module avec gcc 4 : &lt;br /&gt;
&amp;lt;code&amp;gt;cd kqemu&lt;br /&gt;
make clean  &lt;br /&gt;
make&amp;lt;/code&amp;gt;&lt;br /&gt;
ensuite vous pouvez installer le tout : &lt;br /&gt;
&amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt; (en root)&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite faire quelques manipulations pour créer un périphérique un peu particulier : &lt;br /&gt;
&amp;lt;code&amp;gt;modprobe kqemu&lt;br /&gt;
mknod /dev/kqemu c 250 0&lt;br /&gt;
chmod 666 /dev/kqemu&amp;lt;/code&amp;gt;&lt;br /&gt;
Ceci peut être placé dans un fichier pour être effectué au lancement du système : dans /etc/rc.local par exemple.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour les dépendances de Qemu 0.6.1, vous aurez besoin des paquets suivants: libc6 (&amp;gt;=2.3.2-ds1-4), libsdl (&amp;gt;=1.2), zlib1g (&amp;gt;=1.1.2.1), vgabios (&amp;gt;=0.4c), bochsbios (&amp;gt;=2.1.1). Les noms des paquets peuvent varier suivant les distributions.&lt;br /&gt;
&lt;br /&gt;
== Comment ça marche? ==&lt;br /&gt;
&lt;br /&gt;
=== Premiers pas avec un live-CD ===&lt;br /&gt;
&lt;br /&gt;
On va se faire la main avec un truc tout simple, l&#039;émulation d&#039;un système d&#039;exploitation en live-CD. Il ne sera pas nécessaire d&#039;écrire sur le disque dur ni même graver le fichier ISO que l&#039;on vient de télécharger sur un site internet. Dans la suite de cet article, ce fichier ISO s&#039;appelera &amp;quot;live.iso&amp;quot;. Pour démarrer cette image iso avec Qemu, Il suffit de se rendre dans le répertoire qui contient l&#039;image et lancer Qemu, en tapant:&lt;br /&gt;
&lt;br /&gt;
cd /home/toto/repertoire_ou_est_l&#039;image_iso&amp;lt;br /&amp;gt; qemu -cdrom live.iso&lt;br /&gt;
&lt;br /&gt;
Il n&#039;est pas nécessaire d&#039;être « root » pour exécuter QEMU, tout peut être fait par un simple utilisateur.&lt;br /&gt;
&lt;br /&gt;
Une fenêtre s&#039;ouvre et le système émulé se lance. Pour utiliser la souris de votre système virtuel, il suffit de cliquer dans la fenêtre d&#039;émulation. Pour libérer la souris de la fênetre d&#039;émulation, il suffit d&#039;appuyer sur les touches &#039;ctrl&#039; &amp;amp; &#039;alt&#039; en même temps. Pour le pavé numérique, Qemu le considèrera toujours comme inactif donc il faudra presser la touche &amp;quot;VerrNum&amp;quot;. Attention aux mots de passe car on peut se retrouver avec le clavier numérique vérouiller avec le voyant &amp;quot;numlock&amp;quot; éteint&#039;&#039;&#039; ! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si l&#039;on souhaite démarrer sur un vrai céderom, il suffit d&#039;utiliser la syntaxe &amp;lt;code&amp;gt;-cdrom /dev/cdrom&amp;lt;/code&amp;gt; . Qemu utilise directement le périphérique bloc, il ne faut donc pas monter le cédérom avant l&#039;éxecution de Qemu.&lt;br /&gt;
&lt;br /&gt;
Le système virtuel peut également accéder au réseau grâce à l&#039;option &amp;lt;code&amp;gt;-user-net&amp;lt;/code&amp;gt; : dans ce mode, Qemu utilisera vos interfaces réseaux pour accéder a votre réseau local ou a Internet par exemple. La carte son virtuelle, une carte-son SB16, peut être activée avec l&#039;option &amp;lt;code&amp;gt;-enable-audio&amp;lt;/code&amp;gt;. Compte-tenu que le système émulé est tout de même plus lent que lors d&#039;une utilisation normale, et que la charge sur le processeur de l&#039;hôte est importante, faites d&#039;abord un essai avec un live-CD &amp;quot;léger&amp;quot;, genre DamnSmall Linux et ce surtout si votre machine n&#039;est pas de la première jeunesse;&lt;br /&gt;
&lt;br /&gt;
Qemu offre par défaut au système émulé 128 Mo de mémoire vive, il faut donc au moins en avoir le double sur la machine hôte (plus, c&#039;est mieux). Pour info, j&#039;ai fait tous ces tests sur un Athlon XP1800+ avec 512 Mo de RAM, et mon processeur tournait à 100% tout le temps: n&#039;essayez pas sur un 486 ;-)&lt;br /&gt;
&lt;br /&gt;
=== Installation d&#039;un système &amp;quot;en dur&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Dans ce mode, Qemu est capable d&#039;utiliser un fichier de votre disque dur et de le transformer en un disque dur virtuel. Pour l&#039;exemple, on installera un Microsoft Windows 98, sur une image de disque dur de 2Go que l&#039;on appelle &amp;quot;hd.img&amp;quot; et située dans un répertoire /home/toto/invite/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;mkdir /home/toto/invite/&amp;lt;br /&amp;gt; cd /home/toto/invite/&amp;lt;br /&amp;gt; qemu-img create hd.img 2G&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La commande qemu-img permet de créer une image disque de la taille spécifiée mais on aurais pu également le faire avec l&#039;outil dd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;dd of=hd.img bs=2048 seek=1000000 count=0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans notre répertoire « invite », on placera aussi une image du CD d&#039;installation nommée msw.iso ainsi qu&#039;une image de sa disquette de boot « mswboot.img ».&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;qemu -k fr -fda mswboot.img -cdrom msw.iso -hda hd.img -user-net -boot a&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande permet donc de demarrer Qemu avec une disquette, un disque dur et un cdrom virtuel correspondant respectivement a la disquette d&#039;amorcage de Microsoft Windows 98, le disque virtuel que l&#039;on a créé et l&#039;image ISO de Windows 98. L&#039;option « boot a » indique que l&#039;on souhaite démarrer le système virtuel depuis le lecteur de disquette virtuel. Il n&#039;est pas nécessaire d&#039;utiliser une disquette d&#039;amorçage si l&#039;image ISO est « amorçable ».&lt;br /&gt;
&lt;br /&gt;
Vous remarquez que j&#039;ai mis des options dont je n&#039;ai pas forcément besoin tout de suite (-cdrom, -user-net), mais comme on va devoir redémarrer notre système virtuel de nombreuses fois pendant l&#039;installation, et donc relancer Qemu, on fera un copier-coller de la commande au lieu de tout retaper. j&#039;ai aussi mis le clavier en français avec &amp;lt;code&amp;gt;-k fr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de Windows débute, on va tout d&#039;abord créer notre partition et l&#039;activer avec Fdisk puis on reboot. On formatte ensuite le disque C: puis on reboot a nouveau. Ceci fait partie de la procédure standard d&#039;installation de Windows, ce n&#039;est pas spécifique a Qemu. Attention, le lecteur de cdrom porte parfois la lettre R: (donc pas de panique si ça ne marche pas avec D:). On est arrive ensuite dans la partie graphique de l&#039;installation, je ne rentre pas dans les détails. Au reboot suivant, on relancera le système en partant du disque dur virtuel et non plus à partir de la disquette en remplaçant &amp;lt;code&amp;gt;-boot a&amp;lt;/code&amp;gt; par &amp;lt;code&amp;gt;-boot c&amp;lt;/code&amp;gt;. Lorsque l&#039;installation est terminée, on a accès au système virtuel avec la commande suivante, toujours en étant dans le répertoire où se trouve l&#039;image-disque:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;qemu -k fr -hda hd.img -cdrom /dev/cdrom -user-net -boot c&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir démarrer avec l&#039;option &amp;lt;code&amp;gt;-cdrom /dev/cdrom&amp;lt;/code&amp;gt;, assurez vous qu&#039;un céderom est présent dans le lecteur avant le démarrage de Qemu.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai volontairement oublié certaines options que l&#039;on va détailler dans le chapitre suivant.&lt;br /&gt;
&lt;br /&gt;
== Les principales options ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-hda [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-hda [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: sert à spécifier l&#039;image de disque dur qui va servir pendant l&#039;émulation; il peut aussi s&#039;agir d&#039;un périphérique ou d&#039;une partition, comme /dev/hda1; Il y a aussi &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-hdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-hdc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-hdd&amp;lt;/code&amp;gt;, pour simuler d&#039;autres partitions, mais on ne peut pas utiliser &amp;lt;code&amp;gt;-hdc&amp;lt;/code&amp;gt; en même temps que &amp;lt;code&amp;gt;-cdrom&amp;lt;/code&amp;gt;.&#039;&#039;&#039; L&#039;utilisation de partitions &amp;quot;réelles&amp;quot; présente des risques pour le disque dur, préfèrez les images&#039;&#039;&#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;-cdrom [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-cdrom [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: même chose que précèdemment, mais là il est question du cdrom. le périphérique peut être un lien (/dev/cdrom) ou sa cible (/dev/hdc); &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-cdrom&amp;lt;/code&amp;gt; peut utiliser n&#039;importe quel hdX qui correspond à un lecteur cédérom qui contient un cédérom mais qui n&#039;est pas monté.&lt;br /&gt;
* &amp;lt;code&amp;gt;-fda [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-fda [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: comme pour -cdrom, version disquette, et il y a aussi &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-fdb&amp;lt;/code&amp;gt;, et donc certainement la possibilité d&#039;utiliser 2 lecteurs de disquettes.&lt;br /&gt;
* &amp;lt;code&amp;gt;-boot X&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: où X peut être a (floppy ou image), c (partition virtuelle), ou d (lecteur CD ou image), soit le périphérique sur lequel on va démarrer. Si l&#039;on utilise qu&#039;un seul périphérique (voir options précédentes), cette option est inutile. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-enable-audio&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet le support du son en émulant une carte-son SB16. celà pose quelques problèmes avec l&#039;OS de Bill, qui, suivant les versions, peut avoir des soucis avec cette carte. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-m [memoire]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet de spécifier la quantité de mémoire vive pour le système émulé; ne mettez pas la taille totale de votre mémoire car il faut en laisser pour le système hôte. Par défaut, cette valeur est de 128. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-k [lang]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: (à partir de Qemu 0.6.1) précise le schéma du clavier: en-gb, en-us, fr, fr-ca, fr-be, fr-ch,...etc. par défaut, c&#039;est en-us, mais une fois le système émulé lancé, c&#039;est lui qui choisira le schéma (sauf pour les consoles virtuelles de Qemu). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-snapshot&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour écrire dans un fichier temporaire, au lieu d&#039;une partition ou d&#039;une image disque. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-nographic&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: désactive l&#039;interface graphique, la sortie devenant la console ou a été lancé Qemu; c&#039;est utile pour les systèmes en mode texte (Linux texte, Msdos...). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-full-screen&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: l&#039;option parle d&#039;elle même. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Le réseau ===&lt;br /&gt;
&lt;br /&gt;
Par défaut, le réseau de l&#039;OS invité transitera sur l&#039;hôte par le biais de l&#039;interface &amp;lt;code&amp;gt;/dev/net/tun0&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;; toutefois, ce n&#039;est pas le procédé le plus simple, car celle-ci n&#039;est pas forcément présente sur le système et la créer peut nécessiter une compilation du noyau (rarement avec les distributions récentes). Je lui préfèrerai donc, pour plus de compatibilité, le mode &amp;quot;user&amp;quot;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-user-net&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: active le mode &amp;quot;user&amp;quot; pour le réseau; Qemu se comporte comme un serveur DHCP, qui attribut au système émulé l&#039;adresse 10.0.2.15; ce système se connecte via une passerelle virtuelle à 10.0.2.2, et le DNS est à 10.0.2.3. L&#039;inconvénient de ce procédé est que le système invité &amp;quot;voit&amp;quot; l&#039;hôte, mais pas l&#039;inverse. Attention, Microsoft Windows ne trouve pas toujours le serveur DHCP, il vaudra mieux le configurer avec une IP fixe. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-smb [dossier]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet à l&#039;invité d&#039;accéder à un dossier partagé sur l&#039;hôte, qui devra être équipé d&#039;un serveur Samba; l&#039;adresse de ce serveur pour l&#039;invité est 10.0.2.4. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-tftp [préfixe]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: active un serveur TFTP à l&#039;adresse 10.0.2.2. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Les raccourcis clavier et le moniteur ===&lt;br /&gt;
&lt;br /&gt;
Il est aussi possible d&#039;utiliser des raccourcis clavier, pour accéder à des fonctions supplémentaires:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-f&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: passe en plein-écran. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-1&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: affichage graphique de l&#039;invité. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-2&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: passage au moniteur Qemu; attention, dans ces deux options, le 1 et le 2 sont à taper sur les chiffres hauts du clavier, pas sur le pavé numérique. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour arrêter le contrôle de la souris dans l&#039;invité, alors que pour l&#039;activer, on avait cliqué dans la fenêtre de Qemu. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le moniteur propose quelques commandes supplémentaires:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: affiche une liste des sous-rubriques d&#039;informations. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;eject [périphérique amovible]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: éjecte un CD ou une disquette; on peut ajouter l&#039;option &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; pour forcer l&#039;éjection.&lt;br /&gt;
* &amp;lt;code&amp;gt;change [périphérique ou image]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet de changer de média amovible, périphérique ou image. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;quit&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour quitter Qemu (sans arrêter l&#039;OS émulé proprement). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avant la version 0.6.1, les raccourcis clavier était à base de &amp;quot;ctrl-shift...&amp;quot;.Il y a existe d&#039;autres commandes, il n&#039;a été présenté que celles qui sont réelement indispensables. Pour plus de détails, je vous recommande de lire le très complet manuel de Qemu et qui se trouve dans &amp;lt;code&amp;gt;/usr/share/doc/qemu/&amp;lt;/code&amp;gt;si vous avez installé un paquet binaire, ou dans &amp;lt;code&amp;gt;/usr/local/share/doc/qemu/&amp;lt;/code&amp;gt; si vous avez installé à partir des sources. Le site officiel propose aussi une FAQ, et un forum. Enfin, les archives de la liste de diffusion de Lea-aide fourmillent de questions et de réponses, qui sont d&#039;ailleurs à la base de cet article.&lt;br /&gt;
&lt;br /&gt;
=== Une petite astuce ===&lt;br /&gt;
&lt;br /&gt;
Si on utilise très souvent Qemu, il peut être pénible de taper toujours la même longue commande. On s&#039;en sort en faisant un script-shell très simple, avec son éditeur de texte favori:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; cd /chemin/du/dossier_ou_est_image/&amp;lt;br /&amp;gt; qemu -k fr -cdrom cd_de_OS.iso -hda&amp;lt;br /&amp;gt; hd.img -user-net -smb /home/toto/partage -boot c&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On sauvegarde ce fichier puis on le rend le exécutable. On se fait un raccourci dans son menu, ou sur le bureau, avec le chemin complet du script en guise de commande: on vient de se simplifier la vie. Notez que je charge l&#039;image du CD d&#039;installation, au lieu de penser à mettre un CD dans le lecteur: si j&#039;ai besoin, je pourrais changer via le moniteur de Qemu.&lt;br /&gt;
&lt;br /&gt;
== Plus... ==&lt;br /&gt;
&lt;br /&gt;
Sachez enfin qu&#039;il existe un module additionnel pour accélérer l&#039;émulation, Kqemu; celui-ci n&#039;est, hélas, pas libre.Il n&#039;est disponible qu&#039;en tar.gz, et doit être placé dans le dossier où l&#039;on a extrait les sources de Qemu avant la compilation de l&#039;ensemble.Il faut préciser que Qemu ne présente normalement aucun risque pour le système hôte, mais vu la charge sur le processeur, je recommande de s&#039;assurer que celui-ci est convenablement refroidi, et éventuellement de surveiller la température avec un utilitaire adéquat (Gkrellm par exemple); mon Athlon prend facilement 5°C dans ce cas, et c&#039;est un modèle plutôt stable: inutile de préciser que c&#039;est à vos risques et périls, vous êtes seul responsable de votre matériel. L&#039;utilisation de Kqemu permet un gain de performance allant jusqu&#039;a X 10 : dans ce contexte, la différence de temps d&#039;exécution entre un OS natif et d&#039;un OS émulé par Qemu est de l&#039;orde de 20%.&lt;br /&gt;
&lt;br /&gt;
Voilà, j&#039;espère que cet article est assez complet et simple à comprendre: c&#039;était le but recherché.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par David Roux le 20/05/2005.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 20/05/2005, David Roux&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Autres ressources=&lt;br /&gt;
&lt;br /&gt;
* [http://fabrice.bellard.free.fr/qemu/ La page de QEmu]&lt;/div&gt;</summary>
		<author><name>BasEI</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Qemu&amp;diff=10993</id>
		<title>Qemu</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Qemu&amp;diff=10993"/>
		<updated>2005-12-03T00:10:19Z</updated>

		<summary type="html">&lt;p&gt;BasEI : /* Premiers pas avec un live-CD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Emuler]]&lt;br /&gt;
= Installer et utiliser Qemu =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Installer et utiliser Qemu&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par David Roux, avec la collaboration de Joël Tarlao et Alain Rivest, relu et complété par Erwan Velu&lt;br /&gt;
&lt;br /&gt;
Voici un petit guide pour utiliser Qemu facilement&lt;br /&gt;
&lt;br /&gt;
== Qu&#039;est-ce que Qemu? ==&lt;br /&gt;
&lt;br /&gt;
Dans le monde des émulateurs, Qemu a actuellement le vent en poupe, et nombreux sont ceux qui l&#039;ont adopté pour faire tourner les applications indisponibles pour leur système d&#039;exploitation. Dans notre cas, on appréciera de pouvoir utiliser des logiciels conçus pour Microsoft Windows ou Mac OS sous Linux, mais il sera également possible de faire l&#039;inverse. Son autre avantage est qu&#039;il peut émuler plusieurs architectures, du x86 au PowerPC en passant par le Sun-SPARC, ce qui permet de lancer une foule d&#039;OS différents. De plus, il est important de signaler que Qemu est disponible sous licence GNU LGPL. Pour en savoir plus, le mieux est d&#039;aller faire un tour [http://fabrice.bellard.free.fr/qemu/ ici]&amp;lt;nowiki&amp;gt;; quand à nous, rentrons dans le vif du sujet...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== L&#039;installation ==&lt;br /&gt;
&lt;br /&gt;
On ne le répètera jamais assez, le meilleur moyen d&#039;installer une application est de se servir du système de paquetages de sa distribution qui permet de gérer correctement les dépendances et facilite la tâche en cas de désinstallation.&lt;br /&gt;
&lt;br /&gt;
Il est également préférable d&#039;utiliser la dernière version de QEMU, (0.7.2 au moment de la rédaction de ces lignes) qui doit être disponible en format deb pour testing et RPM pour Mandriva LE 2005-2006. On peut également la trouver la version 0.7.0 dans les branches &amp;quot;unstable&amp;quot; des distributions Linux (Sid, Cooker...). Quoiqu&#039;il en soit, l&#039;installation par cette méthode (urpmi, apt-get,...etc) ne devrait pas poser de problème.&lt;br /&gt;
&lt;br /&gt;
Cependant, pour les possesseurs de machines PC (architecture i386), ce serait passer à côté d&#039;un formidable accélérateur de performance : &#039;&#039;&#039;Kqemu&#039;&#039;&#039;, un module du noyau que Fabrice Bellard souhaite rentabiliser avant de le libérer. Il n&#039;est donc pas libre et vous ne le trouverez pas dans vos distributions. &#039;&#039;&#039;Selon les machines, le gain va de 200% à 600%&#039;&#039;&#039; !!!!! Mais il faut compiler à la main : &lt;br /&gt;
&lt;br /&gt;
La compilation passe par les traditionnels &amp;lt;code&amp;gt;./configure&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# make install&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cependant, la version 0.7.2 ne peut se compiler qu&#039;avec gcc-3.xx alors que la plupart des distributions acutelles sont en GCC-4 (gcc est le compilateur). La coexistence des 2 gcc ne pose généralement pas de problèmes. Donc : &lt;br /&gt;
&lt;br /&gt;
Installer gcc-3.3&lt;br /&gt;
&lt;br /&gt;
extraire qemu. Extraire kqemu en étant dans le répertoire de qemu.&lt;br /&gt;
&lt;br /&gt;
préciser le compilateur utilisé : &amp;lt;code&amp;gt;./configure --cc=gcc-3.3.6&lt;br /&gt;
make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, il peut y avoir un soucis, car votre noyau risque de ne pas être compilé avec ce GCC là... et donc le système refusera de mettre en mémoire le module Kqemu. Il faut donc compiler le module avec gcc 4 : &lt;br /&gt;
&amp;lt;code&amp;gt;cd kqemu&lt;br /&gt;
make clean  &lt;br /&gt;
make&amp;lt;/code&amp;gt;&lt;br /&gt;
ensuite vous pouvez installer le tout : &lt;br /&gt;
&amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt; (en root)&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite faire quelques manipulations pour créer un périphérique un peu particulier : &lt;br /&gt;
&amp;lt;code&amp;gt;modprobe kqemu&lt;br /&gt;
mknod /dev/kqemu c 250 0&lt;br /&gt;
chmod 666 /dev/kqemu&amp;lt;/code&amp;gt;&lt;br /&gt;
Ceci peut être placé dans un fichier pour être effectué au lancement du système : dans /etc/rc.local par exemple.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour les dépendances de Qemu 0.6.1, vous aurez besoin des paquets suivants: libc6 (&amp;gt;=2.3.2-ds1-4), libsdl (&amp;gt;=1.2), zlib1g (&amp;gt;=1.1.2.1), vgabios (&amp;gt;=0.4c), bochsbios (&amp;gt;=2.1.1). Les noms des paquets peuvent varier suivant les distributions.&lt;br /&gt;
&lt;br /&gt;
== Comment ça marche? ==&lt;br /&gt;
&lt;br /&gt;
=== Premiers pas avec un live-CD ===&lt;br /&gt;
&lt;br /&gt;
On va se faire la main avec un truc tout simple, l&#039;émulation d&#039;un système d&#039;exploitation en live-CD. Il ne sera pas nécessaire d&#039;écrire sur le disque dur ni même graver le fichier ISO que l&#039;on vient de télécharger sur un site internet. Dans la suite de cet article, ce fichier ISO s&#039;appelera &amp;quot;live.iso&amp;quot;. Pour démarrer cette image iso avec Qemu, Il suffit de se rendre dans le répertoire qui contient l&#039;image et lancer Qemu, en tapant:&lt;br /&gt;
&lt;br /&gt;
cd /home/toto/repertoire_ou_est_l&#039;image_iso&amp;lt;br /&amp;gt; qemu -cdrom live.iso&lt;br /&gt;
&lt;br /&gt;
Il n&#039;est pas nécessaire d&#039;être « root » pour exécuter QEMU, tout peut être fait par un simple utilisateur.&lt;br /&gt;
&lt;br /&gt;
Une fenêtre s&#039;ouvre et le système émulé se lance. Pour utiliser la souris de votre système virtuel, il suffit de cliquer dans la fenêtre d&#039;émulation. Pour libérer la souris de la fênetre d&#039;émulation, il suffit d&#039;appuyer sur les touches &#039;ctrl&#039; &amp;amp; &#039;alt&#039; en même temps. Pour le pavé numérique, Qemu le considèrera toujours comme inactif donc il faudra presser la touche &amp;quot;VerrNum&amp;quot;. Attention aux mots de passe car on peut se retrouver avec le clavier numérique vérouiller avec le voyant &amp;quot;numlock&amp;quot; éteint&#039;&#039;&#039; ! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si l&#039;on souhaite démarrer sur un vrai céderom, il suffit d&#039;utiliser la syntaxe &amp;lt;code&amp;gt;-cdrom /dev/cdrom&amp;lt;/code&amp;gt; . Qemu utilise directement le périphérique bloc, il ne faut donc pas monter le cédérom avant l&#039;éxecution de Qemu.&lt;br /&gt;
&lt;br /&gt;
Le système virtuel peut également accéder au réseau grâce à l&#039;option &amp;lt;code&amp;gt;-user-net&amp;lt;/code&amp;gt; : dans ce mode, Qemu utilisera vos interfaces réseaux pour accéder a votre réseau local ou a Internet par exemple. La carte son virtuelle, une carte-son SB16, peut être activée avec l&#039;option &amp;lt;code&amp;gt;-enable-audio&amp;lt;/code&amp;gt;. Compte-tenu que le système émulé est tout de même plus lent que lors d&#039;une utilisation normale, et que la charge sur le processeur de l&#039;hôte est importante, faites d&#039;abord un essai avec un live-CD &amp;quot;léger&amp;quot;, genre DamnSmall Linux et ce surtout si votre machine n&#039;est pas de la première jeunesse;&lt;br /&gt;
&lt;br /&gt;
Qemu offre par défaut au système émulé 128 Mo de mémoire vive, il faut donc au moins en avoir le double sur la machine hôte (plus, c&#039;est mieux). Pour info, j&#039;ai fait tous ces tests sur un Athlon XP1800+ avec 512 Mo de RAM, et mon processeur tournait à 100% tout le temps: n&#039;essayez pas sur un 486 ;-)&lt;br /&gt;
&lt;br /&gt;
=== Installation d&#039;un système &amp;quot;en dur&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Dans ce mode, Qemu est capable d&#039;utiliser un fichier de votre disque dur et de le transformer en un disque dur virtuel. Pour l&#039;exemple, on installera un Microsoft Windows 98, sur une image de disque dur de 2Go que l&#039;on appelle &amp;quot;hd.img&amp;quot; et située dans un répertoire /home/toto/invite/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;mkdir /home/toto/invite/&amp;lt;br /&amp;gt; cd /home/toto/invite/&amp;lt;br /&amp;gt; qemu-img create hd.img 2G&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La commande qemu-img permet de créer une image disque de la taille spécifiée mais on aurais pu également le faire avec l&#039;outil dd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;dd of=hd.img bs=2048 seek=1000000 count=0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans notre répertoire « invite », on placera aussi une image du CD d&#039;installation nommée msw.iso ainsi qu&#039;une image de sa disquette de boot « mswboot.img ».&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;qemu -k fr -fda mswboot.img -cdrom msw.iso -hda hd.img -user-net -boot a&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande permet donc de demarrer Qemu avec une disquette, un disque dur et un cdrom virtuel correspondant respectivement a la disquette d&#039;amorcage de Microsoft Windows 98, le disque virtuel que l&#039;on a créé et l&#039;image ISO de Windows 98. L&#039;option « boot a » indique que l&#039;on souhaite démarrer le système virtuel depuis le lecteur de disquette virtuel. Il n&#039;est pas nécessaire d&#039;utiliser une disquette d&#039;amorçage si l&#039;image ISO est « amorçable ».&lt;br /&gt;
&lt;br /&gt;
Vous remarquez que j&#039;ai mis des options dont je n&#039;ai pas forcément besoin tout de suite (-cdrom, -user-net), mais comme on va devoir redémarrer notre système virtuel de nombreuses fois pendant l&#039;installation, et donc relancer Qemu, on fera un copier-coller de la commande au lieu de tout retaper. j&#039;ai aussi mis le clavier en français avec &amp;lt;code&amp;gt;-k fr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de Windows débute, on va tout d&#039;abord créer notre partition et l&#039;activer avec Fdisk puis on reboot. On formatte ensuite le disque C: puis on reboot a nouveau. Ceci fait partie de la procédure standard d&#039;installation de Windows, ce n&#039;est pas spécifique a Qemu. Attention, le lecteur de cdrom porte parfois la lettre R: (donc pas de panique si ça ne marche pas avec D:). On est arrive ensuite dans la partie graphique de l&#039;installation, je ne rentre pas dans les détails. Au reboot suivant, on relancera le système en partant du disque dur virtuel en non plus a partir de la disquette en remplaçant &amp;lt;code&amp;gt;-boot a&amp;lt;/code&amp;gt; par &amp;lt;code&amp;gt;-boot c&amp;lt;/code&amp;gt;. Lorsque l&#039;installation est terminée, on a accès au système virtuel avec la commande suivante, toujours en étant dans le répertoire où se trouve l&#039;image-disque:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;qemu -k fr -hda hd.img -cdrom /dev/cdrom -user-net -boot c&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir démarrer avec l&#039;option &amp;lt;code&amp;gt;-cdrom /dev/cdrom&amp;lt;/code&amp;gt;, assurez vous qu&#039;un céderom est présent dans le lecteur avant le démarrage de Qemu.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai volontairement oublié certaines options que l&#039;on va détailler dans le chapitre suivant.&lt;br /&gt;
&lt;br /&gt;
== Les principales options ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-hda [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-hda [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: sert à spécifier l&#039;image de disque dur qui va servir pendant l&#039;émulation; il peut aussi s&#039;agir d&#039;un périphérique ou d&#039;une partition, comme /dev/hda1; Il y a aussi &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-hdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-hdc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-hdd&amp;lt;/code&amp;gt;, pour simuler d&#039;autres partitions, mais on ne peut pas utiliser &amp;lt;code&amp;gt;-hdc&amp;lt;/code&amp;gt; en même temps que &amp;lt;code&amp;gt;-cdrom&amp;lt;/code&amp;gt;.&#039;&#039;&#039; L&#039;utilisation de partitions &amp;quot;réelles&amp;quot; présente des risques pour le disque dur, préfèrez les images&#039;&#039;&#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;-cdrom [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-cdrom [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: même chose que précèdemment, mais là il est question du cdrom. le périphérique peut être un lien (/dev/cdrom) ou sa cible (/dev/hdc); &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-cdrom&amp;lt;/code&amp;gt; peut utiliser n&#039;importe quel hdX qui correspond à un lecteur cédérom qui contient un cédérom mais qui n&#039;est pas monté.&lt;br /&gt;
* &amp;lt;code&amp;gt;-fda [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-fda [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: comme pour -cdrom, version disquette, et il y a aussi &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-fdb&amp;lt;/code&amp;gt;, et donc certainement la possibilité d&#039;utiliser 2 lecteurs de disquettes.&lt;br /&gt;
* &amp;lt;code&amp;gt;-boot X&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: où X peut être a (floppy ou image), c (partition virtuelle), ou d (lecteur CD ou image), soit le périphérique sur lequel on va démarrer. Si l&#039;on utilise qu&#039;un seul périphérique (voir options précédentes), cette option est inutile. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-enable-audio&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet le support du son en émulant une carte-son SB16. celà pose quelques problèmes avec l&#039;OS de Bill, qui, suivant les versions, peut avoir des soucis avec cette carte. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-m [memoire]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet de spécifier la quantité de mémoire vive pour le système émulé; ne mettez pas la taille totale de votre mémoire car il faut en laisser pour le système hôte. Par défaut, cette valeur est de 128. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-k [lang]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: (à partir de Qemu 0.6.1) précise le schéma du clavier: en-gb, en-us, fr, fr-ca, fr-be, fr-ch,...etc. par défaut, c&#039;est en-us, mais une fois le système émulé lancé, c&#039;est lui qui choisira le schéma (sauf pour les consoles virtuelles de Qemu). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-snapshot&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour écrire dans un fichier temporaire, au lieu d&#039;une partition ou d&#039;une image disque. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-nographic&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: désactive l&#039;interface graphique, la sortie devenant la console ou a été lancé Qemu; c&#039;est utile pour les systèmes en mode texte (Linux texte, Msdos...). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-full-screen&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: l&#039;option parle d&#039;elle même. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Le réseau ===&lt;br /&gt;
&lt;br /&gt;
Par défaut, le réseau de l&#039;OS invité transitera sur l&#039;hôte par le biais de l&#039;interface &amp;lt;code&amp;gt;/dev/net/tun0&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;; toutefois, ce n&#039;est pas le procédé le plus simple, car celle-ci n&#039;est pas forcément présente sur le système et la créer peut nécessiter une compilation du noyau (rarement avec les distributions récentes). Je lui préfèrerai donc, pour plus de compatibilité, le mode &amp;quot;user&amp;quot;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-user-net&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: active le mode &amp;quot;user&amp;quot; pour le réseau; Qemu se comporte comme un serveur DHCP, qui attribut au système émulé l&#039;adresse 10.0.2.15; ce système se connecte via une passerelle virtuelle à 10.0.2.2, et le DNS est à 10.0.2.3. L&#039;inconvénient de ce procédé est que le système invité &amp;quot;voit&amp;quot; l&#039;hôte, mais pas l&#039;inverse. Attention, Microsoft Windows ne trouve pas toujours le serveur DHCP, il vaudra mieux le configurer avec une IP fixe. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-smb [dossier]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet à l&#039;invité d&#039;accéder à un dossier partagé sur l&#039;hôte, qui devra être équipé d&#039;un serveur Samba; l&#039;adresse de ce serveur pour l&#039;invité est 10.0.2.4. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-tftp [préfixe]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: active un serveur TFTP à l&#039;adresse 10.0.2.2. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Les raccourcis clavier et le moniteur ===&lt;br /&gt;
&lt;br /&gt;
Il est aussi possible d&#039;utiliser des raccourcis clavier, pour accéder à des fonctions supplémentaires:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-f&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: passe en plein-écran. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-1&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: affichage graphique de l&#039;invité. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-2&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: passage au moniteur Qemu; attention, dans ces deux options, le 1 et le 2 sont à taper sur les chiffres hauts du clavier, pas sur le pavé numérique. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour arrêter le contrôle de la souris dans l&#039;invité, alors que pour l&#039;activer, on avait cliqué dans la fenêtre de Qemu. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le moniteur propose quelques commandes supplémentaires:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: affiche une liste des sous-rubriques d&#039;informations. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;eject [périphérique amovible]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: éjecte un CD ou une disquette; on peut ajouter l&#039;option &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; pour forcer l&#039;éjection.&lt;br /&gt;
* &amp;lt;code&amp;gt;change [périphérique ou image]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet de changer de média amovible, périphérique ou image. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;quit&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour quitter Qemu (sans arrêter l&#039;OS émulé proprement). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avant la version 0.6.1, les raccourcis clavier était à base de &amp;quot;ctrl-shift...&amp;quot;.Il y a existe d&#039;autres commandes, il n&#039;a été présenté que celles qui sont réelement indispensables. Pour plus de détails, je vous recommande de lire le très complet manuel de Qemu et qui se trouve dans &amp;lt;code&amp;gt;/usr/share/doc/qemu/&amp;lt;/code&amp;gt;si vous avez installé un paquet binaire, ou dans &amp;lt;code&amp;gt;/usr/local/share/doc/qemu/&amp;lt;/code&amp;gt; si vous avez installé à partir des sources. Le site officiel propose aussi une FAQ, et un forum. Enfin, les archives de la liste de diffusion de Lea-aide fourmillent de questions et de réponses, qui sont d&#039;ailleurs à la base de cet article.&lt;br /&gt;
&lt;br /&gt;
=== Une petite astuce ===&lt;br /&gt;
&lt;br /&gt;
Si on utilise très souvent Qemu, il peut être pénible de taper toujours la même longue commande. On s&#039;en sort en faisant un script-shell très simple, avec son éditeur de texte favori:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; cd /chemin/du/dossier_ou_est_image/&amp;lt;br /&amp;gt; qemu -k fr -cdrom cd_de_OS.iso -hda&amp;lt;br /&amp;gt; hd.img -user-net -smb /home/toto/partage -boot c&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On sauvegarde ce fichier puis on le rend le exécutable. On se fait un raccourci dans son menu, ou sur le bureau, avec le chemin complet du script en guise de commande: on vient de se simplifier la vie. Notez que je charge l&#039;image du CD d&#039;installation, au lieu de penser à mettre un CD dans le lecteur: si j&#039;ai besoin, je pourrais changer via le moniteur de Qemu.&lt;br /&gt;
&lt;br /&gt;
== Plus... ==&lt;br /&gt;
&lt;br /&gt;
Sachez enfin qu&#039;il existe un module additionnel pour accélérer l&#039;émulation, Kqemu; celui-ci n&#039;est, hélas, pas libre.Il n&#039;est disponible qu&#039;en tar.gz, et doit être placé dans le dossier où l&#039;on a extrait les sources de Qemu avant la compilation de l&#039;ensemble.Il faut préciser que Qemu ne présente normalement aucun risque pour le système hôte, mais vu la charge sur le processeur, je recommande de s&#039;assurer que celui-ci est convenablement refroidi, et éventuellement de surveiller la température avec un utilitaire adéquat (Gkrellm par exemple); mon Athlon prend facilement 5°C dans ce cas, et c&#039;est un modèle plutôt stable: inutile de préciser que c&#039;est à vos risques et périls, vous êtes seul responsable de votre matériel. L&#039;utilisation de Kqemu permet un gain de performance allant jusqu&#039;a X 10 : dans ce contexte, la différence de temps d&#039;exécution entre un OS natif et d&#039;un OS émulé par Qemu est de l&#039;orde de 20%.&lt;br /&gt;
&lt;br /&gt;
Voilà, j&#039;espère que cet article est assez complet et simple à comprendre: c&#039;était le but recherché.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par David Roux le 20/05/2005.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 20/05/2005, David Roux&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Autres ressources=&lt;br /&gt;
&lt;br /&gt;
* [http://fabrice.bellard.free.fr/qemu/ La page de QEmu]&lt;/div&gt;</summary>
		<author><name>BasEI</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Qemu&amp;diff=10992</id>
		<title>Qemu</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Qemu&amp;diff=10992"/>
		<updated>2005-12-03T00:04:18Z</updated>

		<summary type="html">&lt;p&gt;BasEI : /* L&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Emuler]]&lt;br /&gt;
= Installer et utiliser Qemu =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Installer et utiliser Qemu&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par David Roux, avec la collaboration de Joël Tarlao et Alain Rivest, relu et complété par Erwan Velu&lt;br /&gt;
&lt;br /&gt;
Voici un petit guide pour utiliser Qemu facilement&lt;br /&gt;
&lt;br /&gt;
== Qu&#039;est-ce que Qemu? ==&lt;br /&gt;
&lt;br /&gt;
Dans le monde des émulateurs, Qemu a actuellement le vent en poupe, et nombreux sont ceux qui l&#039;ont adopté pour faire tourner les applications indisponibles pour leur système d&#039;exploitation. Dans notre cas, on appréciera de pouvoir utiliser des logiciels conçus pour Microsoft Windows ou Mac OS sous Linux, mais il sera également possible de faire l&#039;inverse. Son autre avantage est qu&#039;il peut émuler plusieurs architectures, du x86 au PowerPC en passant par le Sun-SPARC, ce qui permet de lancer une foule d&#039;OS différents. De plus, il est important de signaler que Qemu est disponible sous licence GNU LGPL. Pour en savoir plus, le mieux est d&#039;aller faire un tour [http://fabrice.bellard.free.fr/qemu/ ici]&amp;lt;nowiki&amp;gt;; quand à nous, rentrons dans le vif du sujet...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== L&#039;installation ==&lt;br /&gt;
&lt;br /&gt;
On ne le répètera jamais assez, le meilleur moyen d&#039;installer une application est de se servir du système de paquetages de sa distribution qui permet de gérer correctement les dépendances et facilite la tâche en cas de désinstallation.&lt;br /&gt;
&lt;br /&gt;
Il est également préférable d&#039;utiliser la dernière version de QEMU, (0.7.2 au moment de la rédaction de ces lignes) qui doit être disponible en format deb pour testing et RPM pour Mandriva LE 2005-2006. On peut également la trouver la version 0.7.0 dans les branches &amp;quot;unstable&amp;quot; des distributions Linux (Sid, Cooker...). Quoiqu&#039;il en soit, l&#039;installation par cette méthode (urpmi, apt-get,...etc) ne devrait pas poser de problème.&lt;br /&gt;
&lt;br /&gt;
Cependant, pour les possesseurs de machines PC (architecture i386), ce serait passer à côté d&#039;un formidable accélérateur de performance : &#039;&#039;&#039;Kqemu&#039;&#039;&#039;, un module du noyau que Fabrice Bellard souhaite rentabiliser avant de le libérer. Il n&#039;est donc pas libre et vous ne le trouverez pas dans vos distributions. &#039;&#039;&#039;Selon les machines, le gain va de 200% à 600%&#039;&#039;&#039; !!!!! Mais il faut compiler à la main : &lt;br /&gt;
&lt;br /&gt;
La compilation passe par les traditionnels &amp;lt;code&amp;gt;./configure&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# make install&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cependant, la version 0.7.2 ne peut se compiler qu&#039;avec gcc-3.xx alors que la plupart des distributions acutelles sont en GCC-4 (gcc est le compilateur). La coexistence des 2 gcc ne pose généralement pas de problèmes. Donc : &lt;br /&gt;
&lt;br /&gt;
Installer gcc-3.3&lt;br /&gt;
&lt;br /&gt;
extraire qemu. Extraire kqemu en étant dans le répertoire de qemu.&lt;br /&gt;
&lt;br /&gt;
préciser le compilateur utilisé : &amp;lt;code&amp;gt;./configure --cc=gcc-3.3.6&lt;br /&gt;
make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, il peut y avoir un soucis, car votre noyau risque de ne pas être compilé avec ce GCC là... et donc le système refusera de mettre en mémoire le module Kqemu. Il faut donc compiler le module avec gcc 4 : &lt;br /&gt;
&amp;lt;code&amp;gt;cd kqemu&lt;br /&gt;
make clean  &lt;br /&gt;
make&amp;lt;/code&amp;gt;&lt;br /&gt;
ensuite vous pouvez installer le tout : &lt;br /&gt;
&amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt; (en root)&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite faire quelques manipulations pour créer un périphérique un peu particulier : &lt;br /&gt;
&amp;lt;code&amp;gt;modprobe kqemu&lt;br /&gt;
mknod /dev/kqemu c 250 0&lt;br /&gt;
chmod 666 /dev/kqemu&amp;lt;/code&amp;gt;&lt;br /&gt;
Ceci peut être placé dans un fichier pour être effectué au lancement du système : dans /etc/rc.local par exemple.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour les dépendances de Qemu 0.6.1, vous aurez besoin des paquets suivants: libc6 (&amp;gt;=2.3.2-ds1-4), libsdl (&amp;gt;=1.2), zlib1g (&amp;gt;=1.1.2.1), vgabios (&amp;gt;=0.4c), bochsbios (&amp;gt;=2.1.1). Les noms des paquets peuvent varier suivant les distributions.&lt;br /&gt;
&lt;br /&gt;
== Comment ça marche? ==&lt;br /&gt;
&lt;br /&gt;
=== Premiers pas avec un live-CD ===&lt;br /&gt;
&lt;br /&gt;
On va se faire la main avec un truc tout simple, l&#039;émulation d&#039;un système d&#039;exploitation en live-CD. Il ne sera pas nécessaire d&#039;écrire sur le disque dur ni même graver le fichier ISO que l&#039;on vient de télécharger sur un site internet. Dans la suite de cet article, ce fichier ISO s&#039;appelera &amp;quot;live.iso&amp;quot;. Pour démarrer cette image iso avec Qemu, Il suffit de se rendre dans le répertoire qui contient l&#039;image et lancer Qemu, en tapant:&lt;br /&gt;
&lt;br /&gt;
cd /home/toto/repertoire_ou_est_l&#039;image_iso&amp;lt;br /&amp;gt; qemu -cdrom live.iso&lt;br /&gt;
&lt;br /&gt;
Il n&#039;est pas nécessaire d&#039;être « root » pour exécuter QEMU, tout peut être fait par un simple utilisateur.&lt;br /&gt;
&lt;br /&gt;
Une fenêtre s&#039;ouvre et le système émulé se lance. Pour utiliser la souris de votre système virtuel, il suffit de cliquer dans la fenêtre d&#039;émulation. Pour libérer la souris de la fênetre d&#039;émulation, il suffit d&#039;appuyer sur les touches &#039;ctrl&#039; &amp;amp; &#039;alt&#039; en même temps. Pour le pavé numérique, Qemu le considèrera toujours comme inactif donc il faudra presser la touche &amp;quot;VerrNum&amp;quot;. Attention aux mots de passe car on peut se retrouver avec le clavier numérique vérouiller avec le voyant &amp;quot;numlock&amp;quot; éteint&#039;&#039;&#039; ! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si l&#039;on souhaite démarrer sur un vrai céderom, il suffit d&#039;utiliser la syntaxe &amp;lt;code&amp;gt;-cdrom /dev/cdrom&amp;lt;/code&amp;gt; . Qemu utilise directement le périphérique bloc, il ne faut donc pas monter le cédérom avant l&#039;éxecution de Qemu.&lt;br /&gt;
&lt;br /&gt;
Le système virtuel peut également accéder au réseau grâce à l&#039;option &amp;lt;code&amp;gt;-user-net&amp;lt;/code&amp;gt; : dans ce mode, Qemu utilisera vos interfaces réseaux pour accéder a votre réseau local ou a Internet par exemple. La carte son virtuelle, une carte-son SB16, peut être activée avec l&#039;option &amp;lt;code&amp;gt;-enable-audio&amp;lt;/code&amp;gt;. Compte-tenu que le système émulé est tout de même plus lent que lors d&#039;une utilisation normale, et que la charge sur le processeur de l&#039;hôte est importante, faites d&#039;abord un essai avec un live-CD &amp;quot;léger&amp;quot;, genre DamnSmall Linux et ce surtout si votre machine n&#039;est pas de la première jeunesse;&lt;br /&gt;
&lt;br /&gt;
Qemu offre par défaut au système émulé 128 Mo de mémoire vive, il faut donc au moins e, avoir le double sur la machine hôte (plus, c&#039;est mieux). Pour info, j&#039;ai fait tous ces tests sur un Athlon XP1800+ avec 512 Mo de RAM, et mon processeur tournait à 100% tout le temps: n&#039;essayez pas sur un 486 ;-)&lt;br /&gt;
&lt;br /&gt;
=== Installation d&#039;un système &amp;quot;en dur&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Dans ce mode, Qemu est capable d&#039;utiliser un fichier de votre disque dur et de le transformer en un disque dur virtuel. Pour l&#039;exemple, on installera un Microsoft Windows 98, sur une image de disque dur de 2Go que l&#039;on appelle &amp;quot;hd.img&amp;quot; et située dans un répertoire /home/toto/invite/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;mkdir /home/toto/invite/&amp;lt;br /&amp;gt; cd /home/toto/invite/&amp;lt;br /&amp;gt; qemu-img create hd.img 2G&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La commande qemu-img permet de créer une image disque de la taille spécifiée mais on aurais pu également le faire avec l&#039;outil dd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;dd of=hd.img bs=2048 seek=1000000 count=0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans notre répertoire « invite », on placera aussi une image du CD d&#039;installation nommée msw.iso ainsi qu&#039;une image de sa disquette de boot « mswboot.img ».&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;qemu -k fr -fda mswboot.img -cdrom msw.iso -hda hd.img -user-net -boot a&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande permet donc de demarrer Qemu avec une disquette, un disque dur et un cdrom virtuel correspondant respectivement a la disquette d&#039;amorcage de Microsoft Windows 98, le disque virtuel que l&#039;on a créé et l&#039;image ISO de Windows 98. L&#039;option « boot a » indique que l&#039;on souhaite démarrer le système virtuel depuis le lecteur de disquette virtuel. Il n&#039;est pas nécessaire d&#039;utiliser une disquette d&#039;amorçage si l&#039;image ISO est « amorçable ».&lt;br /&gt;
&lt;br /&gt;
Vous remarquez que j&#039;ai mis des options dont je n&#039;ai pas forcément besoin tout de suite (-cdrom, -user-net), mais comme on va devoir redémarrer notre système virtuel de nombreuses fois pendant l&#039;installation, et donc relancer Qemu, on fera un copier-coller de la commande au lieu de tout retaper. j&#039;ai aussi mis le clavier en français avec &amp;lt;code&amp;gt;-k fr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de Windows débute, on va tout d&#039;abord créer notre partition et l&#039;activer avec Fdisk puis on reboot. On formatte ensuite le disque C: puis on reboot a nouveau. Ceci fait partie de la procédure standard d&#039;installation de Windows, ce n&#039;est pas spécifique a Qemu. Attention, le lecteur de cdrom porte parfois la lettre R: (donc pas de panique si ça ne marche pas avec D:). On est arrive ensuite dans la partie graphique de l&#039;installation, je ne rentre pas dans les détails. Au reboot suivant, on relancera le système en partant du disque dur virtuel en non plus a partir de la disquette en remplaçant &amp;lt;code&amp;gt;-boot a&amp;lt;/code&amp;gt; par &amp;lt;code&amp;gt;-boot c&amp;lt;/code&amp;gt;. Lorsque l&#039;installation est terminée, on a accès au système virtuel avec la commande suivante, toujours en étant dans le répertoire où se trouve l&#039;image-disque:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;qemu -k fr -hda hd.img -cdrom /dev/cdrom -user-net -boot c&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir démarrer avec l&#039;option &amp;lt;code&amp;gt;-cdrom /dev/cdrom&amp;lt;/code&amp;gt;, assurez vous qu&#039;un céderom est présent dans le lecteur avant le démarrage de Qemu.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai volontairement oublié certaines options que l&#039;on va détailler dans le chapitre suivant.&lt;br /&gt;
&lt;br /&gt;
== Les principales options ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-hda [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-hda [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: sert à spécifier l&#039;image de disque dur qui va servir pendant l&#039;émulation; il peut aussi s&#039;agir d&#039;un périphérique ou d&#039;une partition, comme /dev/hda1; Il y a aussi &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-hdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-hdc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-hdd&amp;lt;/code&amp;gt;, pour simuler d&#039;autres partitions, mais on ne peut pas utiliser &amp;lt;code&amp;gt;-hdc&amp;lt;/code&amp;gt; en même temps que &amp;lt;code&amp;gt;-cdrom&amp;lt;/code&amp;gt;.&#039;&#039;&#039; L&#039;utilisation de partitions &amp;quot;réelles&amp;quot; présente des risques pour le disque dur, préfèrez les images&#039;&#039;&#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;-cdrom [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-cdrom [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: même chose que précèdemment, mais là il est question du cdrom. le périphérique peut être un lien (/dev/cdrom) ou sa cible (/dev/hdc); &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-cdrom&amp;lt;/code&amp;gt; peut utiliser n&#039;importe quel hdX qui correspond à un lecteur cédérom qui contient un cédérom mais qui n&#039;est pas monté.&lt;br /&gt;
* &amp;lt;code&amp;gt;-fda [image]&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;-fda [périphérique]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: comme pour -cdrom, version disquette, et il y a aussi &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-fdb&amp;lt;/code&amp;gt;, et donc certainement la possibilité d&#039;utiliser 2 lecteurs de disquettes.&lt;br /&gt;
* &amp;lt;code&amp;gt;-boot X&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: où X peut être a (floppy ou image), c (partition virtuelle), ou d (lecteur CD ou image), soit le périphérique sur lequel on va démarrer. Si l&#039;on utilise qu&#039;un seul périphérique (voir options précédentes), cette option est inutile. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-enable-audio&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet le support du son en émulant une carte-son SB16. celà pose quelques problèmes avec l&#039;OS de Bill, qui, suivant les versions, peut avoir des soucis avec cette carte. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-m [memoire]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet de spécifier la quantité de mémoire vive pour le système émulé; ne mettez pas la taille totale de votre mémoire car il faut en laisser pour le système hôte. Par défaut, cette valeur est de 128. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-k [lang]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: (à partir de Qemu 0.6.1) précise le schéma du clavier: en-gb, en-us, fr, fr-ca, fr-be, fr-ch,...etc. par défaut, c&#039;est en-us, mais une fois le système émulé lancé, c&#039;est lui qui choisira le schéma (sauf pour les consoles virtuelles de Qemu). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-snapshot&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour écrire dans un fichier temporaire, au lieu d&#039;une partition ou d&#039;une image disque. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-nographic&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: désactive l&#039;interface graphique, la sortie devenant la console ou a été lancé Qemu; c&#039;est utile pour les systèmes en mode texte (Linux texte, Msdos...). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-full-screen&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: l&#039;option parle d&#039;elle même. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Le réseau ===&lt;br /&gt;
&lt;br /&gt;
Par défaut, le réseau de l&#039;OS invité transitera sur l&#039;hôte par le biais de l&#039;interface &amp;lt;code&amp;gt;/dev/net/tun0&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;; toutefois, ce n&#039;est pas le procédé le plus simple, car celle-ci n&#039;est pas forcément présente sur le système et la créer peut nécessiter une compilation du noyau (rarement avec les distributions récentes). Je lui préfèrerai donc, pour plus de compatibilité, le mode &amp;quot;user&amp;quot;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-user-net&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: active le mode &amp;quot;user&amp;quot; pour le réseau; Qemu se comporte comme un serveur DHCP, qui attribut au système émulé l&#039;adresse 10.0.2.15; ce système se connecte via une passerelle virtuelle à 10.0.2.2, et le DNS est à 10.0.2.3. L&#039;inconvénient de ce procédé est que le système invité &amp;quot;voit&amp;quot; l&#039;hôte, mais pas l&#039;inverse. Attention, Microsoft Windows ne trouve pas toujours le serveur DHCP, il vaudra mieux le configurer avec une IP fixe. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-smb [dossier]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet à l&#039;invité d&#039;accéder à un dossier partagé sur l&#039;hôte, qui devra être équipé d&#039;un serveur Samba; l&#039;adresse de ce serveur pour l&#039;invité est 10.0.2.4. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-tftp [préfixe]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: active un serveur TFTP à l&#039;adresse 10.0.2.2. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Les raccourcis clavier et le moniteur ===&lt;br /&gt;
&lt;br /&gt;
Il est aussi possible d&#039;utiliser des raccourcis clavier, pour accéder à des fonctions supplémentaires:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-f&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: passe en plein-écran. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-1&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: affichage graphique de l&#039;invité. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt-2&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: passage au moniteur Qemu; attention, dans ces deux options, le 1 et le 2 sont à taper sur les chiffres hauts du clavier, pas sur le pavé numérique. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ctrl-alt&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour arrêter le contrôle de la souris dans l&#039;invité, alors que pour l&#039;activer, on avait cliqué dans la fenêtre de Qemu. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le moniteur propose quelques commandes supplémentaires:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: affiche une liste des sous-rubriques d&#039;informations. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;eject [périphérique amovible]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: éjecte un CD ou une disquette; on peut ajouter l&#039;option &amp;lt;/nowiki&amp;gt;&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; pour forcer l&#039;éjection.&lt;br /&gt;
* &amp;lt;code&amp;gt;change [périphérique ou image]&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: permet de changer de média amovible, périphérique ou image. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;quit&amp;lt;/code&amp;gt;&amp;lt;nowiki&amp;gt;: pour quitter Qemu (sans arrêter l&#039;OS émulé proprement). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avant la version 0.6.1, les raccourcis clavier était à base de &amp;quot;ctrl-shift...&amp;quot;.Il y a existe d&#039;autres commandes, il n&#039;a été présenté que celles qui sont réelement indispensables. Pour plus de détails, je vous recommande de lire le très complet manuel de Qemu et qui se trouve dans &amp;lt;code&amp;gt;/usr/share/doc/qemu/&amp;lt;/code&amp;gt;si vous avez installé un paquet binaire, ou dans &amp;lt;code&amp;gt;/usr/local/share/doc/qemu/&amp;lt;/code&amp;gt; si vous avez installé à partir des sources. Le site officiel propose aussi une FAQ, et un forum. Enfin, les archives de la liste de diffusion de Lea-aide fourmillent de questions et de réponses, qui sont d&#039;ailleurs à la base de cet article.&lt;br /&gt;
&lt;br /&gt;
=== Une petite astuce ===&lt;br /&gt;
&lt;br /&gt;
Si on utilise très souvent Qemu, il peut être pénible de taper toujours la même longue commande. On s&#039;en sort en faisant un script-shell très simple, avec son éditeur de texte favori:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; cd /chemin/du/dossier_ou_est_image/&amp;lt;br /&amp;gt; qemu -k fr -cdrom cd_de_OS.iso -hda&amp;lt;br /&amp;gt; hd.img -user-net -smb /home/toto/partage -boot c&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On sauvegarde ce fichier puis on le rend le exécutable. On se fait un raccourci dans son menu, ou sur le bureau, avec le chemin complet du script en guise de commande: on vient de se simplifier la vie. Notez que je charge l&#039;image du CD d&#039;installation, au lieu de penser à mettre un CD dans le lecteur: si j&#039;ai besoin, je pourrais changer via le moniteur de Qemu.&lt;br /&gt;
&lt;br /&gt;
== Plus... ==&lt;br /&gt;
&lt;br /&gt;
Sachez enfin qu&#039;il existe un module additionnel pour accélérer l&#039;émulation, Kqemu; celui-ci n&#039;est, hélas, pas libre.Il n&#039;est disponible qu&#039;en tar.gz, et doit être placé dans le dossier où l&#039;on a extrait les sources de Qemu avant la compilation de l&#039;ensemble.Il faut préciser que Qemu ne présente normalement aucun risque pour le système hôte, mais vu la charge sur le processeur, je recommande de s&#039;assurer que celui-ci est convenablement refroidi, et éventuellement de surveiller la température avec un utilitaire adéquat (Gkrellm par exemple); mon Athlon prend facilement 5°C dans ce cas, et c&#039;est un modèle plutôt stable: inutile de préciser que c&#039;est à vos risques et périls, vous êtes seul responsable de votre matériel. L&#039;utilisation de Kqemu permet un gain de performance allant jusqu&#039;a X 10 : dans ce contexte, la différence de temps d&#039;exécution entre un OS natif et d&#039;un OS émulé par Qemu est de l&#039;orde de 20%.&lt;br /&gt;
&lt;br /&gt;
Voilà, j&#039;espère que cet article est assez complet et simple à comprendre: c&#039;était le but recherché.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par David Roux le 20/05/2005.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 20/05/2005, David Roux&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Autres ressources=&lt;br /&gt;
&lt;br /&gt;
* [http://fabrice.bellard.free.fr/qemu/ La page de QEmu]&lt;/div&gt;</summary>
		<author><name>BasEI</name></author>
	</entry>
</feed>