<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JoPa.Fr &#187; Mail</title>
	<atom:link href="http://www.jopa.fr/index.php/tag/mail/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jopa.fr</link>
	<description>001100010BIDOUILLE11101010111100010LIBRE1000100111100101</description>
	<lastBuildDate>Tue, 10 Jan 2012 21:59:31 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Push Mail pour serveur Imap (local ou distant)</title>
		<link>http://www.jopa.fr/index.php/2009/08/05/push-mail-sur-serveur-imap-gmail/</link>
		<comments>http://www.jopa.fr/index.php/2009/08/05/push-mail-sur-serveur-imap-gmail/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 22:01:12 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>
		<category><![CDATA[PDA]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Téléphone]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1652</guid>
		<description><![CDATA[Pour continuer la construction pas à pas de notre serveur mail (cf installation d&#8217;un serveur mail brique par brique), nous allons offrir à nos utilisateurs de terminaux Windows Mobile le luxe du &#8216;push mail&#8216; (on ne peut pas demander à tout le monde d&#8217;avoir un SmartPhone sous Androïd, ceci dit, moi, ça me plairait assez [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2009/08/eb0996d725ea9ae3e95da132acafd9fc1.jpg"><img class="alignleft size-medium wp-image-1654" title="eb0996d725ea9ae3e95da132acafd9fc" src="http://www.jopa.fr/wp-content/uploads/2009/08/eb0996d725ea9ae3e95da132acafd9fc1-300x200.jpg" alt="eb0996d725ea9ae3e95da132acafd9fc" width="300" height="200" /></a>Pour continuer la construction pas à pas de notre serveur mail <a title="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/" href="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">(cf installation d&#8217;un serveur mail brique par brique</a>), nous allons offrir à nos utilisateurs de terminaux <em>Windows Mobile </em>le luxe du &#8216;<em>push mail</em>&#8216;<em> </em>(on ne peut pas demander à tout le monde d&#8217;avoir un <em>SmartPhone </em>sous <a title="http://fr.wikipedia.org/wiki/Android" href="http://fr.wikipedia.org/wiki/Android"><em>Androïd,</em></a> ceci dit, moi, ça me plairait assez !).  Contrairement à une configuration classique, où le terminal interroge le serveur (en <em>Pop</em> ou <em>Imap</em>), nous allons faire en sorte que ce soit le serveur qui &laquo;&nbsp;<em>pousse</em>&nbsp;&raquo; les nouveaux mails vers le mobile.</p>
<p><span id="more-1652"></span></p>
<ul>
<li>Côté Windows Mobile, c&#8217;est &laquo;&nbsp;ActiveSync&nbsp;&raquo; qui va gérer et maintenir la connexion avec le serveur, donc rien à installer, c&#8217;est super !</li>
<li>Côté serveur, nous allons utiliser &laquo;&nbsp;Z-Push&nbsp;&raquo;, une implémentation open source du protocole ActiveSync, écrite par la société <a title="http://www.zarafaserver.de/" href="http://www.zarafaserver.de/" target="_blank">Zafara</a> (en PHP).</li>
</ul>
<p>Avant de commencer, nous aurons besoin :</p>
<ul>
<li style="text-align: justify;">D&#8217;un serveur Linux avec PHP 5 et Apache 2 installés (et accessible depuis Internet évidemment) &#8211; Pour le test, j&#8217;ai utilisé une Debian Lenny -,</li>
<li style="text-align: justify;">Un serveur IMAP (local ou distant),</li>
<li style="text-align: justify;">Dans l&#8217;optique de la configuration d&#8217;un <em>VirtualHost Apache</em>, une entrée <em>DNS</em> spécifique, c&#8217;est plus propre, mais ce n&#8217;est pas obligatoire,</li>
<li style="text-align: justify;"><a title="https://developer.berlios.de/project/showfiles.php?group_id=8963" href="https://developer.berlios.de/project/showfiles.php?group_id=8963">Les sources de Z-Push</a>,</li>
<li style="text-align: justify;">Un terminal Windows Mobile (testé avec Windows Mobile 6).</li>
</ul>
<h2>Z-Push</h2>
<p>Commençons par décompresser les sources à la racine de notre serveur web :</p>
<p><span style="color: #800000;"># tar xvzf  z-push-1.2.2.tar.gz -C /var/www/</span></p>
<p>Le répertoire <strong>/var/www/z-push/state</strong> doit être accessible en écriture par l&#8217;utilisateur Apache :</p>
<p><span style="color: #800000;"># chmod 700 /var/www/z-push/state<br />
# chown www-data:www-data /var/www/z-push/state</span></p>
<p>Editons ensuite le fichier de configuration  (<strong>/var/www/z-push/config.php</strong>)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1652code5'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p16525"><td class="code" id="p1652code5"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">...</span>
<span style="color: #666666; font-style: italic;">// The data providers that we are using (see configuration below)</span>
    <span style="color: #000088;">$BACKEND_PROVIDER</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;BackendIMAP&quot;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">...</span>
    <span style="color: #666666; font-style: italic;">// ************************</span>
    <span style="color: #666666; font-style: italic;">//  BackendIMAP settings</span>
    <span style="color: #666666; font-style: italic;">// ************************</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Defines the server to which we want to connect</span>
    <span style="color: #666666; font-style: italic;">// recommended to use local servers only</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_SERVER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// connecting to default port (143)</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_PORT'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">143</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// best cross-platform compatibility (see http://php.net/imap_open for options)</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_OPTIONS'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/notls/norsh/ssl/novalidate-cert'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// overwrite the &quot;from&quot; header if it isn't set when sending emails</span>
    <span style="color: #666666; font-style: italic;">// options: 'username'    - the username will be set (usefull if your login is equal to your emailaddress)</span>
    <span style="color: #666666; font-style: italic;">//        'domain'    - the value of the &quot;domain&quot; field is used</span>
    <span style="color: #666666; font-style: italic;">//        '@mydomain.com' - the username is used and the given string will be appended</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_DEFAULTFROM'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'username'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// copy outgoing mail to this folder. If not set z-push will try the default folders</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_SENTFOLDER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #339933;">...</span></pre></td></tr></table></div>

<p style="text-align: justify;">Les paramètres ci-dessus sont adaptés au serveur imap local. Ils peuvent être ajustés à un autre serveur. Ceci devrait fonctionner avec n&#8217;importe quel serveur IMAP.</p>
<p>Par exemple, pour <em>Gmail</em> :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1652code6'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p16526"><td class="code" id="p1652code6"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_SERVER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_PORT'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">993</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_OPTIONS'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/notls/norsh/ssl/novalidate-cert'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_DEFAULTFROM'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'username'</span><span style="color: #009900;">&#41;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_SENTFOLDER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h2>Apache</h2>
<p style="text-align: justify;">Nous allons avoir besoin de satisfaire quelques dépendences avant d&#8217;attaquer la configuration d&#8217;<em>Apache.  Z-Push</em> a en effet besoin de quelques paquets pour pouvoir fonctionner correctement :</p>
<p><span style="color: #800000;">#  apt-get install pear php5-imap php5-mail php5-mail-mime php5-pear<br />
# pear install &#8211;alldeps Mail</span></p>
<p style="text-align: justify;">Nous avons ensuite deux alternatives :</p>
<ul style="text-align: justify;">
<li>Créer un VirtualHost afin d&#8217;accéder au serveur directement par son nom : http://z-push.mondomaine.net, (plus propre à mon sens)</li>
<li style="text-align: justify;">Ou configurer un répertoire d&#8217;un site existant : (http://mon_serveur_ou_son_ip/z-push).</li>
</ul>
<h2 style="text-align: justify;">Virtualhost</h2>
<p style="text-align: justify;">Pour créer un VirtualHost, il nous faut ajouter un fichier dans /etc/apache2/sites-available. Arbitrairement, nous allons choisir <em>z-push</em> comme nom de fichier.</p>
<p style="text-align: justify;">/etc/apache2/sites-available/z-push</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1652code7'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p16527"><td class="code" id="p1652code7"><pre class="ini" style="font-family:monospace;">	ServerAlias zpush.mondomaine.net
	ServerAdmin webmaster@mondomaine.net
	DocumentRoot /var/www/z-push
	Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php
&nbsp;
		Options -Indexes
		AllowOverride none
		Order allow,deny
		allow from all
		php_flag magic_quotes_gpc off
		php_flag register_globals off
		php_flag magic_quotes_runtime off
		php_flag short_open_tag on
&nbsp;
	ErrorLog /var/log/apache2/zpush-error.log
	LogLevel warn
	CustomLog /var/log/apache2/zpush-access.log combined
	ServerSignature Off</pre></td></tr></table></div>

<p style="text-align: justify;">La commande <em><strong>a2ensite</strong></em> (Apache2 Enable Site) permet de rendre le <em>VirtualHost</em> actif (équivaut à faire un lien symbolique dans<strong> /etc/apache2/sites-enabled</strong>)</p>
<p style="text-align: justify;">$ sudo a2ensite z-push<br />
$ /etc/init.d/apache2 reload</p>
<h2 style="text-align: justify;">Config par défaut ou .htaccess</h2>
<p style="text-align: justify;">La deuxième technique  consiste à ne configurer que le répertoire <em>z-push</em>, sans création d&#8217;un <em>VirtualHost</em>. Pour cela, nous ajouterons simplement les lignes suivantes dans le fichier de configuration du site par défaut (normalement <strong>/etc/apache2/sites-avaible/defaut</strong>) ou directement dans un fichier un<strong> .htaccess</strong> à la racine du site :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1652code8'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p16528"><td class="code" id="p1652code8"><pre class="ini" style="font-family:monospace;">	Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php
&nbsp;
		Options -Indexes
		AllowOverride none
		Order allow,deny
		allow from all
		php_flag magic_quotes_gpc off
		php_flag register_globals off
		php_flag magic_quotes_runtime off
		php_flag short_open_tag on</pre></td></tr></table></div>

<h2 style="text-align: justify;">Le mobile</h2>
<p style="text-align: justify;">La configuration du serveur étant terminée, nous pouvons tester sur un terminal. Nous allons configurer <em>ActiveSync</em> pour qu&#8217;il se connecte au serveur.</p>
<ul style="text-align: justify;">
<li>Dans ActiveSync :<span style="color: #333399;"> Menu -&gt; Configurer le serveur</span>,
<ul>
<li><strong>Adresse du serveur : </strong><span style="color: #333399;"> zpush.mondomaine.net </span> (nom du VirtualHost ou Url complète d&#8217;accès à z-push),</li>
<li>Décôcher <strong>SSL </strong>(n&#8217;est pas encore configuré sur le serveur Apache),</li>
<li><strong>Nom d&#8217;utilisateur :</strong> L&#8217;utilisateur Imap pour lequel nous voulons recevoir les mails,</li>
<li><strong>Mot de passe :</strong> Mot de passe de l&#8217;utilisateur sur le serveur Imap,</li>
<li><strong>Domaine :</strong> Domaine de messagerie,</li>
<li>Ne synchroniser que les mails : nous avons utilisé z-push pour l&#8217;Imap uniquement.</li>
</ul>
</li>
<li>La synchro devrait ensuite fonctionner. L&#8217;activation du mode Push peut se faire dans le &laquo;&nbsp;<em>Comm Manager</em>&nbsp;&raquo; en activant &laquo;&nbsp;<em><strong>Microsoft Direct Push</strong></em>&laquo;&nbsp;.</li>
</ul>
<p style="text-align: justify;">La méthode est biensûr perfectible par l&#8217;ajout du support SSL. Je ne suis pas arrivé, pour l&#8217;instant, à une solution très satisfaisante concernant ce point. A moins qu&#8217;ils ne nous soit possible de faire certifier le certificat serveur par un autorithé reconnue, il faudra importer ce cetificat sur le mobile. La chose est plutôt fastidieuse, l&#8217;option d&#8217;import n&#8217;étant pas disponible dans <em>Internet Explorer mobile</em>. Il est nécessaire de passer par un export au format xml, que l&#8217;on insère ensuite dans un fichier cab pour l&#8217;installer sur le terminal. Bref, du bon gros bricolage !</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Références :<em> <a title="http://andrew.tj.id.au/activesync-for-gmail/" href="http://andrew.tj.id.au/activesync-for-gmail/" target="_blank"> http://andrew.tj.id.au/activesync-for-gmail/</a></em></p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/08/05/push-mail-sur-serveur-imap-gmail/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&#171;&#160;Alias&#160;&#187; et &#171;&#160;forward&#160;&#187; avec Postfix + LDAP</title>
		<link>http://www.jopa.fr/index.php/2009/07/28/alias-forward-postfix-openldap/</link>
		<comments>http://www.jopa.fr/index.php/2009/07/28/alias-forward-postfix-openldap/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 20:10:23 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1563</guid>
		<description><![CDATA[En me basant sur l&#8217;architecture présentée dans le billet : Installation d’un serveur mail brique par brique… (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc…), je vais chercher, au travers de cet article, à améliorer la distribution des mails entrants. Ce que je souhaite mettre en place est assez simple d&#8217;un point de vue fonctionnel [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2009/07/mail_forward.png"><img class="alignright size-full wp-image-1583" title="mail_forward" src="http://www.jopa.fr/wp-content/uploads/2009/07/mail_forward.png" alt="mail_forward" width="128" height="128" /></a>En me basant sur l&#8217;architecture présentée dans le billet : <a title="Lien Permanent : Installation d’un serveur mail brique par brique… (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc…)" rel="bookmark" href="../index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">Installation d’un serveur mail brique par brique… (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc…),</a> je vais chercher, au travers de cet article, à améliorer la distribution des mails entrants. Ce que je souhaite mettre en place est assez simple d&#8217;un point de vue fonctionnel :</p>
<ol style="text-align: justify;">
<li>Chaque utilisateur doit pouvoir disposer de plusieurs adresses email pour une même boîte, sans que l&#8217;on ait besoin de le créer plusieurs fois dans l&#8217;annuaire (notion d&#8217;alias) ,</li>
<li>Les messages entrants doivent pouvoir être stockés sur le serveur Imap Local, transférés vers d&#8217;autres adresses (notion de forward) ou, soyons fous, les deux.</li>
</ol>
<p id="post-1064" style="text-align: justify;">Le serveur <em>Imap </em>utilisé est <em>Cyrus</em>, mais ceci n&#8217;a pas vraiment d&#8217;importance, n&#8217;importe quel gestionnaire <em>Imap </em>fera l&#8217;affaire. Il en va de même pour le serveur <em>OpenLDAP </em>qui peut être remplacé par un autre annuaire, pourvu qu&#8217;il respecte les standards. Vous l&#8217;aurez compris, c&#8217;est bel et bien <em>Postfix </em>qui va permettre ces petites galipettes.</p>
<p style="text-align: justify;"><span id="more-1563"></span>Pour l&#8217;exemple, je vais une fois de plus solliciter mon utilisateur préféré : Monsieur Dupont (Jean pour les intimes) . Ce Monsieur souhaite recevoir tous les mails adressés à :</p>
<ul style="text-align: justify;">
<li>jean@linet.jopa.fr,</li>
<li>dupont@linet.jopa.fr,</li>
<li>jean.dupont@linet.jopa.fr.</li>
</ul>
<p style="text-align: justify;">Il dispose bien entendu d&#8217;une boîte<em> Imap </em>sur le serveur<em>,</em> mais souhaite qu&#8217;une copie de ses messages soient transférés sur son compte <em>gmail </em>:  <em>jean.dupont@gmail.com</em>.  C&#8217;est pas très très joli pour la sécurité de l&#8217;entreprise, mais pour l&#8217;exemple (et pour Jean), je vais fermer les yeux !</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2009/07/postfix_maildrop.jpg"><img class="aligncenter size-full wp-image-1567" title="postfix_maildrop" src="http://www.jopa.fr/wp-content/uploads/2009/07/postfix_maildrop.jpg" alt="postfix_maildrop" width="493" height="486" /></a></p>
<h2><span style="color: #800000;">Le serveur  IMAP :</span></h2>
<p style="text-align: justify;">Je vous l&#8217;ai dit, sur le serveur IMAP, rien de particulier. Il faut juste s&#8217;assurer qu&#8217;il est fonctionnel et que l&#8217;utilisateur <em>Jean </em>y est bien présent. Dans le cas contraire, je vous invite à consulter <a title="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/" href="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">l&#8217;article précédent</a> pour l&#8217;installation et la configuration d&#8217;un serveur <em>Cyrus-Imap</em>.</p>
<p><span style="color: #800000;"># cyradm –user cyrus localhost<br />
Password:<br />
localhost&gt; lm<br />
<strong>user.jean (HasNoChildren)</strong> user.jojo (HasNoChildren)<br />
user.joel (HasNoChildren)<br />
localhost&gt; quit</span></p>
<p style="text-align: center;">
<h2>L&#8217;annuaire :</h2>
<p style="text-align: justify;">Dans l&#8217;annuaire, j&#8217;ai légèrement modifié le schéma pour y insérer un deuxième attribut &laquo;&nbsp;<em>Mail</em>&laquo;&nbsp;, nommé &laquo;&nbsp;<em>maildrop&nbsp;&raquo;</em>. J&#8217;ai emprunté cet attribut à la classe <em>CourierMailAlias</em> (fournie par courier-Imap), mais en fait, n&#8217;importe quel attribut texte peut faire l&#8217;affaire.</p>
<p style="text-align: justify;">L&#8217;idée est d&#8217;utiliser l&#8217;attribut &laquo;&nbsp;<strong>Mail</strong>&nbsp;&raquo; pour enregistrer les adresses pour lesquelles la réception de courrier est autorisée pour l&#8217;utilisateur :</p>
<ul>
<li>jean@linet.jopa.fr,</li>
<li>dupont@linet.jopa.fr,</li>
<li>jean.dupont@linet.jopa.fr</li>
</ul>
<p style="text-align: justify;">Et l&#8217;attribut &laquo;&nbsp;<strong>MailDrop</strong>&laquo;&nbsp;<strong> </strong>pour les adresses auxquelles le courrier va être effectivement distribué. Il faut noter que cet attribut doit correspondre à des boîtes réellement existantes. Dans sa configuration initiale, <em>Cyrus </em>cherche à stocker les messages dans des boîtes identifiées par le préfixe de l&#8217;adresse du destinataire (ce qui est avant le @).</p>
<ul>
<li>jean@linet.jopa.fr,</li>
<li>jean.dupont@gmail.com</li>
</ul>
<p>Dans cet exemple, tout message adressé  à l&#8217;une ou l&#8217;autre  des 3 adresses définies par l&#8217;attribut <em>&laquo;&nbsp;Mail&nbsp;&raquo; </em>devra  être distribué aux 2 adresses définies par l&#8217;attribut &laquo;&nbsp;<em>MailDrop</em>&laquo;&nbsp;.</p>
<p><strong>Côté ldiff, ça donne ça</strong> :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code14'); return false;">View Code</a> LDIF</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156314"><td class="code" id="p1563code14"><pre class="ldif" style="font-family:monospace;">&nbsp;
# utilisateurs.ldif
dn: uid=jean,dc=linet,dc=jopa,dc=fr
objectClass: top
objectClass: inetOrgPerson
objectClass: CourierMailAlias
uid: jean
cn: Jean DUPONT
sn: Jean
mail: jean@linet.jopa.fr
mail: dupont@linet.jopa.fr
mail: jean.dupont@linet.jopa.fr
maildrop: jean@linet.jopa.fr
maildrop: jean.dupont@gmail.com
userPassword: toto</pre></td></tr></table></div>

<p>Pour utiliser l&#8217;attribut &laquo;&nbsp;Maildrop&nbsp;&raquo; de la classe <em>CourierMailAlias</em>, il est nécessaire de récupérer le schéma décrivant la classe et de l&#8217;intégrer à l&#8217;annuaire. Le fichier s&#8217;appelle authldap.schema et vient avec la doc de Courier-Imap. (/usr/share/doc)&#8230; Vous pouvez également le récupérer ici :</p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2009/07/authldap.schema">authldap.schema</a></p>
<p>Le fichier doit être copié dans le répertoire contenant les schémas ( /etc/ldap/schema logiquement) et intégré à la structure de l&#8217;annuaire dans le fichier <em>/etc/ldap/slapd.conf</em></p>
<h3>/etc/ldap/slapd.conf</h3>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code15'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156315"><td class="code" id="p1563code15"><pre class="ini" style="font-family:monospace;"># This is the main slapd configuration file. See slapd.conf<span style="">&#40;</span><span style="">5</span><span style="">&#41;</span> for more
# info on the configuration options.
&nbsp;
#######################################################################
# Global Directives:
&nbsp;
# Features to permit
allow bind_v2
&nbsp;
# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/authldap.schema
...
...</pre></td></tr></table></div>

<h2>Postfix :</h2>
<p style="text-align: justify;">Le but ici, est de définir Cyrus comme agent de transport local (et virtuel) et de paramétrer les recherches dans l&#8217;annuaire LDAP. Cette recherche sera définie dans deux fichiers de configuration externes : <em>ldap-accounts.cf</em> pour la validation des destinataires et <em>ldap-aliases.cf</em> pour la gestion des alias.</p>
<h3>/etc/postfix.main.cf</h3>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code16'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156316"><td class="code" id="p1563code16"><pre class="ini" style="font-family:monospace;"># See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
<span style="color: #000099;">myorigin</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /etc/mailname</span>
...
...
# PARAMETRES LDAP
# Utilisateurs :
<span style="color: #000099;">virtual_mailbox_maps</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ldap:/etc/postfix/ldap-accounts.cf</span>
# Alias :
<span style="color: #000099;">virtual_alias_maps</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ldap:/etc/postfix/ldap-aliases.cf</span>
...
...
# Agent de transport local : CYRUS
<span style="color: #000099;">local_transport</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cyrus</span>
<span style="color: #000099;">virtual_transport</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cyrus</span>
<span style="color: #000099;">mailbox_transport</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cyrus</span>
...
...
...</pre></td></tr></table></div>

<h3>/etc/postfix/ldap-accounts.cf</h3>
<p>Ce fichier configure la recherche dans l&#8217;annuaire pour l&#8217;identification et la validation des destinataires. Il spécifie l&#8217;<em>adresse email</em> comme critère de recherche et  cas de succès, précise que c&#8217;est  l&#8217;<em>uid </em>de l&#8217;utilisateur qui doit être retourné.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code17'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156317"><td class="code" id="p1563code17"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">server_host</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> localhost</span>
<span style="color: #000099;">server_port</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 389</span>
<span style="color: #000099;">search_base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> dc=linet, dc=jopa, dc=fr</span>
<span style="color: #000099;">query_filter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> <span style="">&#40;</span>&amp;amp</span><span style="color: #666666; font-style: italic;">; (objectClass=InetOrgPerson)(mail=%s))</span>
<span style="color: #000099;">result_attribute</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> uid</span>
<span style="color: #000099;">bind</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
<span style="color: #000099;">bind_dn</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cn=admin,dc=linet,dc=jopa,dc=fr</span>
<span style="color: #000099;">bind_pw</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ******************</span>
<span style="color: #000099;">version</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 3</span></pre></td></tr></table></div>

<h3>/etc/postfix/ldap-aliases.cf</h3>
<p>Ce fichier permet, quant à lui, de gérer les Alias. Il définit lui aussi une recherche sur l<em>&#8216;adresse email</em> (champ mail) mais cette fois, c&#8217;est l&#8217;attribut &laquo;&nbsp;<em>Maildrop</em>&nbsp;&raquo; que sera retourné.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code18'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156318"><td class="code" id="p1563code18"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">server_host</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> localhost</span>
<span style="color: #000099;">server_port</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 389</span>
<span style="color: #000099;">search_base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> dc=linet, dc=jopa, dc=fr</span>
<span style="color: #000099;">query_filter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> <span style="">&#40;</span>&amp;amp</span><span style="color: #666666; font-style: italic;">; (objectClass=InetOrgPerson)(mail=%s))</span>
<span style="color: #000099;">result_attribute</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> maildrop</span>
<span style="color: #000099;">bind</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
<span style="color: #000099;">bind_dn</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cn=admin,dc=linet,dc=jopa,dc=fr</span>
<span style="color: #000099;">bind_pw</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ******************</span>
<span style="color: #000099;">version</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 3</span></pre></td></tr></table></div>

<p>En résumé, encore une démonstration de la puissance du duo Postfix/Ldap, pour une fonctionnalité très pratique et relativement simple à mettre en oeuvre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/07/28/alias-forward-postfix-openldap/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Installation d’un serveur mail brique par brique…Mise à jour&#8230;</title>
		<link>http://www.jopa.fr/index.php/2009/07/28/installation-d%e2%80%99un-serveur-mail-brique-par-brique%e2%80%a6mise-a-jour/</link>
		<comments>http://www.jopa.fr/index.php/2009/07/28/installation-d%e2%80%99un-serveur-mail-brique-par-brique%e2%80%a6mise-a-jour/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 16:09:13 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Groupware]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1551</guid>
		<description><![CDATA[J&#8217;ai publié, en début d&#8217;année, un billet sur l&#8217;installation d&#8217;un serveur mail basé sur différentes &#171;&#160;briques&#160;&#187; : OpenLDAP, Postfix, Cyrus-imap, TLS, SALS, Spamassassin, Amavis, etc&#8230; En réutilisant ce tuto pour l&#8217;installation d&#8217;un nouveau serveur, je me suis aperçu de quelques coquilles et de légères différences pour une installation sous Lenny. L&#8217;occasion pour moi de réactualiser [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2009/07/postfix.jpg"><img class="aligncenter size-full wp-image-1559" title="postfix" src="http://www.jopa.fr/wp-content/uploads/2009/07/postfix.jpg" alt="postfix" width="486" height="91" /></a></p>
<p style="text-align: justify;">J&#8217;ai publié, en début d&#8217;année, <a title="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/" href="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">un billet</a> sur l&#8217;installation d&#8217;un serveur mail basé sur différentes &laquo;&nbsp;briques&nbsp;&raquo; :</p>
<ul style="text-align: justify;">
<li>OpenLDAP,</li>
<li>Postfix,</li>
<li>Cyrus-imap,</li>
<li>TLS,</li>
<li>SALS,</li>
<li>Spamassassin,</li>
<li>Amavis,</li>
<li>etc&#8230;</li>
</ul>
<p style="text-align: justify;">En réutilisant ce tuto pour l&#8217;installation d&#8217;un nouveau serveur, je me suis aperçu de quelques coquilles et de légères différences pour une installation sous Lenny.</p>
<p style="text-align: justify;">L&#8217;occasion pour moi de réactualiser l&#8217;article, en tenant comptes de vos remarques et commentaires.</p>
<p id="post-1064"><a title="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/" href="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">Installation d’un serveur mail brique par brique… (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc…)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/07/28/installation-d%e2%80%99un-serveur-mail-brique-par-brique%e2%80%a6mise-a-jour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation d&#8217;un serveur mail brique par brique&#8230; (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc&#8230;)</title>
		<link>http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/</link>
		<comments>http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 22:22:40 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Evènements]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1064</guid>
		<description><![CDATA[Postfix, Cyrus, OpenLdap, Spamassassin, Amavis, etc&#8230; sont des logiciels qui ont largement fait leurs preuves et qui, assemblés, constituent un serveur de mails robuste et performant. Je me suis amusé, le week-end dernier, à assembler et configurer tous ces composants sur une distribution Debian Etch pour construire un tel serveur, en ajoutant en prime un [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-full wp-image-1110" title="mysza1" src="http://www.jopa.fr/wp-content/uploads/2009/02/mysza1.gif" alt="mysza1" width="130" height="91" /></p>
<p style="text-align: justify;"><em>Postfix, Cyrus, OpenLdap, Spamassassin, Amavis, etc&#8230; </em>sont des logiciels qui ont largement fait leurs preuves et qui, assemblés, constituent un serveur de mails robuste et performant. Je me suis amusé, le week-end dernier, à assembler et configurer tous ces composants sur une distribution <em>Debian Etch </em>pour construire un tel serveur<em>, </em>en ajoutant en prime un poil de sécurité grâce à SASL et TLS.  La tâche est loin d&#8217;être insurmontable, à condition de prendre les choses méthodiquement et calmement. Dans le bon ordre, les briques s&#8217;assemblent à merveille et c&#8217;est un vrai bonheur à construire.</p>
<p style="text-align: justify;">Nous allons voir, dans cet article, la mise en place d&#8217;une telle solution. Comme pour les précédents articles dédiés à <a title="http://www.jopa.fr/index.php/2008/12/14/groupwares-1ere-partie-installation-de-zimbra/" href="http://www.jopa.fr/index.php/2008/12/14/groupwares-1ere-partie-installation-de-zimbra/">Zimbra</a> et <a title="http://www.jopa.fr/index.php/2009/01/31/installation_obm_minig/" href="http://www.jopa.fr/index.php/2009/01/31/installation_obm_minig/">OBM</a>, nous allons réutiliser ma machine &laquo;&nbsp;labo&nbsp;&raquo; fraichement réinstallée avec une Debian Etch, tout ce qu&#8217;il y a de plus  classique.</p>
<p style="text-align: justify;"><span style="color: #0000ff;">Note du 28 Juillet 2009 : Mise à jour de l&#8217;article pour Debian Lenny.</span></p>
<p style="text-align: justify;"><span id="more-1064"></span></p>
<h1 style="text-align: justify;">1ère brique : Le serveur LDAP</h1>
<p style="text-align: justify;">Nous allons commencer par installer et configurer un petit annuaire LDAP de test. Il est bien entendu tout à fait possible de se baser sur un annuaire existant. Nous n&#8217;employerons  par la suite que 3 champs de la classe InetOrgPerson pour authentifier les utilisateurs et orienter la distribution du courrier. A savoir : uid, userPassword et mail. Il également possible d&#8217;utiliser d&#8217;autres champs en adaptant la configuration.</p>
<p style="text-align: justify;">Allez ! C&#8217;est parti !</p>
<p style="text-align: justify;"><span style="color: #800000;"><em># aptitude install slapd ldap-utils</em></span></p>
<p style="text-align: justify;">Le fichier de configuration de openLDAP est<em> /etc/ldap/slapd.conf.</em> Après l&#8217;installation, il devrait avoir la tête suivante :</p>
<h2 style="text-align: justify;">/etc/ldap/slapd.conf</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code36'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106436"><td class="code" id="p1064code36"><pre class="ini" style="font-family:monospace;"># Allow LDAPv2 binds
allow bind_v2
&nbsp;
# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
&nbsp;
# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile         /var/run/slapd/slapd.pid
&nbsp;
# List of arguments that were passed to the server
argsfile        /var/run/slapd/slapd.args
&nbsp;
# Read slapd.conf<span style="">&#40;</span><span style="">5</span><span style="">&#41;</span> for possible values
loglevel        <span style="">0</span>
&nbsp;
# Where the dynamically loaded modules are stored
modulepath      /usr/lib/ldap
moduleload      back_bdb
&nbsp;
# The maximum number of entries that is returned for a search operation
sizelimit <span style="">500</span>
&nbsp;
# The tool-threads parameter sets the actual amount of cpu's that is used
# for indexing.
tool-threads <span style="">1</span>
&nbsp;
#######################################################################
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend         bdb
checkpoint <span style="">512</span> <span style="">30</span>
&nbsp;
#######################################################################
# Specific Directives for database #<span style="">1</span>, of type bdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database        bdb
&nbsp;
# The base of your directory in database #<span style="">1</span>
suffix          <span style="color: #933;">&quot;dc=linet,dc=jopa,dc=fr&quot;</span>
&nbsp;
# Where the database file are physically stored for database #<span style="">1</span>
directory       <span style="color: #933;">&quot;/var/lib/ldap&quot;</span>
&nbsp;
# For the Debian package we use 2MB as default but be sure to update this
# value if you have plenty of RAM
dbconfig set_cachesize <span style="">0</span> <span style="">2097152</span> <span style="">0</span>
&nbsp;
# Number of objects that can be locked at the same time.
dbconfig set_lk_max_objects <span style="">1500</span>
# Number of locks <span style="">&#40;</span>both requested and granted<span style="">&#41;</span>
dbconfig set_lk_max_locks <span style="">1500</span>
# Number of lockers
dbconfig set_lk_max_lockers <span style="">1500</span>
&nbsp;
# Indexing options for database #<span style="">1</span>
index           objectClass eq
&nbsp;
# Save the time that the entry gets modified, for database #<span style="">1</span>
lastmod         on
&nbsp;
# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #<span style="">1</span> only
access to attrs<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">userPassword,shadowLastChange</span>
        by dn<span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;cn=admin,dc=linet,dc=jopa,dc=fr&quot;</span> write
        by anonymous auth
        by self write
        by * none
&nbsp;
# Ensure read access to the base for things like
# supportedSASLMechanisms.  Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL <span style="">&#40;</span>and possible other things<span style="">&#41;</span> to work
# happily.
access to dn.base<span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;&quot;</span> by * read
&nbsp;
# The admin dn has full write access, everyone else
# can read everything.
access to *
        by dn<span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;cn=admin,dc=linet,dc=jopa,dc=fr&quot;</span> write
        by * none
#        by * read</pre></td></tr></table></div>

<p style="text-align: justify;">Il est plus &laquo;&nbsp;sécure&nbsp;&raquo; de supprimer l&#8217;autorisation de lecture pour les utilisateurs non authentifiés en remplaçant &laquo;&nbsp;by * read&nbsp;&raquo; par &laquo;&nbsp;by * none&nbsp;&raquo; dans la dernière ACL.</p>
<p style="text-align: justify;">Pour la partie cliente du serveur ldap (utile pour <em>ldapsearch</em> par exemple), c&#8217;est le fichier <em>/etc/ldap/ldap.conf.</em></p>
<h2 style="text-align: justify;">/etc/ldap/ldap.conf</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code37'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106437"><td class="code" id="p1064code37"><pre class="ini" style="font-family:monospace;"># $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v <span style="">1.9</span> <span style="">2000</span>/09/04 <span style="">19</span>:<span style="">57</span>:01 kurt Exp $
#
# LDAP Defaults
#
# See ldap.conf<span style="">&#40;</span><span style="">5</span><span style="">&#41;</span> for details
# This file should be world readable but not world writable.
BASE    dc<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">linet, dc=jopa, dc=fr</span>
URI     ldap://localhost
#SIZELIMIT      <span style="">12</span>
#TIMELIMIT      <span style="">15</span>
#DEREF          never</pre></td></tr></table></div>

<p style="text-align: justify;">Le serveur LDAP étant opérationnel, nous ajoutons quelques utilisateurs à l&#8217;annuaire. Créons un petit fichier LDIF contenant 4 utilisateurs. L&#8217;utilisateur Cyrus servira plus tard pour administrer les boites Imap.</p>
<h2 style="text-align: justify;">Utilisateurs.ldif</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code38'); return false;">View Code</a> LDIF</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106438"><td class="code" id="p1064code38"><pre class="ldif" style="font-family:monospace;">dn: uid=cyrus,dc=linet,dc=jopa,dc=fr
uid: cyrus
cn: Administrateur Cyrus
sn: Cyrus
userPassword: MonMotDePasseSecret
objectClass: inetOrgPerson
&nbsp;
dn: uid=joel,dc=linet,dc=jopa,dc=fr
uid: joel
cn: Joël PASTRE
sn: PASTRE
mail:joel@linet.jopa.fr
userPassword: LeMotDePasseDeJoel
objectClass: inetOrgPerson
&nbsp;
dn: uid=jean,dc=linet,dc=jopa,dc=fr
uid: jean
cn: Jean DUPONT
sn: DUPONT
mail:jean@linet.jopa.fr
userPassword: LeMotDePasseDeJean
objectClass: inetOrgPerson
&nbsp;
dn: uid=jojo,dc=linet,dc=jopa,dc=fr
uid: jojo
cn: jojo LAAAPIN
sn: LAAAPIN
mail:jojo@linet.jopa.fr
userPassword: laaaaaaaapin
objectClass: inetOrgPerson</pre></td></tr></table></div>

<p style="text-align: justify;">On ajoute tout ça à l&#8217;annuaire :</p>
<p style="text-align: justify;"><span style="color: #800000;"># ldapadd -x -f utilisateurs.ldif -D &laquo;&nbsp;cn=admin,dc=linet,dc=jopa,dc=fr&nbsp;&raquo; -w MotDePasseAdminLDAP<br />
adding new entry &laquo;&nbsp;uid=cyrus,dc=linet,dc=jopa,dc=fr&nbsp;&raquo;</span> <span style="color: #800000;"><br />
adding new entry &laquo;&nbsp;uid=joel,dc=linet,dc=jopa,dc=fr&nbsp;&raquo;</span> <span style="color: #800000;"><br />
adding new entry &laquo;&nbsp;uid=jean,dc=linet,dc=jopa,dc=fr&nbsp;&raquo;</span><br />
<span style="color: #800000;">adding new entry &laquo;&nbsp;uid=jojo,dc=linet,dc=jopa,dc=fr&nbsp;&raquo;</span></p>
<p style="text-align: justify;">Voilà pour l&#8217;annuaire&#8230; penchons nous maintenant sur l&#8217;authentification&#8230;</p>
<h1 style="text-align: justify;">2ème brique : SASL</h1>
<p style="text-align: justify;"><span style="color: #800000;"># aptitude install sasl2-bin</span></p>
<p style="text-align: justify;">Le fichier : <em>/etc/saslauthd.conf </em>(à créer de toute pièce) va permettre à <em>saslauthd</em> d&#8217;utiliser l&#8217;annuaire <em>ldap</em> comme base d&#8217;utilisateurs et de mots de passe.</p>
<h2 style="text-align: justify;">/etc/saslauthd.conf</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code39'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106439"><td class="code" id="p1064code39"><pre class="ini" style="font-family:monospace;"># SERVEUR LDAP
LDAP_SERVERS: ldap://localhost
&nbsp;
# DOMAINE
LDAP_DEFAULT_DOMAIN: linet.jopa.fr
&nbsp;
LDAP_TIMEOUT: <span style="">10</span>
LDAP_TIME_LIMIT: <span style="">10</span>
LDAP_CACHE_TTL: <span style="">30</span>
LDAP_CACHE_MEM: <span style="">32768</span>
&nbsp;
# VERSION LDAP
LDAP_VERSION: <span style="">3</span>
&nbsp;
# SASL Pour l'accès au serveur
LDAP_USE_SASL: no
&nbsp;
# Méthode d'authentification <span style="">&#40;</span>bind / custom / fastbind<span style="">&#41;</span>
LDAP_AUTH_METHOD: bind
&nbsp;
# Utilisateur utilisé pour la connexion - Si vide <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Anonyme</span>
LDAP_BIND_DN: cn<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">admin,dc=linet,dc=jopa,dc=fr</span>
# Et le mot de passe
LDAP_BIND_PW: MotDePasseAdminLDAP
&nbsp;
# Base de départ de la recherche
LDAP_SEARCH_BASE: dc<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">linet,dc=jopa,dc=fr</span>
# Et profondeur <span style="">&#40;</span>sub / one / base <span style="">&#41;</span>
LDAP_SCOPE: sub
&nbsp;
# Filtre de recherche : uid dans notre cas
LDAP_FILTER: uid<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">%u</span>
# Et nom du champ contenant le mot de passe
LDAP_PASSWORD_ATTR: userPassword</pre></td></tr></table></div>

<p style="text-align: justify;"><strong><br />
</strong></p>
<p style="text-align: justify;"><strong>Attention : Ce fichier est créé par défaut en lecture pour tout le monde sous Debian. Il est impératif de changer ses droit pour n&#8217;autoriser la lecture qu&#8217;à l&#8217;utilisateur root.</strong></p>
<p style="text-align: justify;"><span style="color: #800000;"># chmod 600 /etc/saslauthd.conf</span></p>
<p style="text-align: justify;">L&#8217;activation de l&#8217;authentification <em>sasl</em> et l&#8217;utilisation de se fichier se font par modification de <em>/etc/default/saslauthd</em>.</p>
<p style="text-align: justify;">Il faut bien penser à activer le démon (<em>START=yes</em>) et spécifier la méthode d&#8217;authentification utilisée par <em>saslauthd</em> (ldap dans mon cas).</p>
<h2 style="text-align: justify;">/etc/default/saslauthd</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code40'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106440"><td class="code" id="p1064code40"><pre class="ini" style="font-family:monospace;">#
# Settings for saslauthd daemon
#
# Should saslauthd run automatically on startup? <span style="">&#40;</span>default: no<span style="">&#41;</span>
## ICI : démarrage automatique du démon
<span style="color: #000099;">START</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">yes</span>
&nbsp;
# Which authentication mechanisms should saslauthd use? <span style="">&#40;</span>default: pam<span style="">&#41;</span>
#
# Available options in this Debian package:
# getpwent  -- use the getpwent<span style="">&#40;</span><span style="">&#41;</span> library function
# kerberos5 -- use Kerberos <span style="">5</span>
# pam       -- use PAM
# rimap     -- use a remote IMAP server
# shadow    -- use the local shadow password file
# sasldb    -- use the local sasldb database file
# ldap      -- use LDAP <span style="">&#40;</span>configuration is in /etc/saslauthd.conf<span style="">&#41;</span>
#
# Only one option may be used at a time. See the saslauthd man page
# for more information.
#
# Example: MECHANISMS<span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;pam&quot;</span>
# ICI : Méthode d'authentification et Paramètre : Fichier saslauthd.conf
<span style="color: #000099;">MECHANISMS</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;ldap&quot;</span>
<span style="color: #000099;">PARAMS</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;-O /etc/saslauthd.conf&quot;</span>
&nbsp;
# Additional options for this mechanism. <span style="">&#40;</span>default: none<span style="">&#41;</span>
# See the saslauthd man page for information about mech-specific options.
<span style="color: #000099;">MECH_OPTIONS</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;&quot;</span>
&nbsp;
# How many saslauthd processes should we run? <span style="">&#40;</span>default: <span style="">5</span><span style="">&#41;</span>
# A value of <span style="">0</span> will fork a new process for each connection.
<span style="color: #000099;">THREADS</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">5</span>
# Other options <span style="">&#40;</span>default: -c<span style="">&#41;</span>
# See the saslauthd man page for information about these options.
#
# Example for postfix users: <span style="color: #933;">&quot;-c -m /var/spool/postfix/var/run/saslauthd&quot;</span>
# Note: See /usr/share/doc/sasl2-bin/README.Debian
&nbsp;
# Nécessaire pour le chroot de Postfix <span style="">&#40;</span>par defaut sous Debian<span style="">&#41;</span>
<span style="color: #000099;">OPTIONS</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;-c -m /var/spool/postfix/var/run/saslauthd&quot;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Démarrage du démon saslauthd:</p>
<p style="text-align: justify;"><span style="color: #800000;"># /etc/init.d/saslauthd start</span></p>
<p style="text-align: justify;">Et test :</p>
<p style="text-align: justify;"><span style="color: #800000;"> #  testsaslauthd -u jean -p LeMotDePasseDeJean<br />
0: OK &laquo;&nbsp;Success.&nbsp;&raquo;</span></p>
<p style="text-align: justify;"><span style="color: #800000;">#  testsaslauthd -u jojo -p laaaaaaaapin<br />
0: OK &laquo;&nbsp;Success.&nbsp;&raquo;</span></p>
<p style="text-align: justify;">Bon ! Une de plus !!!</p>
<h1 style="text-align: justify;">3ème brique : Cyrus</h1>
<p style="text-align: justify;">Nous voilà capable d&#8217;authentifier nos utilisateurs,  nous allons pouvoir leur créer des boites imap  (et pop accessoirement). Installons donc <em>cyrus-imap</em>, ses outils d&#8217;administrations, sa doc et tous les paquets nécessaires à l&#8217;authentifications sasl.</p>
<p style="text-align: justify;"><span style="color: #800000;"># aptitude install cyrus-admin-2.2 cyrus-clients-2.2 cyrus-imapd-2.2 cyrus-pop3d-2.2 cyrus-sasl2-doc cyrus-doc-2.2<br />
# aptitude install libauthen-sasl-cyrus-perl libcyrus-imap-perl22 libsasl2-2  libauthen-sasl-perl libsasl2-modules</span></p>
<p style="text-align: justify;">Le fichier de configuration principal est <em>/etc/imapd.conf </em>. Il y a juste quelques bricoles à changer :</p>
<h2 style="text-align: justify;">/etc/imapd.conf</h2>
<ul>
<li><span style="color: #008000;">admins: cyrus </span> ( à décommenter : Nom de l&#8217;administrateur du serveur imapd&#8230; Si si ! C&#8217;est bien l&#8217;utilisateur cyrus que nous avons inséré dans l&#8217;annuaire),</li>
<li><span style="color: #008000;">sasl_pwcheck_method: saslauthd</span> (à modifier pour préciser la méthode de gestion des mots de passe),</li>
<li><span style="color: #008000;">sasl_mech_list : PLAIN </span> (à décommenter).</li>
</ul>
<p style="text-align: justify;"><span style="color: #800000;"># /etc/init.d/cyrus2.2 restart</span></p>
<p style="text-align: justify;">Si tout est bon, la commande : <span style="color: #800000;">cyradm &#8211;user cyrus localhost</span> devrait permettre la connexion au shell d&#8217;administration imap et la création des boites. Afin de garantir un nommage unique et cohérent, nous utiliserons tout simplement comme nom, l&#8217;<em>uid</em> de leur propriétaire.</p>
<p style="text-align: justify;"><span style="color: #800000;"># cyradm &#8211;user cyrus localhost<br />
Password:<br />
localhost&gt; cm user.joel<br />
localhost&gt; cm user.jean<br />
localhost&gt; cm user.jojo<br />
localhost&gt; lm<br />
user.jean (HasNoChildren)  user.jojo (HasNoChildren)<br />
user.joel (HasNoChildren)<br />
localhost&gt; quit</span></p>
<p style="text-align: justify;">Ca&#8230;.C&#8217;est fait.. Il est dès à présent possible de se connecter au serveur Imap avec un client de messagerie. Bon d&#8217;accord, l&#8217;intérêt est très limité vu qu&#8217;aucun agent de distribution n&#8217;est configuré; si ce n&#8217;est pour valider le travail réalisé jusque là&#8230;</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-1092" title="capture-parametres-des-comptes" src="http://www.jopa.fr/wp-content/uploads/2009/02/capture-parametres-des-comptes.png" alt="capture-parametres-des-comptes" width="546" height="569" /></p>
<p style="text-align: justify;">
<p style="text-align: justify;">Il manque encore une brique à notre projet de maçonnerie afin de pouvoir envoyer et reçevoir des mails : C&#8217;est <em>Postfix</em> bien entendu&#8230;</p>
<h1 style="text-align: justify;">4ème brique : Postfix</h1>
<p style="text-align: justify;"><em>Postfix </em>va identifier les destinataires de mails reçus en interrogeant directement l&#8217;annuaire <em>LDAP</em>.</p>
<p style="text-align: justify;">Comme nous voulons que nos utilisateurs nomades puissent envoyer des mails via ce serveur, même s&#8217;ils sont à l&#8217;extérieur de mon réseau privé, nous les authentifierons sur le serveur smtp grâce à <em>saslauthd</em> &#8230; une fois de plus.</p>
<p style="text-align: justify;"><span style="color: #800000;"># aptitude install postfix postfix-tls postfix-ldap</span></p>
<p style="text-align: justify;">Sur une install Debian toute neuve, aptitude détecte un conflit avec Exim4 et propose de le désinstaller. C&#8217;est bien ce qu&#8217;il faut faire !</p>
<p style="text-align: justify;">L&#8217;installateur demande le type de serveur et le domaine de courrier. Choisissons  une configuration de type &laquo;&nbsp;Site Internet&nbsp;&raquo; et dans ce cas précis, nous travaillons sur le domaine &laquo;&nbsp;linet.jopa.fr&nbsp;&raquo;. Les réponses à ces questions n&#8217;ont pas ici, une grande importance : Nous reprendrons manuellement la configuration plus loin.</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-1072" title="postfix" src="http://www.jopa.fr/wp-content/uploads/2009/02/postfix.png" alt="postfix" width="513" height="348" /></p>
<p style="text-align: justify;">Pour que la distribution locale du courrier soit assurée par <em>Cyrus-Imap</em>, nous devons déclarer <em>Cyrus</em> comme agent de distribution. Ceci se fait par l&#8217;intermédiaire du fichier <em>/etc/postfix/master.cf </em>en ajoutant une ligne en fin de fichier :</p>
<h2 style="text-align: justify;">/etc/postfix/master.cf</h2>
<p style="text-align: justify;"><span style="color: #008000;"><strong>cyrus</strong> unix    -       n       n       -       -       pipe    flags=R user=<strong>cyrus</strong> argv=/usr/sbin/cyrdeliver -e -m ${extension} ${user} </span></p>
<p style="text-align: justify;">Le suite se passe dans le fichier principal de configuration de postfix : <em>/etc/postfix/main.cf</em></p>
<h2 style="text-align: justify;">/etc/postfix/main.cf</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code41'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106441"><td class="code" id="p1064code41"><pre class="ini" style="font-family:monospace;"># See /usr/share/postfix/main.cf.dist for a commented, more complete version
&nbsp;
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
&nbsp;
<span style="color: #000099;">myorigin</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /etc/mailname</span>
&nbsp;
<span style="color: #000099;">smtpd_banner</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> $myhostname ESMTP $mail_name <span style="">&#40;</span>Debian/GNU<span style="">&#41;</span></span>
<span style="color: #000099;">biff</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> no</span>
&nbsp;
# appending .domain is the MUA's job.
<span style="color: #000099;">append_dot_mydomain</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> no</span>
&nbsp;
# Uncomment the next line to generate <span style="color: #933;">&quot;delayed mail&quot;</span> warnings
#delay_warning_time <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 4h</span>
&nbsp;
# PARAMETRES TLS : Configuré automatiquement par postfix-tls
<span style="color: #000099;">smtpd_tls_cert_file</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">/etc/ssl/certs/ssl-cert-snakeoil.pem</span>
<span style="color: #000099;">smtpd_tls_key_file</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">/etc/ssl/private/ssl-cert-snakeoil.key</span>
<span style="color: #000099;">smtpd_use_tls</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">yes</span>
<span style="color: #000099;">smtpd_tls_session_cache_database</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> btree:$<span style="">&#123;</span>queue_directory<span style="">&#125;</span>/smtpd_scache</span>
<span style="color: #000099;">smtp_tls_session_cache_database</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> btree:$<span style="">&#123;</span>queue_directory<span style="">&#125;</span>/smtp_scache</span>
&nbsp;
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
&nbsp;
<span style="color: #000099;">myhostname</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> labo.linet.jopa.fr</span>
&nbsp;
# PARAMETRES LDAP
<span style="color: #000099;">mailbox_maps</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ldap:/etc/postfix/ldap-accounts.cf</span>
<span style="color: #000099;">alias_maps</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ldap:/etc/postfix/ldap-aliases.cf</span>
&nbsp;
<span style="color: #000099;">mydestination</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> linet.jopa.fr, labo.linet.jopa.fr, localhost.linet.jopa.fr, localhost</span>
<span style="color: #000099;">relayhost</span> <span style="color: #000066; font-weight:bold;">=</span>
&nbsp;
# On notera que seul localhost est identifié. Les autres clients devront s'authentifier
<span style="color: #000099;">mynetworks</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 127.0.0.0/8</span>
&nbsp;
# Agent de transport local : CYRUS
<span style="color: #000099;">local_transport</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cyrus</span>
&nbsp;
<span style="color: #000099;">recipient_delimiter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> +</span>
&nbsp;
# Restrictions
<span style="color: #000099;">smtpd_recipient_restrictions</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> reject_unauth_pipelining,</span>
                                            reject_non_fqdn_recipient,
                                            reject_unauth_destination,
                                            permit_mynetworks,
                                            permit_sasl_authenticated
&nbsp;
<span style="color: #000099;">smtpd_sender_restrictions</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">  reject_non_fqdn_sender,</span>
                                           reject_unknown_sender_domain,
                                           reject_unauth_pipelining,
                                           permit_sasl_authenticated,
                                           permit_mynetworks
&nbsp;
# AUTHENTIFICATION SASL
<span style="color: #000099;">smtpd_sasl_auth_enable</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
<span style="color: #000099;">smtpd_sasl_security_options</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> noanonymous</span>
<span style="color: #000099;">smtpd_sasl_local_domain</span> <span style="color: #000066; font-weight:bold;">=</span>
&nbsp;
<span style="color: #000099;">inet_interfaces</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> all</span></pre></td></tr></table></div>

<p>Il faut particulièrement être attentif au points suivants de la configuration :</p>
<ul>
<li><em><span style="color: #008000;"> mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf</span></em> et <em>alias_maps = ldap:/etc/postfix/ldap-aliases.cf </em>pour la validation des destinataires par recherche dans le ldap,</li>
<li><em><span style="color: #008000;">mynetworks = 127.0.0.0/8</span></em> pour n&#8217;autoriser que Localhost à envoyer ou recevoir des mails (permit_mynetworks), les autres seront authentifiés via<em> saslauthd</em>,</li>
<li><em><span style="color: #008000;">local_transport = cyrus</span></em> pour déclarer Cyrus comme agent de transport local,</li>
<li>et enfin,<span style="color: #008000;"><em> smtpd_sasl_auth_enable = yes</em></span> pour activer l&#8217;authentification sasl.</li>
</ul>
<p style="text-align: justify;">Pour l&#8217;accès au LDAP, nous faisons référence à deux fichiers : <em>/etc/postfix/ldap-accounts.cf</em> et <em>/etc/postfix/ldap-aliases.cf</em></p>
<h2 style="text-align: justify;"><em>/etc/postfix/ldap-accounts.cf</em></h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code42'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106442"><td class="code" id="p1064code42"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">server_host</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> localhost</span>
<span style="color: #000099;">server_port</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 389</span>
<span style="color: #000099;">search_base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> dc=linet, dc=jopa, dc=fr</span>
<span style="color: #000099;">query_filter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> <span style="">&#40;</span>&amp;<span style="">&#40;</span>objectClass<span style="color: #000066; font-weight:bold;">=</span>InetOrgPerson<span style="">&#41;</span><span style="">&#40;</span>mail<span style="color: #000066; font-weight:bold;">=</span>%s<span style="">&#41;</span><span style="">&#41;</span></span>
<span style="color: #000099;">result_attribute</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> uid</span>
<span style="color: #000099;">bind</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
<span style="color: #000099;">bind_dn</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cn=admin,dc=linet,dc=jopa,dc=fr</span>
<span style="color: #000099;">bind_pw</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> MotDePasseAdminLDAP</span>
<span style="color: #000099;">version</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 3</span></pre></td></tr></table></div>

<h2 style="text-align: justify;"><em>/etc/postfix/ldap-aliases.cf</em></h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code43'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106443"><td class="code" id="p1064code43"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">server_host</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> localhost</span>
<span style="color: #000099;">server_port</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 389</span>
<span style="color: #000099;">search_base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> dc=linet, dc=jopa, dc=fr</span>
<span style="color: #000099;">query_filter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> <span style="">&#40;</span>&amp;<span style="">&#40;</span>objectClass<span style="color: #000066; font-weight:bold;">=</span>InetOrgPerson<span style="">&#41;</span><span style="">&#40;</span>mail<span style="color: #000066; font-weight:bold;">=</span>%s<span style="">&#41;</span><span style="">&#41;</span></span>
<span style="color: #000099;">result_attribute</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> mail</span>
<span style="color: #000099;">bind</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
<span style="color: #000099;">bind_dn</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cn=admin,dc=linet,dc=jopa,dc=fr</span>
<span style="color: #000099;">bind_pw</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> MotDePasseAdminLDAP</span>
<span style="color: #000099;">version</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 3</span></pre></td></tr></table></div>

<p>N&#8217;oublions pas de gérer les droits de ces 2 fichiers :</p>
<p><span style="color: #800000;"># chown root:sasl ldap*.cf<br />
# chmod 640 ldap*.cf<br />
</span></p>
<p><em>L&#8217;attribut en retour ici est mail (result_attribute = mail) , mais il peut être très judicieux d&#8217;ajouter à l&#8217;annuaire LDAP un champ &laquo;&nbsp;maildrop&nbsp;&raquo; qui sera retourné ici. Ce champ donnera alors une vrai fonctionnalité d&#8217;alias, permettant de transférer tout mail à destination de l&#8217;utilisateur vers une ou plusieurs autres adresses email.</em></p>
<p><em>De plus, il faut noter que dans la configuration actuelle et sans cette notion d&#8217;alias, une boîte cyrus doit être assiciée à chaque adresse email locale. En effet, Cyrus recherche une boîte dont le nom correspond au préfixe de l&#8217;adresse email du destinataire (ce qui est avant le @en bref).<br />
</em></p>
<p style="text-align: justify;">L&#8217;authentification SASL à besoin d&#8217;un fichier : <em>/etc/postfix/sasl/smtpd.conf</em> . Attention, sous d&#8217;autres distributions, le fichier peut être cherché ailleur, généralement dans <em>/usr/lib/sasl2/ </em>ou <em>/usr/local/lib/sasl2</em>. Elle a également besoin que l&#8217;utilisateur &laquo;&nbsp;<em>postfix</em>&nbsp;&raquo; appartienne au groupe SASL.</p>
<p style="text-align: justify;"><span style="color: #800000;"># adduser postfix sasl<br />
# id postfix<br />
uid=106(postfix) gid=106(postfix) groupes=106(postfix),45(sasl)<br />
# vi /etc/postfix/sasl/smtpd.conf</span></p>
<h2 style="text-align: justify;"><em>/etc/postfix/sasl/smtpd.conf</em></h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code44'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106444"><td class="code" id="p1064code44"><pre class="ini" style="font-family:monospace;">pwcheck_method: saslauthd
mech_list: plain</pre></td></tr></table></div>

<p style="text-align: justify;">Note : Debian fait tourner Postfix dans un chroot. En cas de problème d&#8217;accès au socket SASL, il faut bien vérifier la ligne OPTIONS du fichier <em>/etc/default/saslauthd</em>.</p>
<h2 style="text-align: justify;">/etc/default/saslauthd</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code45'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106445"><td class="code" id="p1064code45"><pre class="ini" style="font-family:monospace;">#
# Settings for saslauthd daemon
..
# Nécessaire pour le chroot de Postfix <span style="">&#40;</span>par defaut sous Debian<span style="">&#41;</span>
<span style="color: #000099;">OPTIONS</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;-c -m /var/spool/postfix/var/run/saslauthd&quot;</span></pre></td></tr></table></div>

<h2 style="text-align: justify;"><em><em>/etc/postfix/master.cf</em></em></h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code46'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106446"><td class="code" id="p1064code46"><pre class="ini" style="font-family:monospace;">service type  private unpriv  chroot  wakeup  maxproc command + args
#               <span style="">&#40;</span>yes<span style="">&#41;</span>   <span style="">&#40;</span>yes<span style="">&#41;</span>   <span style="">&#40;</span>yes<span style="">&#41;</span>   <span style="">&#40;</span>never<span style="">&#41;</span> <span style="">&#40;</span><span style="">100</span><span style="">&#41;</span>
# <span style="color: #000066; font-weight:bold;">==========================================================================</span>
smtp      inet  n       -       -       -       -       smtpd
...</pre></td></tr></table></div>

<p style="text-align: justify;"><span style="color: #800000;"><br />
</span><span style="color: #800000;"> </span></p>
<p style="text-align: justify;">Allez&#8230; Là, ça prend carrément forme. Testons sans plus attendre en configurant un serveur <em>smtp </em>sur notre client de messagerie préféré :</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-1102" title="smtp_tls" src="http://www.jopa.fr/wp-content/uploads/2009/02/smtp_tls.jpg" alt="smtp_tls" width="336" height="282" /></p>
<p style="text-align: justify;">On peut remarquer que, après acceptation des certificats, la connexion sécurisée TLS fonctionne parfaitement. C&#8217;est biensûr dû à l&#8217;installation de <em>postfix-tls </em>qui a généré les certificats et préconfiguré <em>Postfix</em>. Cette fonctionnalité n&#8217;apporte malheureusement pas grand chose tant que la connexion <em>Imap </em>n&#8217;est pas elle aussi sécurisée, tout particulièrement dans notre cas où les noms d&#8217;utilisateurs et mots de passes sont identiques pour les deux services.</p>
<h1 style="text-align: justify;">Petit retour arrière : Cyrus-Imap (TLS)</h1>
<p style="text-align: justify;">Afin d&#8217;activer le support TLS pour Cyrus-Imap, il suffit d&#8217;éditer le fichier /etc/imapd.conf et de décommenter les deux lignes suivantes (le certificat utilisé est le même que pour postfix). L&#8217;utilisateur <em>cyrus</em> doit appartenir au groupe <em>ssl-cert</em> pour pouvoir lire la clef privée.</p>
<p style="text-align: justify;"><span style="color: #800000;"># adduser cyrus ssl-cert</span></p>
<h2 style="text-align: justify;">/etc/imapd.conf</h2>
<p style="text-align: justify;"><span style="color: #008000;">tls_cert_file: /etc/ssl/certs/ssl-cert-snakeoil.pem</span></p>
<p style="text-align: justify;"><span style="color: #008000;"> tls_key_file: /etc/ssl/private/ssl-cert-snakeoil.key</span></p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-1103" title="imap_tls_non_sec" src="http://www.jopa.fr/wp-content/uploads/2009/02/imap_tls_non_sec.jpg" alt="imap_tls_non_sec" width="526" height="210" /></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">Il est temps maintenant de prémunir notre système contre les spams et les virus.</p>
<h1 style="text-align: justify;">5ème brique : Anti-spams &#8211; GreyListing</h1>
<blockquote>
<p style="text-align: justify;">Le <strong>greylisting</strong> (le mot anglais signifie : « inscription sur liste grise ») est une technique <a title="Anti-spam" href="http://fr.wikipedia.org/wiki/Anti-spam">antipourriel</a> très simple qui consiste à rejeter temporairement un message, par émission d’un code de refus temporaire au serveur émetteur (<a class="mw-redirect" title="Mail transfer agent" href="http://fr.wikipedia.org/wiki/Mail_transfer_agent">MTA</a>). Dans la majorité des cas, les serveurs émetteurs réexpédient le courriel après quelques minutes. La plupart des serveurs émettant des <a title="Pourriel" href="http://fr.wikipedia.org/wiki/Pourriel">pourriels</a> ne prendraient pas cette peine.</p>
<p style="text-align: justify;">( <a title="http://fr.wikipedia.org/wiki/Greylisting" href="http://fr.wikipedia.org/wiki/Greylisting">http://fr.wikipedia.org/wiki/Greylisting</a> )</p>
</blockquote>
<p style="text-align: justify;">L&#8217;installation est basique, et il n&#8217;y a pas grand chose à ajouter au paramétrage par défaut.</p>
<p style="text-align: justify;"><span style="color: #800000;"># aptitude install postgrey</span></p>
<p style="text-align: justify;">La mise en service se fait par l&#8217;ajout de la  règle &laquo;&nbsp;<em>check_policy_service inet:[127.0.0.1]:60000</em>&laquo;&nbsp;  à  &laquo;&nbsp;<em>smtpd_recipient_restrictions</em>&nbsp;&raquo; dans le fichier <em>/etc/postfix/main.cf</em></p>
<h2 style="text-align: justify;"><em>/etc/postfix/main.cf</em></h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code47'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106447"><td class="code" id="p1064code47"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">smtpd_recipient_restrictions</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> reject_unauth_pipelining,</span>
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unauth_destination,
check_policy_service inet:<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>127.0.0.1<span style="">&#93;</span></span>:<span style="">60000</span></pre></td></tr></table></div>

<h1 style="text-align: justify;">6ème brique : Anti-spams / Antivirus &#8211; Amavis / SpamAssassin / Clamav</h1>
<p style="text-align: justify;">C&#8217;est <em>Amavis </em>qui va être chargé du filtrage de contenus, en s&#8217;appuyant sur <em>Spamassassin</em> contre les spams et<em> Clamav</em> contre les virus. Clamav dispose d&#8217;un outil permettant la mise à jour des signatures virales : <em>freshclam.</em> Pour avoir des mises à jour plus régulière, il suffit d&#8217;ajouter un dépot<em> debian-volatile </em>à la liste des dépôts. Par exemple :</p>
<p style="text-align: justify;"><span style="color: #800000;"># echo &laquo;&nbsp;deb http://ftp2.de.debian.org/debian-volatile lenny/volatile main contrib&nbsp;&raquo; &gt; /etc/apt/sources.list.d/volatile.list<br />
# aptitude update</span></p>
<p style="text-align: justify;">Passons à l&#8217;installation :</p>
<p style="text-align: justify;"><span style="color: #800000;"># aptitude install amavis-new clamav clamav-freshclam clamav-daemon spamassassin</span></p>
<p style="text-align: justify;">L&#8217;activation du démon <em>spamassassin</em> se fait par l&#8217;intermédiaire du fichier &laquo;&nbsp;<em>/etc/default/spamassassin</em>&nbsp;&raquo; en plaçant l&#8217;option <em>ENABLED</em> à 1</p>
<h2 style="text-align: justify;">/etc/default/spamassassin</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code48'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106448"><td class="code" id="p1064code48"><pre class="ini" style="font-family:monospace;"># /etc/default/spamassassin
# Duncan Findlay
&nbsp;
# WARNING: please read README.spamd before using.
# There may be security risks.
&nbsp;
# Change to one to enable spamd
<span style="color: #000099;">ENABLED</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">1</span>
&nbsp;
# Options
# See man spamd for possible options. The -d option is automatically added.
&nbsp;
# SpamAssassin uses a preforking model, so be careful! You need to
# make sure --max-children is not set to anything higher than <span style="">5</span>,
# unless you know what you're doing.
&nbsp;
<span style="color: #000099;">OPTIONS</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;--create-prefs --max-children 5 --helper-home-dir&quot;</span>
&nbsp;
# Pid file
# Where should spamd write its PID to file? If you use the -u or
# --username option above, this needs to be writable by that user.
# Otherwise, the init script will not be able to shut spamd down.
<span style="color: #000099;">PIDFILE</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;/var/run/spamd.pid&quot;</span>
&nbsp;
# Set nice level of spamd
#NICE<span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;--nicelevel 15&quot;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Il faut ensuite demander à postfix d&#8217;utiliser Amavis pour le filtrage de contenus. Revenons une fois de plus dans notre fichier &laquo;&nbsp;<em>/etc/postfix/main.cf</em>&nbsp;&raquo; pour ajouter la directive :<em>content_filter = smtp-amavis:[127.0.0.1]:10024</em></p>
<h2 style="text-align: justify;">/etc/postfix/main.cf</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code49'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106449"><td class="code" id="p1064code49"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">content_filter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> smtp-amavis:<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>127.0.0.1<span style="">&#93;</span></span>:10024</span>
&nbsp;
<span style="color: #000099;">smtpd_recipient_restrictions</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> reject_unauth_pipelining,</span>
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unauth_destination,
check_policy_service inet:<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>127.0.0.1<span style="">&#93;</span></span>:<span style="">60000</span>
&nbsp;
<span style="color: #000099;">smtpd_sender_restrictions</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">  permit_sasl_authenticated,</span>
permit_mynetworks,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_unauth_pipelining</pre></td></tr></table></div>

<p>Afin de pouvoir utiliser l&#8217;agent de transport smtp-amavis, nous devons le définir dans le fichier &laquo;&nbsp;master.cf&nbsp;&raquo; de postfix :</p>
<h2 style="text-align: justify;">/etc/postfix/master.cf</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code50'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106450"><td class="code" id="p1064code50"><pre class="ini" style="font-family:monospace;">...
#CLAMAV-AMAVIS
smtp-amavis unix - - n - <span style="">2</span> smtp
        -o smtp_data_done_timeout<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">1200</span>
        -o smtp_send_xforward_command<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">yes</span>
        -o disable_dns_lookups<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">yes</span>
127.0.0.1:<span style="">10025</span> inet n - n - - smtpd
        -o content_filter<span style="color: #000066; font-weight:bold;">=</span>
        -o local_recipient_maps<span style="color: #000066; font-weight:bold;">=</span>
        -o relay_recipient_maps<span style="color: #000066; font-weight:bold;">=</span>
        -o smtpd_restriction_classes<span style="color: #000066; font-weight:bold;">=</span>
        -o smtpd_client_restrictions<span style="color: #000066; font-weight:bold;">=</span>
        -o smtpd_helo_restrictions<span style="color: #000066; font-weight:bold;">=</span>
        -o smtpd_sender_restrictions<span style="color: #000066; font-weight:bold;">=</span>
        -o smtpd_recipient_restrictions<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">permit_mynetworks,reject</span>
        -o mynetworks<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">127.0.0.0/8</span>
        -o strict_rfc821_envelopes<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">yes</span>
        -o smtpd_error_sleep_time<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">0</span>
        -o smtpd_soft_error_limit<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">1001</span>
        -o smtpd_hard_error_limit<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">1000</span>
...</pre></td></tr></table></div>

<p>Pour finir avec <em>amavis</em>, un brin de configuration est nécessaire pour activer le filtrage anti-spam et anti-virus.</p>
<h2>/etc/amavis/conf.d/15-content_filter_mode</h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code51'); return false;">View Code</a> PERL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106451"><td class="code" id="p1064code51"><pre class="perl" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># You can modify this file to re-enable SPAM checking through spamassassin</span>
<span style="color: #666666; font-style: italic;"># and to re-enable antivirus checking.</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Default antivirus checking mode</span>
<span style="color: #666666; font-style: italic;"># Uncomment the two lines below to enable it back</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #0000ff;">@bypass_virus_checks_maps</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>
   <span style="color: #0000ff;">%bypass_virus_checks</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">@bypass_virus_checks_acl</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$bypass_virus_checks_re</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Default SPAM checking mode</span>
<span style="color: #666666; font-style: italic;"># Uncomment the two lines below to enable it back</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #0000ff;">@bypass_spam_checks_maps</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>
   <span style="color: #0000ff;">%bypass_spam_checks</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">@bypass_spam_checks_acl</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$bypass_spam_checks_re</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;"># insure a defined return</span></pre></td></tr></table></div>

<p style="text-align: justify;">Il nous faudra, si cela n&#8217;est pas fait à l&#8217;installation, ajouter l&#8217;utilisateur <em>clamav </em>au groupe <em>amavis</em>.</p>
<p style="text-align: justify;"><span style="color: #800000;"># adduser clamav amavis</span></p>
<h1 style="text-align: justify;">7ème brique : Anti-spams (encore) &#8211; Listes RBL</h1>
<p style="text-align: justify;">Enfin, nous pouvons utiliser des blacklistes externes pour parfaire notre filtrage anti-spam. Il en existe un paquet, mais leur utilisation est similaire. Dans l&#8217;exemple, utilisons deux &laquo;&nbsp;blacklist&nbsp;&raquo; publiques en fin de filtrage : <em>dul.dnsbl.sorbs.net</em> et  <em>zen.spamhaus.org</em>. Il faut encore une fois ajouter deux règles &laquo;&nbsp;<em>smtpd_recipient_restrictions</em>&nbsp;&raquo; au fichier <em>/etc/postfix/main.cf</em></p>
<h2 style="text-align: justify;"><em><em>/etc/postfix/main.cf</em></em></h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1064code52'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p106452"><td class="code" id="p1064code52"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">smtpd_recipient_restrictions</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> reject_unauth_pipelining,</span>
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unauth_destination,
check_policy_service inet:<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>127.0.0.1<span style="">&#93;</span></span>:<span style="">60000</span>,
reject_rbl_client dul.dnsbl.sorbs.net,
reject_rbl_client zen.spamhaus.org</pre></td></tr></table></div>

<p style="text-align: justify;">Voilà pour cet article. Même s&#8217;il reste pas mal d&#8217;améliorations possibles, d&#8217;optimisations et fonctionnalités supplémentaires à ajouter, on va dire que c&#8217;est un bon début.</p>
<h1 style="text-align: justify;">Sources :</h1>
<ul>
<li><a title="http://flurdy.com/docs/postfix/#config-secure-auth" href="http://flurdy.com/docs/postfix/#config-secure-auth"><span class="postbody"><span style="font-style: italic;">http://flurdy.com/docs/postfix/#config-secure-auth</span></span></a></li>
<li><span class="postbody"><span style="font-style: italic;">http://www.luxpopuli.fr/Internet/Postfix-Cyrus-IMAP-SSL-LDAP/Cyrus-IMAP-authentification-LDAP</span></span></li>
<li><span class="postbody"><span style="font-style: italic;"><a title="http://www.bizeul.net/" href="http://www.bizeul.net/">http://www.bizeul.net/</a><br />
</span></span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Groupwares 2ème partie &#8211; Installation de OBM (et minig)</title>
		<link>http://www.jopa.fr/index.php/2009/01/31/installation_obm_minig/</link>
		<comments>http://www.jopa.fr/index.php/2009/01/31/installation_obm_minig/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 11:41:07 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=984</guid>
		<description><![CDATA[Note : Le blog obm-blog.over-blog.fr fournit une procédure d&#8217;installation bien plus à jour. Merci à eux ! Suite au précédent article sur la mise en route de Zimbra, nous allons voir ici l&#8217;installation d&#8217;une solution alternative : OBM. Édité par la société Aliasource, OBM  est une solution collaborative complète qui répond bien à nos pré-requis [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span style="color: #000080;">Note : Le blog <a title="obm-blog.over-blog.fr" href="http://obm-blog.over-blog.fr">obm-blog.over-blog.fr</a> fournit une <a title="http://obm-blog.over-blog.fr/pages/Installation_sur_un_seul_serveur-1501151.html" href="http://obm-blog.over-blog.fr/pages/Installation_sur_un_seul_serveur-1501151.html">procédure d&#8217;installation</a> bien plus à jour. Merci à eux !</p>
<p></span> </p>
<p style="text-align: justify;">
<p style="text-align: justify;"><img class="alignleft size-medium wp-image-994" title="login" src="http://www.jopa.fr/wp-content/uploads/2009/01/login-300x178.png" alt="login" width="300" height="178" /></p>
<p style="text-align: justify;">Suite au précédent article sur la <a href="http://www.jopa.fr/index.php/2008/12/14/groupwares-1ere-partie-installation-de-zimbra/">mise en route de Zimbra</a>, nous allons voir ici l&#8217;installation d&#8217;une solution alternative : <a title="http://obm.aliasource.fr/" href="http://obm.aliasource.fr/">OBM</a>. Édité par la société <a title="http://www.aliasource.fr/" href="http://www.aliasource.fr/">Aliasource</a>, OBM  est une solution collaborative complète qui répond bien à nos pré-requis et que nous avons décidé de tester. Dans ses versions précédentes, cet outil basait son Webmail sur IMP / Horde, ce qui amenait une certaine lourdeur et un décalage entre l&#8217;interface de ce dernier et celle des autres outils de la suite (Agenda, contact, gestionnaire de tâches, etc&#8230;). Dans ses prochaines versions, c&#8217;est <em>minig, </em>un webmail tout en ajax, développé grâce au toolkit <em>Google</em>, qui jouera ce rôle.</p>
<p style="text-align: justify;"><strong>L&#8217;installation a été très laborieuse et je ne suis pas arrivé, à ce jour, à un produit complètement fonctionnel, en particulier sur la partie webmail ( horde3 ou minig). La partie agenda partagée est quant à elle pleinement fonctionnelle. Les nombreux essais m&#8217;ayant quand même permis d&#8217;avancer et de résoudre quelques problèmes, je décide, a toutes fins utiles, de publier la démarche qui m&#8217;a mené le plus loin dans la configuration et l&#8217;installation.</strong><span id="more-984"></span></p>
<p style="text-align: justify;">Tout comme pour <em>Zimbra</em>, nous allons partir d&#8217;une Debian Etch de base. Les différents composants sont disponibles sous forme de paquets, un dépôt est même mis à disposition :</p>
<p style="text-align: justify;">http://deb.obm.org</p>
<p>La première chose à faire est donc d&#8217;ajouter ce dépôt dans nos sources list :</p>
<p><span style="color: #800000;"><em># echo &laquo;&nbsp;deb http://deb.obm.org etch obm&nbsp;&raquo; &gt; /etc/apt/sources.list.d/obm.list<br />
# aptitude update </em></span></p>
<p>L&#8217;installation peut ensuite être démarrée par un simple &laquo;&nbsp;aptitude install obm&nbsp;&raquo;. Aptitude devrait râler à cause d&#8217;un conflit de dépendances avec Exim4, il suffit de valider la solution visant à supprimer ce dernier.<br />
Un problème d&#8217;initialisation du mot de passe administrateur de <em>mysql</em> complique toutefois la tâche. Il est donc préférable de commencer par le serveur mysql seul, et de poursuivre une fois ce dernier bien configuré.</p>
<p><span style="color: #800000;"><em># aptitude install mysql-server-5.0<br />
# dpkg-reconfigure mysql-server-5.0</em></span></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1008" title="01-mysql-server" src="http://www.jopa.fr/wp-content/uploads/2009/01/01-mysql-server.png" alt="01-mysql-server" width="449" height="279" /></p>
<p><span style="color: #800000;"><em># aptitude install obm</em></span></p>
<p>La procédure d&#8217;installation pose un certain nombre de questions pour la génération des fichiers de configuration&#8230; A savoir :<br />
<strong></strong></p>
<p><strong>Pour le serveur d&#8217; annuaire LDAP :</strong><br />
- Le mot de passe de l&#8217;Administrateur LDAP (à définir),</p>
<p><strong>Pour la configuration d&#8217;OBM :</strong><br />
- L&#8217;URL du Front-End OBM (nom DNS du serveur),<br />
- L&#8217;adresse IP du serveur LDAP (127.0.0.1 dans notre cas : nous installons tout sur le même serveur),<br />
- L&#8217;adresse IP du serveur MySql (127.0.0.1 pour les mêmes raisons),<br />
- Le nom de la base de données à créer, le nom de l&#8217;utilisateur Mysql et son mot de passe (à créer également),</p>
<p><strong>Pour Postfix :</strong><br />
- Le type de serveur ( Serveur Internet dans notre cas),<br />
- Le nom de domaine de messagerie,</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1010" title="08-postfix" src="http://www.jopa.fr/wp-content/uploads/2009/01/08-postfix.png" alt="08-postfix" width="449" height="279" /><br />
<img class="aligncenter size-full wp-image-1011" title="09-postfix-domain" src="http://www.jopa.fr/wp-content/uploads/2009/01/09-postfix-domain.png" alt="09-postfix-domain" width="449" height="279" /></p>
<p style="text-align: center;">
<p style="text-align: left;"><strong>Pour Apache 2 :</strong><br />
- Configuration &laquo;&nbsp;OBM&nbsp;&raquo; des virtualhost ( OUI par défaut)</p>
<p style="text-align: left;"><strong>Pour OBM-UI :</strong><br />
- Adresse IP du serveur Tomcat (127.0.0.1),</p>
<p style="text-align: left;"><strong>Pour OBM-satellite :</strong><br />
- Utiliser OBM-Satellite pour la gestion des domaines postfix (Oui),<br />
- Liste des machines autorisées à se connecter à OBM-Satellite (127.0.0.1/32)</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1019" title="13-obm-satellite" src="http://www.jopa.fr/wp-content/uploads/2009/01/13-obm-satellite.png" alt="13-obm-satellite" width="449" height="279" /></p>
<p style="text-align: left;"><strong>Pour OBM-storage :</strong><br />
- Configurer la base de données OBM à l&#8217;aide de dbconfig-common (Oui),<br />
- Mot de passe de l&#8217;administrateur Mysql.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1020" title="15-obm-storage" src="http://www.jopa.fr/wp-content/uploads/2009/01/15-obm-storage.png" alt="15-obm-storage" width="449" height="279" /></p>
<p style="text-align: left;">Si tout se passe bien, la connexion est maintenant possible en https à partir d&#8217;un navigateur standard, après acceptation des certificats.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1021" title="16-obm_login" src="http://www.jopa.fr/wp-content/uploads/2009/01/16-obm_login.png" alt="16-obm_login" width="602" height="497" /></p>
<p style="text-align: left;">Le login de l&#8217;administrateur par défaut est <em>admin0</em>, mot de passe <em>admin.</em> Le seul domaine disponible est <em>Global. </em>Il s&#8217;agit du domaine permettant la configuration Globale (comme son nom l&#8217;indique).</p>
<p style="text-align: left;">Pour que l&#8217;outil soit utilisable, il faudra à minima déclarer un serveur de mail, créer un domaine et biensûr des utilisateurs.</p>
<p style="text-align: left;">Avant de déclarer un serveur mail, il faut enregistrer l&#8217;hôte (la machine) dans l&#8217;annuaire (<em>menu Annuaire -&gt; Hôtes -&gt; Nouveau</em>).</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1027" title="capture-obm-hote-mozilla-firefox1" src="http://www.jopa.fr/wp-content/uploads/2009/01/capture-obm-hote-mozilla-firefox1.png" alt="capture-obm-hote-mozilla-firefox1" width="653" height="440" /></p>
<p style="text-align: justify;">Puis déclarer cet hôte comme serveur mail <em>(Menu Administration -&gt; Serveurs de mail -&gt; Nouveau)</em></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1029" title="capture-obm-serveur-de-mail-mozilla-firefox-1" src="http://www.jopa.fr/wp-content/uploads/2009/01/capture-obm-serveur-de-mail-mozilla-firefox-1.png" alt="capture-obm-serveur-de-mail-mozilla-firefox-1" width="635" height="428" /></p>
<p style="text-align: justify;">La création du domaine<em> (Menu Administration -&gt; Domaines)</em></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1030" title="capture-obm-domaine-mozilla-firefox" src="http://www.jopa.fr/wp-content/uploads/2009/01/capture-obm-domaine-mozilla-firefox.png" alt="capture-obm-domaine-mozilla-firefox" width="669" height="480" /></p>
<p style="text-align: left;">L&#8217;ajout de serveur mail pour le domaine se fait par le menu (Ajouter un serveur mail) depuis la fiche du domaine. Il faut ajouter le serveur remplissant chaque rôle ( IMAP, SMTP in et SMTP out). Ça a l&#8217;air tout bête, mais j&#8217;ai cherché un moment&#8230; <img src='http://www.jopa.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1051" title="capture-obm-mail" src="http://www.jopa.fr/wp-content/uploads/2009/01/capture-obm-mail.png" alt="capture-obm-mail" width="612" height="633" /></p>
<p style="text-align: justify;">Et enfin, la création des utilisateurs se fait via le menu <em>annuaire.</em></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1032" title="capture-obm-utilisateur-mozilla-firefox" src="http://www.jopa.fr/wp-content/uploads/2009/01/capture-obm-utilisateur-mozilla-firefox.png" alt="capture-obm-utilisateur-mozilla-firefox" width="683" height="695" /></p>
<p style="text-align: justify;">La connexion est ensuite possible sur le domaine.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1036" title="capture-login-obm-2112-mozilla-firefox" src="http://www.jopa.fr/wp-content/uploads/2009/01/capture-login-obm-2112-mozilla-firefox.png" alt="capture-login-obm-2112-mozilla-firefox" width="615" height="472" /></p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-1037" title="capture-obm-obm-version-2112-mozilla-firefox" src="http://www.jopa.fr/wp-content/uploads/2009/01/capture-obm-obm-version-2112-mozilla-firefox.png" alt="capture-obm-obm-version-2112-mozilla-firefox" width="599" height="432" /></p>
<p style="text-align: justify;">A ce stade, l&#8217;application est fonctionnelle, mise à part le Webmail, qui n&#8217;a pas encore été installé.</p>
<h2 style="text-align: left;">Installation du webmail</h2>
<p style="text-align: left;">L&#8217;installation du Webmail se fait par un simple &laquo;&nbsp;<em>aptitude install obm-webmail</em>&laquo;&nbsp;. Ceci fait apparaître un onglet supplémentaire sur l&#8217;interface principale.Un onglet qui&#8230;. ne fonctionne pas, le label &laquo;&nbsp;cliquable&nbsp;&raquo; ayant tout  bêtement été oublié _</p>
<p style="text-align: left;">Après un bon moment le nez dans les sources, j&#8217;ai pu corriger le problème en ajoutant le fameux label dans le fichier : <em>/usr/share/obm/www/obminclude/lang/fr/global.inc </em> (ligne 299).</p>
<p style="text-align: left;">&#8230;</p>
<p style="text-align: left;">$l_section_com    = &laquo;&nbsp;Commercial&nbsp;&raquo;;<br />
$l_section_prod   = &laquo;&nbsp;Production&nbsp;&raquo;;<br />
$l_section_compta = &laquo;&nbsp;Comptabilité&nbsp;&raquo;;<br />
$l_section_user   = &laquo;&nbsp;Annuaire&nbsp;&raquo;;<br />
$l_section_admin  = &laquo;&nbsp;Administration&nbsp;&raquo;;<br />
$l_section_dic    = &laquo;&nbsp;Dictionnaire&nbsp;&raquo;;<br />
$l_section_my     = &laquo;&nbsp;Mon compte&nbsp;&raquo;;<br />
<span style="color: #800000;">$l_section_webmail = &laquo;&nbsp;Webmail&nbsp;&raquo;;</span></p>
<p style="text-align: left;">&#8230;</p>
<p style="text-align: left;">
<p style="text-align: justify;">Minig à besoin de paquets qui n&#8217;ont pas été installés jusque là, à savoir : obm-tomcat et obm-jdk. Ce dernier à une dépendance non satisfaite avec sun-java6-jdk. La priorité est donc l&#8217;installation de java.</p>
<p style="text-align: justify;">Si ce n&#8217;est pas déjà fait, il faut ajouter les backports Debian à notre liste de dépôts :</p>
<p style="text-align: left;"><span style="color: #993300;"><em># echo &laquo;&nbsp;deb http://www.backports.org/debian etch-backports main contrib non-free&nbsp;&raquo; &gt; /etc/apt/sources.list.d/backports.list<br />
# aptitude update<br />
# aptitude install sun-java6-jdk<br />
# aptitude install minig</em></span></p>
<p style="text-align: left;"><span style="color: #993300;"><span style="color: #000000;">A ce stade, l&#8217;installation de minig n&#8217;est pas très convaincante. J&#8217;obtiens la majorité du temps une erreur Tomcat lorsque je tente d&#8217;accéder au webmail  via l&#8217;url http://labo.linet.jopa.fr:8080/minig</span></span></p>
<p style="text-align: center;"><span style="color: #993300;"><span style="color: #000000;"><img class="aligncenter size-full wp-image-1052" title="obm_tomcat" src="http://www.jopa.fr/wp-content/uploads/2009/01/obm_tomcat.png" alt="obm_tomcat" width="612" height="633" /></span></span></p>
<p style="text-align: justify;"><span style="color: #993300;"><span style="color: #000000;">Le &laquo;&nbsp;bouton webmail&nbsp;&raquo;, disponible sur l&#8217;interface d&#8217;OBM (uniquement si l&#8217;utilisateur est administrateur&#8230;.Bizzzzarrrrrre ça !), lance toujours horde3. Pour corriger le problème, il faut éditer le fichier </span></span><em>/usr/share/obm/www/conf/obm_conf.inc</em> pour remplacer le lien &laquo;&nbsp;horde3&#8243; par &laquo;&nbsp;minig&nbsp;&raquo;.</p>
<h2 style="text-align: left;">Installation de obm-filter</h2>
<p>Il est possible d&#8217;ajouter des filtres anti-spam et antivirrus à l&#8217;installation ( spamassassin + clamav + amavis). Tout ceci est fourni par le paquet <em>obm-filter</em>.  Ce paquet a des dépendences avec unrar et lha, son installation est donc soumise à l&#8217;acceptation de paquet &laquo;&nbsp;contrib&nbsp;&raquo; et &laquo;&nbsp;non-free&nbsp;&raquo;, qui doivent être intégrés dans le source.list.</p>
<p>Comme précisé dans l&#8217;introduction, cette installation est loin d&#8217;être fonctionnelle, tout particulièrement pour la partie mail. Je continue à creuser et suis preneur de tout commentaires qui me permettraient d&#8217;aller plus loin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/01/31/installation_obm_minig/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Groupwares &#8211; 1ère partie : Installation de Zimbra</title>
		<link>http://www.jopa.fr/index.php/2008/12/14/groupwares-1ere-partie-installation-de-zimbra/</link>
		<comments>http://www.jopa.fr/index.php/2008/12/14/groupwares-1ere-partie-installation-de-zimbra/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 14:48:48 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Groupware]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=949</guid>
		<description><![CDATA[Pour Noël, nous souhaitons nous offrir un bel outil collaboratif, en remplacement de notre vieux système de messagerie professionnel. En plus de la gestion des mails, ce système aura pour objectif de faciliter  la communication et le partage d&#8217;information entre nos collaborateurs. Nous entendons par &#171;&#160;outil collaboratif&#160;&#187; : Une messagerie accessible depuis un client classique [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2008/12/zimbra_logo.png"><img class="alignleft size-full wp-image-961" title="zimbra_logo" src="http://www.jopa.fr/wp-content/uploads/2008/12/zimbra_logo.png" alt="" width="232" height="72" /></a>Pour Noël, nous souhaitons nous offrir un bel outil collaboratif, en remplacement de notre vieux système de messagerie professionnel. En plus de la gestion des mails, ce système aura pour objectif de faciliter  la communication et le partage d&#8217;information entre nos collaborateurs.</p>
<p style="text-align: justify;">Nous entendons par &laquo;&nbsp;outil collaboratif&nbsp;&raquo; :</p>
<ul style="text-align: justify;">
<li>Une messagerie accessible depuis un client classique (<em>Thunderbird</em> par exemple) ou en <em>webmail</em>,</li>
<li>Un annuaire commun centralisé,</li>
<li>Un agenda partagé,</li>
<li>Un gestionnaire de tâches,</li>
<li style="text-align: justify;">Et éventuellement un système de partages ou de diffusion de fichiers.</li>
</ul>
<p style="text-align: justify;">La solution doit, bien entendu être libre et sera installée et administrée par nos soins. Après un petit tour rapide, il nous est apparu que 3 produits sortaient du lot et méritaient des tests plus approfondis : <a title="http://www.egroupware.org/" href="http://www.egroupware.org/" target="_blank">e-groupware</a>, <a title="http://obmpro.aliasource.fr/" href="http://pro.obm.org">OBM</a> et <a title="http://www.zimbra.com/" href="http://www.zimbra.com/">Zimbra</a>.</p>
<p style="text-align: justify;">Tous ces produits disposent d&#8217;une démo en ligne, mais pour évaluer ce qui nous attends en terme de tâches d&#8217;administration quotidienne, nous avons entrepris d&#8217;installer et de mettre en test chacun d&#8217;entre eux.</p>
<p style="text-align: justify;">La suite de ce billet est consacrée à l&#8217;installation et à la mise en route de Zimbra. Il ne sagit pas ici, de faire une présentation détaillée du logiciel ou un guide d&#8217;utilisation. <em>E-groupware</em> et <em>OBM</em> feront l&#8217;objet de futurs articles.</p>
<p style="text-align: justify;"><span id="more-949"></span></p>
<h1 style="text-align: justify;">Présentation</h1>
<p style="text-align: justify;"><strong>Zimbra</strong> est donc un logiciel collaboratif (groupware) qui permet à ses utilisateurs de stocker, organiser et partager rendez-vous, contacts, email, liens, documents et plus.<br />
Il a la particularité d&#8217;être développé en &laquo;&nbsp;Web Service&nbsp;&raquo; et de disposer d&#8217;une interface <em>AJAX</em> très réactive par rapport à un développement web &laquo;&nbsp;classique&nbsp;&raquo;.</p>
<p style="text-align: justify;">En 2007, Zimbra a été racheté par la société Yahoo qui publie la version 5 sous licence &laquo;&nbsp;<a title="http://www.zimbra.com/license/zimbra_public_license_1.2.html" href="http://www.zimbra.com/license/zimbra_public_license_1.2.html">YPL (Yahoo Public Licence)</a>&laquo;&nbsp;.  De ce côté et avant même l&#8217;installation, Zimbra perd un peu d&#8217;avantage par rapport aux autres produits sous licence GPL.</p>
<p style="text-align: justify;"><em>Zimbra Collaboration Suite</em> (ZCS) est disponible en version Open Source et <a title="http://www.zimbra.com/products/product_editions.html" href="http://www.zimbra.com/products/product_editions.html" target="_blank">plusieurs déclinaisons commerciales.</a></p>
<p style="text-align: justify;">Pour en savoir plus, je vous invite à consulter le site de <a title="http://www.zimbra.com" href="http://www.zimbra.com" target="_blank">Zimbra</a> ou <a title="http://fr.wikipedia.org/wiki/Zimbra#cite_note-0" href="http://fr.wikipedia.org/wiki/Zimbra#cite_note-0" target="_blank">Wikipedia</a>.</p>
<h1 style="text-align: justify;">Installation</h1>
<p style="text-align: justify;">ZCS est une solution pacagée, c&#8217;est a dire qu&#8217;il s&#8217;installe sur un système quasi &laquo;&nbsp;vierge&nbsp;&raquo;, ses paquets contenant la majorité des briques logicielles nécessaires (apache2, postfix, cyrus, openldap, etc&#8230;). Il est donc illusoire de penser l&#8217;installer en sur-couche de la solution de messagerie existante sur notre serveur.</p>
<p style="text-align: justify;">Pour réaliser cette installation, nous allons donc partir d&#8217;une <em>Debian Etch</em> de base toute fraiche, sur laquelle nous allons installer quelques librairies et outils indispensables au bon déroulement des opérations, sans oublier de supprimer <em>exim4</em> qui est installée par defaut sous <em>Etch</em>.</p>
<p style="text-align: justify;">Il faut préciser, qu&#8217;en tant que serveur de mails, la machine doit disposer d&#8217;un enregistrement <em>MX</em> dans un DNS. Une vérification sera effectuée lors de l&#8217;installation.</p>
<p style="text-align: justify;">A noter également que l&#8217;installation est réalisée dans <em>/opt </em>et qu&#8217;il faut donc prévoir un partitionnement adéquat.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p949code55'); return false;">View Code</a> SH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p94955"><td class="code" id="p949code55"><pre class="sh" style="font-family:monospace;"># aptitude purge exim4 exim4-base exim4-config exim4-daemon-light
# aptitude install libidn11 fetchmail libpcre3 libgmp3c2 libexpat1 libxml2 libltdl3
# aptitude install openssl perl ca-certificates xml-core file sudo</pre></td></tr></table></div>

<p>Les paquets d&#8217;installation de l&#8217;édition <em>open source</em> sont disponibles sur cette page : <a title="http://www.zimbra.com/community/downloads.html" href="http://www.zimbra.com/community/downloads.html">http://www.zimbra.com/community/downloads.html</a></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p949code56'); return false;">View Code</a> SH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p94956"><td class="code" id="p949code56"><pre class="sh" style="font-family:monospace;"># wget -c http://h.yimg.com/lo/downloads/5.0.11_GA/zcs-5.0.11_GA_2695.DEBIAN4.0.20081117055537.tgz
# tar -xvzf zcs-5.0.11_GA_2695.DEBIAN4.0.20081117055537.tgz
# cd zcs-5.0.11_GA_2695.DEBIAN4.0.20081117055537
# ./install.sh
&nbsp;
...
&nbsp;
Select the packages to install
&nbsp;
Install zimbra-ldap [Y]
Install zimbra-logger [Y]
Install zimbra-mta [Y]
Install zimbra-snmp [Y]
Install zimbra-store [Y]
Install zimbra-apache [Y]
&nbsp;
Install zimbra-spell [Y]
Install zimbra-proxy [N]
Installing:
zimbra-core
zimbra-ldap
zimbra-logger
zimbra-mta
zimbra-snmp
zimbra-store
zimbra-apache
zimbra-spell
&nbsp;
The system will be modified.  Continue? [N] Y
&nbsp;
DNS ERROR resolving MX for labo.linet.jopa.fr
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes]
Create Domain: [labo.linet.jopa.fr] linet.jopa.fr
&nbsp;
MX: labo.linet.jopa.fr (192.168.7.10)
&nbsp;
Interface: 192.168.7.10
Interface: 127.0.0.1
...
&nbsp;
Main menu
&nbsp;
1) Common Configuration:
2) zimbra-ldap:                             Enabled
3) zimbra-store:                            Enabled
+Create Admin User:                    yes
+Admin user to create:                 admin@linet.jopa.fr
******* +Admin Password                        UNSET
+Enable automated spam training:       yes
&nbsp;
+Spam training user:                   spam.hitallfx@linet.jopa.fr
+Non-spam(Ham) training user:          ham.fik7gntz@linet.jopa.fr
+Global Documents Account:             wiki@linet.jopa.fr
+SMTP host:                            labo.linet.jopa.fr
+Web server HTTP port:                 80
+Web server HTTPS port:                443
+Web server mode:                      http
+IMAP server port:                     143
+IMAP server SSL port:                 993
+POP server port:                      110
+POP server SSL port:                  995
&nbsp;
+Use spell check server:               yes
+Spell server URL:                     http://labo.linet.jopa.fr:7780/aspell.php
+Configure store for use with reverse mail proxy: FALSE
+Configure store for use with reverse web proxy: FALSE
&nbsp;
4) zimbra-mta:                              Enabled
5) zimbra-snmp:                             Enabled
6) zimbra-logger:                           Enabled
7) zimbra-spell:                            Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration        yes
s) Save config to file
&nbsp;
x) Expand menu
q) Quit</pre></td></tr></table></div>

<p>Il ne faut pas oublier, à cette étape, de renseigner le mot de passe administrateur ( Menu 3, puis 4 ).</p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/zimbra_connexion.png"><br />
</a></p>
<h1>Configuration et administration</h1>
<p>L&#8217;interface d&#8217;administration est disponible en <em>https</em> sur le port <strong>7071</strong>.</p>
<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2008/12/connexion_admin.png"><img class="aligncenter size-full wp-image-965" title="connexion_admin" src="http://www.jopa.fr/wp-content/uploads/2008/12/connexion_admin.png" alt="" width="500" height="323" /></a></p>
<p style="text-align: justify;">C&#8217;est à partir de cette interface que nous pouvons gérer les utilisateurs du système (comptes, boites aux lettre, groupes, listes de diffusion, etc&#8230;), paramétrer le serveur, afficher des états ou des statistiques et gérer les files de messagerie.</p>
<p style="text-align: justify;">L&#8217;interface, bien que riche en fonctionnalités est claire, intuitive et sa prise en main ne pose pas de difficulté particulière.</p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/zimbra_admin_2.png"><img class="aligncenter size-full wp-image-966" title="zimbra_admin_2" src="http://www.jopa.fr/wp-content/uploads/2008/12/zimbra_admin_2.png" alt="" width="500" height="257" /></a></p>
<h1>Aperçu</h1>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/zimbra_connexion.png"><img class="aligncenter size-full wp-image-958" title="zimbra_connexion" src="http://www.jopa.fr/wp-content/uploads/2008/12/zimbra_connexion.png" alt="" width="500" height="406" /></a></p>
<p style="text-align: justify;">Nous l&#8217;avons vu dans la présentation, <em>zimbra</em> intègre tous les composants indispensables à un bon <em>groupware</em>. L&#8217;interaction entre ces différents composants et la dynamique apportée par Ajax (cliqué déplacé, menus contextuels, etc&#8230;) nous font oublier, dès les premiers instant, que nous sommes dans une application web.</p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/webmail.png"><img class="aligncenter size-full wp-image-967" title="webmail" src="http://www.jopa.fr/wp-content/uploads/2008/12/webmail.png" alt="" width="500" height="246" /></a></p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/rdv_programme.png"><img class="aligncenter size-full wp-image-968" title="rdv_programme" src="http://www.jopa.fr/wp-content/uploads/2008/12/rdv_programme.png" alt="" width="500" height="216" /></a></p>
<h1 style="text-align: justify;">Client &laquo;&nbsp;lourd&nbsp;&raquo;</h1>
<p style="text-align: justify;">ZCS dispose de son propre client &laquo;&nbsp;déconnecté&nbsp;&raquo;. Ce qui est très pratique pour consulter ses mails, contact et agenda sans connexion internet, dans un logiciel offrant la même interface que l&#8217;application web.</p>
<p style="text-align: justify;">Il est biensûr possible d&#8217;y connecter un client de messagerie classique. Nous allons voir un exemple avec <em>Thunderbird</em> et son extention calendrier : &laquo;&nbsp;<em>Lightning</em>&laquo;&nbsp;.</p>
<p style="text-align: justify;">Côté boites au lettres et serveur SMTP, il est possible d&#8217;utiliser des connexions sécurisées (TLS ou mieux, SSL).</p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/capture-parametres-des-comptes-2.png"><img class="aligncenter size-full wp-image-975" title="capture-parametres-des-comptes-2" src="http://www.jopa.fr/wp-content/uploads/2008/12/capture-parametres-des-comptes-2.png" alt="" width="500" height="189" /></a></p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/capture-serveur-smtp.png"><img class="aligncenter size-full wp-image-976" title="capture-serveur-smtp" src="http://www.jopa.fr/wp-content/uploads/2008/12/capture-serveur-smtp.png" alt="" width="265" height="246" /></a></p>
<p style="text-align: justify;">La connexion à l&#8217;annuaire ne pose pas, non plus, de difficulté particulière, à part peut-être pour la connexion SSL que je n&#8217;ai pas réussi à faire fonctionner.</p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/capture-proprietes-du-serveur-dannuaire.png"><img class="aligncenter size-full wp-image-977" title="capture-proprietes-du-serveur-dannuaire" src="http://www.jopa.fr/wp-content/uploads/2008/12/capture-proprietes-du-serveur-dannuaire.png" alt="" width="500" height="270" /></a></p>
<p style="text-align: justify;">La dernière étape est une connexion au calendrier grâce à l&#8217;extension <em>Ligthning</em> de <em>Thunderbird</em> et au protocole webcal.</p>
<p>L&#8217;url à utiliser est la suivante : webcal://<em><strong>Utilisateur:Mot_de_passe</strong></em>@<em><strong>Serveur-Zymbra</strong></em>/home/<em><strong>Utilisateur</strong></em>/Calendar</p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/12/capture-edit-calendar.png"><img class="aligncenter size-full wp-image-979" title="capture-edit-calendar" src="http://www.jopa.fr/wp-content/uploads/2008/12/capture-edit-calendar.png" alt="" width="500" height="178" /></a></p>
<h1>En conclusion&#8230;</h1>
<p style="text-align: justify;">Je peux dire que ZCS est un produit très complet et bien fini. Son installation et sa mise en route ne posent aucun problème et l&#8217;étendu de ses possibilités sont énormes, tant en terme d&#8217;utilisation que d&#8217;architecture et de configuration (installation multi-domaines, multi-serveurs, etc&#8230;).</p>
<p style="text-align: justify;">On regrettera son côté un peu trop pacagé qui empêche son intégration dans un environnement existant, mais ceci a le mérite d&#8217;en faire un produit très facilement configurable et rapidement opérationnel.</p>
<p style="text-align: justify;">Son plus gros défaut est sûrement sa licence&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/12/14/groupwares-1ere-partie-installation-de-zimbra/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Backup SMTP avec Postfix</title>
		<link>http://www.jopa.fr/index.php/2008/10/10/backup-smtp-avec-postfix/</link>
		<comments>http://www.jopa.fr/index.php/2008/10/10/backup-smtp-avec-postfix/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 00:24:51 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=317</guid>
		<description><![CDATA[Il peut être intéressant, afin d&#8217;éviter toute perte accidentelle de messages, de disposer d&#8217;un serveur de mails secondaire. En cas d&#8217;indisponibilité du serveur principal, il assurera la réception des mails et leur stockage. Les messages conservés seront relayés au serveur principal, dès qu&#8217;il aura repris du poil de la bête. Après une installation classique de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2008/09/mail.png"><img class="alignleft size-full wp-image-345" title="mail" src="http://www.jopa.fr/wp-content/uploads/2008/09/mail.png" alt="" width="138" height="136" /></a>Il peut être intéressant, afin d&#8217;éviter toute perte accidentelle de messages, de disposer d&#8217;un serveur de mails secondaire. En cas d&#8217;indisponibilité du serveur principal, il assurera la réception des mails et leur stockage.  Les messages conservés seront relayés au serveur principal, dès qu&#8217;il aura repris du poil de la bête.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;"><span id="more-317"></span></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">Après une installation classique de <em>postfix</em>, quelques paramètres sont à renseigner dans le fichier <em>/etc/postfix/main.cf</em></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p317code60'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p31760"><td class="code" id="p317code60"><pre class="ini" style="font-family:monospace;"># /etc/postfix/main.cf - Exemple d'une configuration de backup smtp
...
# Le serveur va conserver les messages dans la file d'attente pendant <span style="">60</span> jours
# <span style="">&#40;</span> grosse panne du serveur principal !!!<span style="">&#41;</span>
<span style="color: #000099;">maximal_queue_lifetime</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 60d</span>
&nbsp;
# Définition du nom du serveur
<span style="color: #000099;">myhostname</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> mailbackup.jopa.fr</span>
&nbsp;
# Rien n'est délivré localement...
# à part éventuellement les messages adressés à <span style="color: #933;">&quot;localhost&quot;</span>
<span style="color: #000099;">mydestination</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> localhost</span>
&nbsp;
# On n'autorise l'utilisation du serveur SMTP qu'à la machine locale.
# Aucun autre client ne doit pouvoir envoyer des mails par ce serveur.
<span style="color: #000099;">mynetworks</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 127.0.0.0/8</span>
&nbsp;
# Adresse IP du serveur à relayer...
# Dans ce cas, l'IP du serveur principal
<span style="color: #000099;">relayhost</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 87.98.175.90</span>
&nbsp;
# Et enfin, la liste de domaines relayés
<span style="color: #000099;">relay_domains</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> jopa.fr</span>
...
# Activation des restrictions du serveur SMTP
<span style="color: #000099;">smtpd_recipient_restrictions</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> permit_mynetworks, reject_unauth_destination</span></pre></td></tr></table></div>

<p><em>Ce n&#8217;est pas une mauvaise idée d&#8217;ajouter des filtres antispam et antivirus à la configuration, pour soulager la reprise du serveur principal.<br />
Dans l&#8217;exemple suivant, utilisation de classiques tels que  Amavis,  Greylist et interrogation de listes RBL&#8230;</em></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p317code61'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p31761"><td class="code" id="p317code61"><pre class="ini" style="font-family:monospace;">...
# Amavis
<span style="color: #000099;">content_filter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> smtp-amavis:<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>127.0.0.1<span style="">&#93;</span></span>:10024</span>
# Activation des restrictions du serveur SMTP
<span style="color: #000099;">smtpd_recipient_restrictions</span> <span style="color: #000066; font-weight:bold;">=</span>
permit_mynetworks,
reject_unauth_destination,
check_policy_service inet:<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>127.0.0.1<span style="">&#93;</span></span>:<span style="">60000</span>,
reject_rbl_client dul.dnsbl.sorbs.net,
reject_rbl_client zen.spamhaus.org</pre></td></tr></table></div>

<p>La dernière étape est l&#8217;ajout du serveur mail dans la zone DNS, afin qu&#8217;il soit reconnu en tant que tel sur Internet. L&#8217;enregistrement doit être fait avec un poids plus fort, pour donner la priorité au serveur principal.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p317code62'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p31762"><td class="code" id="p317code62"><pre class="ini" style="font-family:monospace;">...
mail <span style="">28800</span> IN A 87.98.175.90
mailbackup <span style="">28800</span> IN A 81.252.145.28
@ <span style="">28800</span> IN MX <span style="">10</span> mail.jopa.fr.
@ <span style="">28800</span> IN MX <span style="">20</span> mailbackup.jopa.fr.</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/10/10/backup-smtp-avec-postfix/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Et le forward, mister Free ?</title>
		<link>http://www.jopa.fr/index.php/2008/03/19/et-le-forward-mister-free/</link>
		<comments>http://www.jopa.fr/index.php/2008/03/19/et-le-forward-mister-free/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 06:00:49 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=25</guid>
		<description><![CDATA[( ou comment utiliser fetchmail pour transférer automatiquement ses messages.) &#160; Comme beaucoup de monde, je dispose de plusieurs adresses email - hum&#8230; Comment dit-on &#171;&#160;adresse email&#160;&#187; déjà, in french&#8230; Oh ! yes ! &#171;&#160;adresse mèl&#160;&#187; - Pour être sûr de ne rien manquer, je m&#8217;arrange pour que tous mes messages finissent dans la même [...]]]></description>
			<content:encoded><![CDATA[<h4>( ou comment utiliser <em>fetchmail</em> pour transférer automatiquement ses messages.)</h4>
<p align="justify">&nbsp;</p>
<p align="justify"><img src="http://www.jopa.fr/wp-content/uploads/2008/03/mail_forward.png" alt="mail_forward" align="left" />Comme beaucoup de monde, je dispose de plusieurs adresses  email  <font color="#808080">- <em>hum&#8230; Comment dit-on &laquo;&nbsp;adresse email&nbsp;&raquo; déjà, in french&#8230; Oh ! yes ! </em><em>&laquo;&nbsp;adresse mèl&nbsp;&raquo;</em> -</font> Pour être sûr de ne rien manquer, je m&#8217;arrange pour que tous mes messages finissent dans la même boîte.</p>
<p align="justify"> Oui, mais voilà, le fournisseur de <em>ma.belle.adresse@free.fr</em> ne propose pas de transfert automatique de messagerie&#8230;</p>
<p align="justify">On ne va quand même pas se laisser démonter par si peu, car heu-reu-se-ment il-y-a <em>Fetch-mail&#8230; Fetchmail</em> !<font color="#999999">  <font color="#808080">- </font></font><font color="#808080">ne cherchez surtout pas le rapport avec une marque de produits surgelés, <u>il</u> <u>n</u>&#8216;<u>y</u> <u>en</u> <u>a</u> <u>pas</u> ! -</font> <em>Fetchmail</em> va nous permettre d&#8217;extraire des messages accessibles en <em>pop</em> ou <em>imap</em>, pour les faire suivre vers une adresse de notre choix&#8230;En clair, réaliser un transfert. <font color="#808080">- <em>a forward in english&#8230; </em>-</font></p>
<p align="justify"> <span id="more-25"></span></p>
<p align="justify">Il nous faudra pour cela disposer d&#8217;une machine capable d&#8217;envoyer des mails et sur laquelle on aura pris soin d&#8217;installer <em>Fetchmail. </em>Un petit coup de <em>aptitude</em>, <em>emerge</em>, <em>ipkg</em> ou <em>urpmi</em> devrait faire l&#8217;affaire&#8230; Les possesseurs d&#8217;une distribution plus exotique pourront utiliser leur gestionnaire de paquets habituel ou télécharger les sources : <a href="http://www.fetchmail.info" title="Fetchmail">http://www.fetchmail.info</a> .</p>
<p align="justify">&nbsp;</p>
<p align="justify">L&#8217;étape suivante va consister à paramétrer <em>Fetchmail</em> pour qu&#8217;il accède à notre boîte mail (celle que l&#8217;on veut faire suivre). Dans notre répertoire utilisateur (~), nous allons créer un fichier <em>.fetchmailrc</em> et lui insérer une ligne similaire à l&#8217;exemple suivant :</p>
<blockquote>
<p align="justify">poll pop.free.fr proto pop3 user &laquo;&nbsp;ma.belle.adresse&nbsp;&raquo; password &laquo;&nbsp;mot_de_passe&nbsp;&raquo;</p>
</blockquote>
<p>C&#8217;est suffisant pour le fichier  <em>.fetchmailrc</em>, sauf si l&#8217;on souhaite traiter plusieurs boîtes mail, dans ce cas, il faudra répéter la ligne autant de fois  que nécessaire.</p>
<p>Ai-je besoin de détailler ?</p>
<ul>
<li><strong>poll</strong> pop.free.fr : pop.free.fr est le serveur que nous voulons interroger,</li>
<li><strong>proto</strong> pop3 : spécification du protocole  utilisé par le serveur (pop3 dans notre cas),</li>
<li><strong>user</strong> et <strong>password</strong> pour le nom d&#8217;utilisateur et le mot de passe de messagerie.</li>
</ul>
<p>La commande qui va permettre de traiter les messages doit être formulée de la façon suivante :</p>
<blockquote><p> $  fetchmail -p POP3 -u ma.belle.adresse &#8211;smtpname jopa@ma.new.adress.com -a -v pop.free.fr</p></blockquote>
<ul>
<li><strong> -p</strong> POP3 : pour le protocole pop3,</li>
<li><strong> -u</strong> ma.balle.adresse : nom d&#8217;utilisateur (le même que dans le<em> .fetchmailrc</em>),</li>
<li><strong>&#8211;smtpname</strong> jopa@ma.nouvelle.adresse.com : adresse à laquelle les messages doivent suivre (attention, il y a bien 2 tirets devant<em> smtpname</em>),</li>
<li><strong>-a</strong> : Récupérer tous les messages (pas seulement les nouveaux),</li>
<li><strong>-v</strong> : mode verbeux<font color="#808080"> &#8211; <em>&laquo;&nbsp;verbose&nbsp;&raquo; in english</em> -</font> est optionnel, mais aide bien pour voir ce qu&#8217;il se passe,</li>
<li>pop.free.fr: Le serveur hébergeant la boîte d&#8217;origine (le même que dans le <em>.fetchmailrc</em>).</li>
</ul>
<p>Pour que cette tâche s&#8217;exécute toutes les 5 minutes, je vais tout simplement opter pour un bon petit <em>crontab</em>.</p>
<blockquote><p> $ crontab -e</p>
<p># m h dom mon dow       command</p>
<p>*/5 * * * *     /usr/bin/fetchmail -p POP3 -u ma.belle.adresse &#8211;smtpname jopa@ma.new.adress.com -a -v pop.free.fr</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/03/19/et-le-forward-mister-free/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

