<?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>®om&#039;s blog &#187; serveur</title>
	<atom:link href="http://blog.rom1v.com/tag/serveur/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rom1v.com</link>
	<description>Un blog libre</description>
	<lastBuildDate>Sun, 05 Sep 2010 17:23:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Vidéo OGG Theora sur HTTPS (dans Firefox) : configurer Apache</title>
		<link>http://blog.rom1v.com/2010/03/video-ogg-theora-sur-https-dans-firefox-configurer-apache/</link>
		<comments>http://blog.rom1v.com/2010/03/video-ogg-theora-sur-https-dans-firefox-configurer-apache/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 22:43:52 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[theora]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=1307</guid>
		<description><![CDATA[Tout le monde a entendu parler de la balise &#60;video/&#62;, la nouveauté la plus médiatisée d&#8217;HTML5. Le format vidéo à utiliser sur le web fait polémique (Theora ou H264) à cause de brevets logiciels, toujours bien présents dès il s&#8217;agit de freiner l&#8217;innovation. Une situation qu&#8217;à mon avis seul Google peut résoudre. Mais ce n&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/03/oggtheora.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/03/oggtheora.png" alt="" title="oggtheora" width="150" height="100" class="alignright size-full wp-image-1317" /></a><br />
Tout le monde a entendu parler de la balise <code>&lt;video/&gt;</code>, la nouveauté la plus médiatisée d&#8217;HTML5. Le format vidéo à utiliser sur le web fait polémique (<a href="http://standblog.org/blog/post/2010/01/26/Video-Theora-ou-H264">Theora ou H264</a>) à cause de brevets logiciels, toujours bien présents dès il s&#8217;agit de freiner l&#8217;innovation. Une situation qu&#8217;à mon avis <a href="http://www.fsf.org/blogs/community/google-free-on2-vp8-for-youtube">seul Google peut résoudre</a>. Mais ce n&#8217;est pas l&#8217;objet de ce billet, pour l&#8217;instant, le format, c&#8217;est <em>OGG Theora</em>. Il suffit de placer un fichier <code>ogv</code> quelque part sur un serveur, et <em>Firefox</em> sait la lire.</p>
<p>Un problème survient cependant dès qu&#8217;on veut y accéder sur HTTPS plutôt qu&#8217;HTTP&nbsp;: on ne peut pas <em>seeker</em> dans la vidéo (c&#8217;est-à-dire qu&#8217;on ne peut pas déplacer le curseur pour se positionner à n&#8217;importe quel endroit), et on ne connaît pas sa durée totale.</p>
<p>Quelle différence entre l&#8217;accès en HTTP et HTTPS?</p>
<p>En HTTP, on reçoit la taille du fichier vidéo&nbsp;:</p>
<pre>$ curl --compressed -I http://.../video.ogv
HTTP/1.1 200 OK
Server: Apache
…
Content-Length: 26959501
Content-Type: video/ogg</pre>
<p>En HTTPS, on ne la reçoit pas, car le flux est compressé en <em>gzip</em>.</p>
<pre>$ curl --compressed -k -I https://.../video.ogv
HTTP/1.1 200 OK
Server: Apache
…
Content-Encoding: gzip
Content-Type: video/ogg</pre>
<p><em>(<code>-k</code> permet d&#8217;autoriser l&#8217;utilisation d&#8217;un certificat SSL non reconnu)</em></p>
<p>C&#8217;est la source du problème. Pourquoi ce comportement différent par défaut entre HTTP et HTTPS, je n&#8217;en sais rien (si quelqu&#8217;un peut m&#8217;éclairer…).</p>
<p>Par contre, il est très facile de désactiver la compression pour certains types de fichiers, comme les images ou les vidéos (compression qui n&#8217;a de toute façon aucun intérêt ces fichiers sont déjà compressés).</p>
<p>Pour cela, il suffit de rajouter une ligne dans <code>/etc/apache2/mods-available/deflate.conf</code>&nbsp;:</p>
<pre>SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ogg|oga|ogv)$ no-gzip dont-vary</pre>
<p>et de recharger <em>Apache</em>&nbsp;:</p>
<pre>sudo service apache reload</pre>
<p>Et maintenant, ça fonctionne correctement sur HTTPS&nbsp;:</p>
<pre>$ curl --compressed -k -I https://.../video.ogv
HTTP/1.1 200 OK
Server: Apache
…
Content-Length: 26959501
Content-Type: video/ogg</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2010/03/video-ogg-theora-sur-https-dans-firefox-configurer-apache/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Filtrer les spams sur un serveur mail (SpamAssassin)</title>
		<link>http://blog.rom1v.com/2010/03/filtrer-les-spams-sur-un-serveur-mail-spamassassin/</link>
		<comments>http://blog.rom1v.com/2010/03/filtrer-les-spams-sur-un-serveur-mail-spamassassin/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 22:25:54 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=1265</guid>
		<description><![CDATA[Pour continuer ma série d&#8217;articles sur l&#8217;auto-hébergement de ses mails, je vais présenter l&#8217;installation de SpamAssassin. Pour mon serveur mail (et plus généralement pour les outils que j&#8217;utilise), j&#8217;essaie de mettre en place uniquement ce dont j&#8217;ai besoin. Et jusqu&#8217;ici, je n&#8217;avais pas l&#8217;utilité d&#8217;un anti-spams, ne recevant aucun courrier indésirable. Mais depuis peu, j&#8217;en [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/03/NO-SPAM.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/03/NO-SPAM.png" alt="" title="NO-SPAM" width="150" height="150" class="alignright size-full wp-image-1293" /></a><br />
Pour continuer ma série d&#8217;articles sur l&#8217;auto-hébergement de ses mails, je vais présenter l&#8217;installation de <em>SpamAssassin</em>.</p>
<p>Pour mon serveur mail (et plus généralement pour les outils que j&#8217;utilise), j&#8217;essaie de mettre en place uniquement ce dont j&#8217;ai besoin. Et jusqu&#8217;ici, je n&#8217;avais pas l&#8217;utilité d&#8217;un anti-spams, ne recevant aucun courrier indésirable. Mais depuis peu, j&#8217;en reçois un de temps en temps… C&#8217;est donc l&#8217;occasion de m&#8217;y mettre.</p>
<h2>Installation et configuration</h2>
<p>Il existe plusieurs méthodes, j&#8217;ai choisi la plus simple&nbsp;: c&#8217;est <em>procmail</em> qui fournit les mails à <em>SpamAssassin</em>.</p>
<p>Tout d&#8217;abord, installer le paquet&nbsp;:</p>
<pre>sudo apt-get install spamassassin</pre>
<p>Ensuite, rajouter dans <code>~/.procmailrc</code> la règle suivante (copiée de <a href="http://spamassassin.apache.org/full/3.0.x/dist/procmailrc.example">la doc</a>)&nbsp;:</p>
<pre># Pipe the mail through spamassassin (replace 'spamassassin' with 'spamc'
# if you use the spamc/spamd combination)
#
# The condition line ensures that only messages smaller than 250 kB
# (250 * 1024 = 256000 bytes) are processed by SpamAssassin. Most spam
# isn't bigger than a few k and working with big messages can bring
# SpamAssassin to its knees.
#
# The lock file ensures that only 1 spamassassin invocation happens
# at 1 time, to keep the load down.
#
:0fw: spamassassin.lock
* &lt; 256000
| spamassassin</pre>
<p>Enfin, éditer <code>/etc/spamassassin/local.cf</code>.</p>
<p>Pour uniquement ajouter les en-têtes de spam (ce qui est suffisant pour filtrer), il faut changer la valeur de <code>report_safe</code>&nbsp;:</p>
<pre>report_safe 0</pre>
<p>Pour ajouter un tag dans le sujet d&#8217;un mail considéré comme un spam&nbsp;:</p>
<pre>rewrite_header Subject *****SPAM*****</pre>
<p>Il est également possible de configurer le score requis pour qu&#8217;un mail soit considéré comme un spam. Plus cette valeur est faible, plus le filtre est agressif.<br />
La valeur par défaut (5.0) est un peu faible, je vous conseille d&#8217;augmenter un peu si vous voulez limiter les faux-positifs&nbsp;:</p>
<pre>required_score 6.0</pre>
<p>Rajouter éventuellement les lignes suivantes&nbsp;:</p>
<pre># Langues attendues (les autres auront un score plus élevé)
ok_languages fr

# Rapports en français
lang fr</pre>
<h2>Test</h2>
<p>Pour tester, le plus simple est de mettre un filtre très sévère, par exemple avec un score négatif&nbsp;:</p>
<pre>required_score -2</pre>
<p>En m&#8217;envoyant un mail à moi-même qui contient comme sujet <em>test</em>, je constate à la réception que les en-têtes ont été modifiés&nbsp;:</p>
<pre>Subject: *****SPAM***** test
Date: Thu, 25 Mar 2010 21:19:52 +0100
Message-Id: &lt;1269548392.9798.9.camel@rom-laptop>
X-Spam-Flag: YES
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on rom-eeebox
X-Spam-Level: ***
X-Spam-Status: Yes, score=3.9 required=-2.0 tests=ALL_TRUSTED,</pre>
<p>Le mail a bien été détecté comme un spam. Ça fonctionne.</p>
<h2>Filtrage</h2>
<p>Maintenant que les spams sont détectés, il faut les traiter (les déplacer dans un dossier prévu à cet effet).</p>
<p>Il suffit pour cela de créer un dossier sur le serveur&nbsp;:</p>
<pre>maildirmake.dovecot ~/Maildir/.Spams</pre>
<p>et d&#8217;ajouter la règle suivante dans <codttte>~/.procmailrc (<a href="http://blog.rom1v.com/2010/01/trier-ses-mails-directement-sur-le-serveur-procmail/">plus d&#8217;infos</a>)&nbsp;:</p>
<pre>:0
* ^X-Spam-Status: Yes
.Spams/</pre>
<h2>Conclusion</h2>
<p>Les spams auront maintenant un peu plus de mal à se glisser dans ma boîte mail.</p>
<p>La configuration présentée ici est vraiment minimale. Selon son efficacité il faudra peut-être l&#8217;affiner.</p>
<h2>Voir aussi</h2>
<p>Mes précédents billets sur l&#8217;auto-hébergement des mails&nbsp;:<br />
<a href="http://blog.rom1v.com/2009/08/hebergez-vos-mails-sur-ubuntu-server-et-liberez-vous/">Hébergez vos mails sur Ubuntu Server (et libérez-vous)</a><br />
<a href="http://blog.rom1v.com/2009/11/installer-un-webmail-roundcube-sur-ubuntu-server/">Installer un webmail (RoundCube) sur Ubuntu Server</a><br />
<a href="http://blog.rom1v.com/2010/01/ajouter-lauthentification-smtp-sur-un-serveur-mail/">Ajouter l’authentification SMTP sur un serveur mail</a><br />
<a href="http://blog.rom1v.com/2010/01/trier-ses-mails-directement-sur-le-serveur-procmail/">Trier ses mails directement sur le serveur (procmail)</a></codttte></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2010/03/filtrer-les-spams-sur-un-serveur-mail-spamassassin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Trier ses mails directement sur le serveur (procmail)</title>
		<link>http://blog.rom1v.com/2010/01/trier-ses-mails-directement-sur-le-serveur-procmail/</link>
		<comments>http://blog.rom1v.com/2010/01/trier-ses-mails-directement-sur-le-serveur-procmail/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 17:43:18 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=1140</guid>
		<description><![CDATA[Dans la continuité des articles consacrés à l&#8217;auto-hébergement des mails, je vais présenter quelque chose que je voulais mettre en place depuis un moment&#160;: le tri du courrier directement sur le serveur. Introduction Lorsqu&#8217;on est abonné à des mailing-lists ou qu&#8217;on reçoit des notifications de forums ou de blogs, il est inconcevable de garder tous [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/01/tri-courrier.jpg"><img src="http://blog.rom1v.com/wp-content/uploads/2010/01/tri-courrier-150x150.jpg" alt="" title="tri-courrier" width="150" height="150" class="alignright size-thumbnail wp-image-1174" /></a></p>
<p>Dans la continuité des articles consacrés à l&#8217;<a href="http://blog.rom1v.com/2009/08/hebergez-vos-mails-sur-ubuntu-server-et-liberez-vous/">auto-hébergement des mails</a>, je vais présenter quelque chose que je voulais mettre en place depuis un moment&nbsp;: <strong>le tri du courrier directement sur le serveur</strong>.</p>
<h2>Introduction</h2>
<p>Lorsqu&#8217;on est abonné à des mailing-lists ou qu&#8217;on reçoit des notifications de forums ou de blogs, il est inconcevable de garder tous ses mails dans un seul et même dossier, et impensable de les déplacer manuellement (à moins de passer 30 minutes par jour à les trier). Un tri doit être mis en place automatiquement, en se basant sur les en-têtes des mails reçus.</p>
<p>J&#8217;utilisais jusqu&#8217;à maintenant les filtres de messages de mon client mail, <em>Evolution</em>, mais ça n&#8217;était pas forcément approprié&nbsp;:</p>
<ul>
<li>d&#8217;une part c&#8217;est très long avec un compte IMAP (les dossiers étant gérés côté serveur), car le client doit récupérer localement les nouveaux messages du serveur et les analyser&nbsp;; s&#8217;il faut en déplacer un, il doit demander au serveur de le copier de la boîte de réception vers le dossier destination adéquat, puis demander de le supprimer de la boîte de réception, et enfin récupérer le messages déplacé… Rien que ça&nbsp;!</li>
<li>d&#8217;autre part, lorsqu&#8217;on accède à ses mails à partir de plusieurs endroits (par exemple le client mail, le webmail et le téléphone portable), il devient évident que ce ne peut pas être le rôle des clients de trier les messages…</li>
</ul>
<p>C&#8217;est donc au serveur de placer les mails dans le bon dossier dès la réception. C&#8217;est ce que <b>procmail</b> permet de faire.</p>
<h2>Les dossiers IMAP</h2>
<p>Les dossiers IMAP sont des dossiers physiques contenus dans <code>~/Maildir</code> (le répertoire des mails) qui respectent une structure particulière&nbsp;:</p>
<ul>
<li>leur nom commence par &laquo;&nbsp;.&nbsp;&raquo; (ce sont des dossiers cachés) et les sous-dossiers &laquo;&nbsp;logiques&nbsp;&raquo; sont séparés par des &laquo;&nbsp;.&nbsp;&raquo; (par exemple, si je veux un dossier <code>a</code> contenant un sous-dossier <code>b</code>, le répertoire physique sera <code>~/Maildir/.a.b</code>)&nbsp;;</li>
<li>ils contiennent 3 sous-dossiers physiques&nbsp;: <code>cur</code>, <code>new</code> et <code>tmp</code>.</li>
</ul>
<p>Pour les créer, il suffit d&#8217;utiliser <code>maildirmake</code> ou <code>maildirmake.dovecot</code>, à partir du répertoire <code>~/Maildir</code>&nbsp;:</p>
<pre>maildirmake.dovecot .forums.ubuntu-fr
maildirmake.dovecot .forums.developpez</pre>
<p>pour obtenir l&#8217;arborescence suivante&nbsp;:</p>
<pre>|-- .forums.developpez
|   |-- cur
|   |-- new
|   `-- tmp
`-- .forums.ubuntu-fr
    |-- cur
    |-- new
    `-- tmp</pre>
<p>Il est également possible de les créer graphiquement grâce à un client mail.</p>
<h2>Configuration de postfix</h2>
<p>Il faut indiquer à <strong>postfix</strong> que <strong>procmail</strong> va s&#8217;occuper de trier les mails, en lui précisant dans <code>/etc/postfix/main.cf</code>&nbsp;:</p>
<pre>mailbox_command = /usr/bin/procmail</pre>
<p>Il faudra ensuite recharger la configuration&nbsp;:</p>
<pre>sudo /etc/init.d/postfix reload</pre>
<h2>Définir les règles de tri</h2>
<p>Tout se passe dans le fichier (à créer) <code>~/.procmailrc</code>, qui contient deux parties&nbsp;: la définition des variables et la définition des &laquo;&nbsp;recettes&nbsp;&raquo; (les règles de tri).</p>
<h3>Les variables</h3>
<p>Pour les variables, copiez simplement ceci (en décommentant les 2 premières lignes si vous voulez des logs).</p>
<pre>#VERBOSE=yes
#LOGFILE=.procmail.log
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=Maildir/
DEFAULT=./</pre>
<h3>Les recettes</h3>
<p>Les recettes sont écrites sous la forme suivante&nbsp;:</p>
<pre>:0 [drapeaux] [ : [verrou_local] ]
&lt;zéro ou plusieurs conditions (une par ligne)&gt;
&lt;exactement une ligne d'action&gt;</pre>
<p>Les conditions commencent toutes par &laquo;&nbsp;*&nbsp;&raquo;, suivie d&#8217;une expression régulière. Pour qu&#8217;une recette exécute l&#8217;action définie, il faut que le mail en question valide <strong>toutes</strong> les conditions.</p>
<p>Pour faire simple, nous allons simplement créer des règles qui déplacent des mails dans des dossiers. Pour définir une telle action, il suffit d&#8217;écrire le nom du dossier, en terminant la ligne par <code>/</code> (très important, cette convention indique à <strong>procmail</strong> que le dossier est au format <em>maildir</em>).</p>
<p>Un exemple étant plus parlant, voici une règle qui déplace toutes mes notifications de blog dans un dossier <code>blog</code>&nbsp;:</p>
<pre>:0
* ^From: .*&lt;wordpress@blog\.rom1v\.com&gt;$
.blog/</pre>
<h3>Résultat</h3>
<p>Au final, voici un extrait de mon fichier <code>~/.procmailrc</code> (je n&#8217;ai pas mis toutes les règles, c&#8217;est juste pour donner quelques exemples)&nbsp;:</p>
<pre>#VERBOSE=yes
#LOGFILE=.procmail.log
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=Maildir/
DEFAULT=./

:0
* ^From: .*&lt;wordpress@blog\.rom1v\.com&gt;$
.blog/

:0
* ^Reply-To: .*&lt;[0-9]+@bugs\.launchpad\.net&gt;$
.bugs.launchpad/

:0
* ^From: .*&lt;dev\.null@ubuntu-fr\.org&gt;$
.forums.ubuntu-fr/

:0
* ^List-Id: &lt;april\.april\.org&gt;$
.ml.april/</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2010/01/trier-ses-mails-directement-sur-le-serveur-procmail/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ajouter l&#8217;authentification SMTP sur un serveur mail</title>
		<link>http://blog.rom1v.com/2010/01/ajouter-lauthentification-smtp-sur-un-serveur-mail/</link>
		<comments>http://blog.rom1v.com/2010/01/ajouter-lauthentification-smtp-sur-un-serveur-mail/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 20:23:05 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=1093</guid>
		<description><![CDATA[Ce billet vient compléter mon premier billet concernant l&#8217;installation d&#8217;un serveur mail sur Ubuntu Server. Objectif La configuration de postfix présentée dans mon premier billet limitait (dans un but de sécurité) l&#8217;envoi d&#8217;un mail à une personne distante qu&#8217;à partir du réseau local (ou une liste de réseaux prédéfinis). Cela est parfait lorsqu&#8217;on envoie toujours [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rom1v.com/wp-content/uploads/2010/01/mail-smtp-auth.png"><img src="http://blog.rom1v.com/wp-content/uploads/2010/01/mail-smtp-auth-150x150.png" alt="" title="mail-smtp-auth" width="150" height="150" class="alignleft size-thumbnail wp-image-1098" /></a><br />
Ce billet vient compléter mon premier billet concernant l&#8217;<a href="http://blog.rom1v.com/2009/08/hebergez-vos-mails-sur-ubuntu-server-et-liberez-vous/">installation d&#8217;un serveur mail sur Ubuntu Server</a>.</p>
<h2>Objectif</h2>
<p>La configuration de <strong>postfix</strong> présentée dans mon premier billet limitait (dans un but de sécurité) l&#8217;envoi d&#8217;un mail à une personne distante qu&#8217;à partir du réseau local (ou une liste de réseaux prédéfinis). Cela est parfait lorsqu&#8217;on envoie toujours les mails de chez soi, avec au besoin la possibilité d&#8217;envoyer un mail de n&#8217;importe où grâce au <a href="http://blog.rom1v.com/2009/11/installer-un-webmail-roundcube-sur-ubuntu-server/">webmail</a>.</p>
<p>Mais l&#8217;utilisation du SMTP à distance devient utile lorsqu&#8217;on veut envoyer un mail à partir de chez un ami avec son client mail (plus pratique pour les pièces jointes par exemple), et cela devient carrément indispensable lorsqu&#8217;on veut écrire des mails à partir de son téléphone de n&#8217;importe où (sans IP fixe).</p>
<p>Ne plus restreindre l&#8217;utilisation du SMTP au réseau local implique évidemment de rajouter une couche d&#8217;authentification…</p>
<p>Je vais donc décrire comment mettre en place une authentification SMTP-AUTH &laquo;&nbsp;en clair&nbsp;&raquo; (bien sûr encapsulée dans une connexion chiffrée TLS, déjà configurée si vous avez suivi le premier tuto) qui correspond au login et mot de passe de l&#8217;utilisateur système. Il a été écrit pour une installation sur <strong>Ubuntu Server 9.10</strong>, il faudra donc peut-être l&#8217;adapter légèrement si vous utilisez autre chose.</p>
<h2>Configuration de SASL</h2>
<p>Il faut installer le paquet <strong>sasl2-bin</strong>&nbsp;:</p>
<pre>sudo apt-get install sasl2-bin</pre>
<p>et ajouter l&#8217;utilisateur <strong>postfix</strong> au groupe <strong>sasl</strong>&nbsp;:</p>
<pre>sudo adduser postfix sasl</pre>
<p>Ouvrez ensuite <strong>/etc/default/saslauthd</strong>, remplacez&nbsp;:</p>
<pre>START=no</pre>
<p> par&nbsp;:</p>
<pre>START=yes</pre>
<p>et remplacez la dernière ligne par&nbsp;:</p>
<pre>OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"</pre>
<p>Démarrez le service&nbsp;:</p>
<pre>sudo /etc/init.d/saslauthd start</pre>
<h2>Configuration de postfix</h2>
<p>À la fin de <strong>/etc/postfix/main.cf</strong>, rajoutez&nbsp;:</p>
<pre># SASL
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination</pre>
<p><em>Dans ce même fichier, vous pouvez également supprimer le réseau <strong>192.168.0.0/24</strong> de la variable <strong>mynetworks</strong> (si vous l&#8217;aviez rajouté).</em></p>
<p>Créez le fichier <strong>/etc/postfix/sasl/smtpd.conf</strong> contenant&nbsp;:</p>
<pre>pwcheck_method: saslauthd
mech_list: plain login</pre>
<p>Rechargez la configuration de postfix&nbsp;:</p>
<pre>sudo /etc/init.d/postfix reload</pre>
<p>Voilà, tout est prêt.</p>
<h2>Configuration du client mail</h2>
<p>Dans votre client mail, indiquez que le serveur SMTP requiert une authentification, de type CLAIR (ou PLAIN), et précisez votre compte utilisateur à utiliser.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2010/01/ajouter-lauthentification-smtp-sur-un-serveur-mail/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Créer un serveur HTTP en 10 secondes sur Ubuntu grâce à Python</title>
		<link>http://blog.rom1v.com/2009/12/creer-un-serveur-http-en-10-secondes/</link>
		<comments>http://blog.rom1v.com/2009/12/creer-un-serveur-http-en-10-secondes/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 15:22:39 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=1063</guid>
		<description><![CDATA[Il suffit d&#8217;aller dans le répertoire à partager et d&#8217;exécuter&#160;: $ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... Le répertoire sera chrooté et accessible sur http://localhost:8000. Par défaut, le port 8000 est utilisé, mais on peut le changer&#160;: $ python -m SimpleHTTPServer 1234 Serving HTTP on 0.0.0.0 port 1234 ... Pour les [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rom1v.com/wp-content/uploads/2009/12/python-logo.png"><img src="http://blog.rom1v.com/wp-content/uploads/2009/12/python-logo.png" alt="python-logo" title="python-logo" width="115" height="142" class="alignright size-full wp-image-1067" /></a></p>
<p>Il suffit d&#8217;aller dans le répertoire à partager et d&#8217;exécuter&nbsp;:</p>
<pre>$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...</pre>
<p>Le répertoire sera chrooté et accessible sur <code>http://localhost:8000</code>.</p>
<p>Par défaut, le port 8000 est utilisé, mais on peut le changer&nbsp;:</p>
<pre>$ python -m SimpleHTTPServer 1234
Serving HTTP on 0.0.0.0 port 1234 ...</pre>
<p>Pour les ports inférieurs à 1024, il faut être <em>root</em>&nbsp;:</p>
<pre>$ sudo python -m SimpleHTTPServer 80
Serving HTTP on 0.0.0.0 port 80 ...</pre>
<p> Si le port correspondant est ouvert sur le routeur, il sera également accessible de l&#8217;extérieur. Pratique pour partager rapidement du contenu…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2009/12/creer-un-serveur-http-en-10-secondes/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Installer un webmail (RoundCube) sur Ubuntu Server</title>
		<link>http://blog.rom1v.com/2009/11/installer-un-webmail-roundcube-sur-ubuntu-server/</link>
		<comments>http://blog.rom1v.com/2009/11/installer-un-webmail-roundcube-sur-ubuntu-server/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 18:38:55 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=909</guid>
		<description><![CDATA[Un de mes précédents billets présentait l&#8217;installation d&#8217;un serveur de mails sur Ubuntu Server. Une fois installé, il était possible d&#8217;accéder à son courrier grâce à un client de messagerie. Il peut-être pratique, en plus de cela, d&#8217;accéder à ses mails par un webmail de n&#8217;importe où (notamment au travail, où il ne sera pas [...]]]></description>
			<content:encoded><![CDATA[<p>Un de mes précédents billets présentait l&#8217;<a href="http://blog.rom1v.com/2009/08/hebergez-vos-mails-sur-ubuntu-server-et-liberez-vous/">installation d&#8217;un serveur de mails sur Ubuntu Server</a>. Une fois installé, il était possible d&#8217;accéder à son courrier grâce à un client de messagerie.</p>
<p>Il peut-être pratique, en plus de cela, d&#8217;accéder à ses mails par un <em>webmail</em> de n&#8217;importe où (notamment au travail, où il ne sera pas filtré comme celui de <em>gmail</em> ou de <em>yahoo</em>, puisque c&#8217;est un webmail perso).</p>
<p>Je profite de la réinstallation à neuf de mon serveur pour présenter l&#8217;installation de <a href="http://roundcube.net/">RoundCube</a>, un webmail assez moderne, à installer sur <a href="http://doc.ubuntu-fr.org/lamp">LAMP</a> (avec accès HTTPS) sur Ubuntu Server.</p>
<p>Voici ce que ça donne une fois installé&nbsp;:<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2009/11/roundcube.png"><img src="http://blog.rom1v.com/wp-content/uploads/2009/11/roundcube-300x190.png" alt="roundcube" title="roundcube" width="300" height="190" class="aligncenter size-medium wp-image-1014" /></a></p>
<p><em>Je partirai du principe que le webmail est sur la même machine que le serveur SMTP et que le répertoire <code>~/Maildir</code> (contenant les mails), et qu&#8217;il sera le seul site hébergé en HTTPS sur le serveur.</em></p>
<h2>Téléchargement</h2>
<p>Tout d&#8217;abord, il faut télécharger l&#8217;archive sur le site de <a href="http://roundcube.net/download">RoundCube</a> (la version complète), et l&#8217;extraire dans un répertoire&nbsp;:</p>
<pre>tar xzf roundcubemail-0.3.1.tar.gz</pre>
<p>Il est plus pratique de le renommer&nbsp;:</p>
<pre>mv roundcubemail-0.3.1 mail</pre>
<p>Ensuite, il faut donner les droits au serveur d&#8217;écrire dans les répertoires <code>temp</code> et <code>logs</code>&nbsp;:</p>
<pre>sudo chmod -R 777 mail/temp mail/logs</pre>
<p>Enfin, faire un lien du répertoire d&#8217;installation de RoundCube (par exemple <code>~/mail</code>) dans <code>/var/www</code>.</p>
<pre>sudo ln -s ~/mail/ /var/www</pre>
<h2>Préparation de la base de données</h2>
<p>Il faut créer une base de données qui sera utilisée par RoundCube, avec son propre utilisateur. Pour cela, démarrer <em>mysql</em> en tant qu&#8217;administrateur (le login et le mot de passe choisi lors de la configuration de <em>mysql</em>)&nbsp;:</p>
<pre>$ mysql -uroot -p
Enter password:</pre>
<p>Ensuite, créer une base de données&nbsp;:</p>
<pre>mysql> CREATE DATABASE mail;
Query OK, 1 row affected (0,00 sec)</pre>
<p>Puis un utilisateur <em>mysql</em> (par exemple <code>mailuser</code>/<code>unmotdepasse</code>)&nbsp;:</p>
<pre>mysql> GRANT ALL PRIVILEGES ON mail.* TO mailuser@localhost IDENTIFIED BY 'unmotdepasse';
Query OK, 0 rows affected (0,00 sec)</pre>
<p>Voilà, la base de données est prête à accueillir RoundCube.</p>
<h2>Configuration d&#8217;Apache</h2>
<p>Tout d&#8217;abord, il faut activer le mod <code>ssl</code> d&#8217;apache&nbsp;:</p>
<pre>sudo a2enmod ssl</pre>
<p>Et renseigner le champ <code>date.timezone</code> de <code>php.ini</code>&nbsp;:</p>
<pre>sudo nano /etc/php5/apache2/php.ini</pre>
<p>Remplacer la ligne&nbsp;:</p>
<pre>;date.timezone =</pre>
<p>par&nbsp;:</p>
<pre>date.timezone = 'Europe/Paris'</pre>
<p>Ensuite, il faut créer un <em>VirtualHost</em> qui décrit à Apache le site qu&#8217;il doit héberger (le nom du site sur lequel il répond en http, quels répertoires doivent être accessibles, etc.).</p>
<p>Voici un modèle (qui correspond à mon <em>VirtualHost</em>), qui permet&nbsp;:</p>
<ul>
<li>d&#8217;afficher le site contenu dans <code>/var/www/mail</code> lorsqu&#8217;une requête arrive sur le port 443 (<code>https</code>), c&#8217;est-à-dire quand je tape <code>https://mail.rom1v.com</code> dans un navigateur&nbsp;;</li>
<li>d&#8217;interdire l&#8217;accès aux répertoires <code>config</code>, <code>temp</code> et <code>logs</code>&nbsp;;</li>
<li>de rediriger automatiquement <code>http://mail.rom1v.com</code> vers <code>https://mail.rom1v.com</code>.</li>
</ul>
<pre>NameVirtualHost *:443

&lt;VirtualHost *:80&gt;
	ServerName	mail.rom1v.com
	Redirect	/ https://mail.rom1v.com/
&lt;/VirtualHost&gt;

&lt;VirtualHost *:443&gt;
	DocumentRoot	/var/www/mail
	ServerName	mail.rom1v.com
	SSLEngine on
	SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
	SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

	&lt;Directory /var/www/mail/&gt;
		Options FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	&lt;/Directory&gt;

	&lt;Directory /var/www/mail/config&gt;
		Options -FollowSymLinks
		AllowOverride None
	&lt;/Directory&gt;

	&lt;Directory /var/www/mail/temp&gt;
		Options -FollowSymLinks
		AllowOverride None
	&lt;/Directory&gt;

	&lt;Directory /var/www/mail/logs&gt;
		Options -FollowSymLinks
		AllowOverride None
		Order allow,deny
		Deny from all
	&lt;/Directory&gt;

	ErrorLog	/var/log/apache2/mail_error.log
	CustomLog	/var/log/apache2/mail_access.log combined

&lt;/VirtualHost&gt;</pre>
<p>Ce fichier, une fois adapté à votre serveur, est à écrire dans <code>/etc/apache2/sites-available/</code> (dans un fichier nommé comme votre site par exemple, <code>mail.rom1v.com</code> pour moi).</p>
<p>Il faut ensuite l&#8217;activer&nbsp;:</p>
<pre>sudo a2ensite mail.rom1v.com</pre>
<p>Et recharger Apache&nbsp;:</p>
<pre>sudo /etc/init.d/apache2 reload</pre>
<h2>Configuration de RoundCube</h2>
<p>Il ne reste plus qu&#8217;à aller sur <code>http://votreserveur/installer</code> avec un navigateur pour configurer RoundCube.</p>
<p><a href="http://blog.rom1v.com/wp-content/uploads/2009/11/firefox-ssl.png"><img src="http://blog.rom1v.com/wp-content/uploads/2009/11/firefox-ssl-300x228.png" alt="firefox-ssl" title="firefox-ssl" width="300" height="228" class="aligncenter size-medium wp-image-1015" /></a><br />
Bien sûr, lors de la première connexion, Firefox vous alerte car il ne connaît pas votre certificat SSL (qui est auto-signé), il suffit de lui indiquer que vous faites confiance à ce site (puisque c&#8217;est le vôtre) en ajoutant une exception.</p>
<p>L&#8217;<strong>étape 1</strong> <em>(Check environment)</em> doit bien se passer (à part quelques modules optionnels que vous n&#8217;avez pas, ce n&#8217;est pas grave).</p>
<p>Pour l&#8217;<strong>étape 2</strong> <em>(Create config)</em>&nbsp;:</p>
<ul>
<li>Choisir un <code>product_name</code>&nbsp;: le titre des pages souhaité&nbsp;;</li>
<li>Activer <code>ip_check</code>&nbsp;;</li>
<li>Désactiver <code>enable_spellcheck</code> (sinon tous vos mails seront envoyés à Google)&nbsp;;</li>
<li>Renseigner les données pour l&#8217;accès à la base de données (que nous avons créée tout à l&#8217;heure)&nbsp;;</li>
<li>Dans la partie IMAP, renseigner uniquement <code>default_host</code> à la valeur <code>localhost</code>&nbsp;;</li>
<li>Laissez par défaut le reste de la partie IMAP et la partie SMTP (vu que les mails sont sur la même machine).</li>
</ul>
<p>Lors de la validation, deux fichiers sont générés. Il faut les télécharger et les placer dans le répertoire <code>config/</code> <em>(ce n&#8217;est pas très pratique d&#8217;ailleurs, lorsqu&#8217;on accède au serveur par ssh, devoir télécharger les fichiers localement pour les renvoyer au serveur est un peu tordu)</em>.</p>
<p>L&#8217;<strong>étape 3</strong> <em>(Test config)</em> permet de tester que tout est OK. Il faut cliquer sur <em>Initialize database</em>.</p>
<p>Une fois ces étapes effectuées, rendez-vous sur l&#8217;adresse du webmail, vérifiez que ça fonctionne (avec votre login système et votre mot de passe). Si tout est ok, supprimez le répertoire <code>installer/</code>&nbsp;:</p>
<pre>rm -rf /var/www/mail/installer</pre>
<h2>Modifier les préférences</h2>
<p>Une fois connecté, il est possible de changer les préférences utilisateur. Je vous laisse découvrir les options par vous-même, mais certaines sont importantes.</p>
<p>Tout d&#8217;abord, dans l&#8217;onglet <em>identités</em>, renseignez votre adresse mail (par défaut c&#8217;est <code>login@localhost</code>, ce qui posera des problèmes à ceux qui voudront vous répondre).</p>
<p>Ensuite, activez les options qui concernent la suppression d&#8217;un message sur un compte IMAP dans <em>Préférences du serveur</em> de l&#8217;onglet <em>Préférences</em>&nbsp;:</p>
<ul>
<li><em>Mettre le drapeau de suppression au lieu de supprimer</em> (sinon vous ne pourrez pas supprimer de messages)&nbsp;;</li>
<li><em>Ne pas montrer les messages supprimés</em> (sinon vous les verrez encore en barré)</li>
</ul>
<h2>Conclusion</h2>
<p>Bravo. Vous avez maintenant un serveur mail perso avec un accès webmail sur HTTPS en plus de votre accès IMAP/TLS. Vous gagnez 1 point de liberté et 1 point de confort.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2009/11/installer-un-webmail-roundcube-sur-ubuntu-server/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Hébergez vos mails sur Ubuntu Server (et libérez-vous)</title>
		<link>http://blog.rom1v.com/2009/08/hebergez-vos-mails-sur-ubuntu-server-et-liberez-vous/</link>
		<comments>http://blog.rom1v.com/2009/08/hebergez-vos-mails-sur-ubuntu-server-et-liberez-vous/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 22:52:28 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[netneutrality]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=839</guid>
		<description><![CDATA[Après avoir acheté un petit serveur pour y héberger ce dont j&#8217;avais besoin, mon objectif est d&#8217;héberger TOUT ce qui n&#8217;a rien à faire ailleurs. Et comme l&#8217;explique Benjamin Bayart dans sa désormais célèbre conférence Internet libre ou Minitel 2.0, toutes nos données personnelles entrent dans cette catégorie. Mon blog est un bon exemple d&#8217;un [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rom1v.com/wp-content/uploads/2009/08/mail.png"><img class="alignleft size-thumbnail wp-image-872" title="mail" src="http://blog.rom1v.com/wp-content/uploads/2009/08/mail-150x150.png" alt="mail" width="150" height="150" /></a></p>
<p>Après avoir acheté un petit serveur pour y héberger ce dont j&#8217;avais besoin, mon objectif est d&#8217;héberger TOUT ce qui n&#8217;a rien à faire ailleurs. Et comme l&#8217;explique Benjamin Bayart dans sa désormais célèbre conférence <a href="http://www.fdn.fr/Internet-libre-ou-Minitel-2.html">Internet libre ou Minitel 2.0</a>, toutes nos données personnelles entrent dans cette catégorie.</p>
<p><a href="http://blog.rom1v.com/2009/01/nouveau-blog-100-libre/">Mon blog</a> est un bon exemple d&#8217;un contenu qui ne doit pas être hébergé ailleurs. La liste des flux RSS que je consulte aussi (c&#8217;est pourquoi j&#8217;ai installé <a href="http://tt-rss.org/">tt-rss</a>). Mon album photos à partager avec la famille également (j&#8217;ai installé <a href="http://gallery.menalto.com/">gallery</a>). Mais il restait le plus important : <strong>les mails</strong>.</p>
<p>Et c&#8217;est bien moins compliqué à installer que je ne l&#8217;imaginais !</p>
<p>Je vais donc présenter comment installer son propre serveur de mails sur <strong>Ubuntu Server</strong> (si vous utilisez autre chose, ça ne devrait pas être bien dur à adapter). Ainsi, vous pourrez avoir une jolie adresse <code>login@mondomaine</code>.</p>
<h2>Prérequis</h2>
<p>Je supposerai que vous avez déjà un nom de domaine et que vous savez ajouter des enregistrements <code>A</code> et <code>MX</code> (généralement dans l&#8217;interface fournie par votre registrar).</p>
<h2>Présentation</h2>
<p>Pour mettre en place un serveur mail complet, nous avons besoin de deux choses : un serveur SMTP (qui gère le transport du courrier) et un serveur IMAP ou POP3 (permettant de se connecter à sa boîte aux lettres).</p>
<p>J&#8217;ai choisi respectivement <strong>postfix</strong> et <strong>dovecot</strong> (ceux par défaut dans Ubuntu Server).</p>
<p>Il est possible de faire tout un tas de choses compliquées, ici je vais aller au plus simple. Au final on obtiendra donc un compte mail par utilisateur système (avec son mot de passe système), un serveur SMTP et un accès IMAP, le tout sécurisé sur TLS. Le serveur SMTP ne pourra relayer les mails envoyés qu&#8217;à partir du réseau local.</p>
<h2>Configuration DNS</h2>
<p>Rajoutez deux records de type <code>A</code> à votre fichier de zones DNS (<code>smtp</code> et <code>imap</code> – histoire de faire comme tout le monde, mais vous mettez ce que vous voulez –), et ajoutez un record de type <code>MX</code> qui pointe vers votre enregistrement <code>smtp</code> (<code>smtp.rom1v.com.</code> – n&#8217;oubliez pas le <code>.</code> à la fin –).</p>
<p>Il faut bien sûr ouvrir les ports sur le routeur et dans le pare-feu…<br />
Pour rappel :</p>
<ul>
<li>SMTP = 25</li>
<li>POP = 110</li>
<li>POP3S = 995</li>
<li>IMAP = 143</li>
<li>IMAPS = 993</li>
</ul>
<h2>Serveur</h2>
<h3>postfix</h3>
<p>Si vous n&#8217;avez pas déjà les paquets installés :</p>
<pre>sudo apt-get install postfix dovecot-imapd</pre>
<p>Si vous aviez déjà postfix :</p>
<pre>sudo dpkg-reconfigure postfix</pre>
<p>Vous obtenez un écran de configuration <em>debconf</em> qui va vous prendre par la main pour la configuration :<br />
<a href="http://blog.rom1v.com/wp-content/uploads/2009/08/postfix-debconf.png"><img class="aligncenter size-medium wp-image-840" title="postfix-debconf" src="http://blog.rom1v.com/wp-content/uploads/2009/08/postfix-debconf-300x211.png" alt="postfix-debconf" width="300" height="211" /></a></p>
<ol>
<li><strong>Configuration type du serveur de messagerie :</strong> Site Internet</li>
<li><strong>Nom de courrier :</strong> votre nom de domaine (<code>rom1v.com</code> pour moi)</li>
<li><strong>Destinataire des courriels de « root » et de « postmaster » :</strong> votre login sur le serveur (<code>rom</code> pour moi)</li>
<li><strong>Autres destinations pour lesquelles le courrier sera accepté :</strong> rajoutez votre nom de domaine dans la liste (<code>rom1v.com</code>)</li>
<li><strong>Forcer des mises à jour synchronisées de la file d&#8217;attente des courriels :</strong> non (laisser par défaut)</li>
<li><strong>Réseaux internes :</strong> <code>127.0.0.0/8, 192.168.0.0/24</code> si votre réseau local est <code>192.168.0.x</code></li>
<li><strong>Utiliser procmail pour la distribution locale :</strong> non (allons au plus simple)</li>
<li><strong>Taille maximale des boîtes aux lettres (en octets) :</strong> à vous de choisir, moi j&#8217;ai mis 5Gio (5368709120) <em>(les créateurs de logiciels qui proposent 50Mio ne doivent pas recevoir des mails de gens n&#8217;y connaissant rien qui envoient en triple des photos en 10 mégapixels)</em></li>
<li><strong>Caractère d&#8217;extension pour les adresse locales :</strong> <code>+</code> (laisser par défaut)</li>
<li><strong>Protocoles internet à utiliser :</strong> ipv4 (au plus simple on a dit !)</li>
</ol>
<p>Vous avez alors un fichier <code>/etc/postfix/main.cf</code> qui ressemble à ceci (sauf la dernière ligne) :</p>
<pre>myhostname = rom1v.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = rom1v.com, rom-eeebox, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8, 192.168.0.0/24
mailbox_size_limit = 5368709120
recipient_delimiter = +
inet_interfaces = all
myorigin = /etc/mailname
inet_protocols = ipv4
home_mailbox = Maildir/</pre>
<p>Ajoutez donc la dernière ligne (c&#8217;est très important pour faire fonctionner IMAP).</p>
<p>Voilà, le serveur SMTP est prêt :</p>
<pre>sudo /etc/init.d/postfix restart</pre>
<p>Il ne sera possible d&#8217;envoyer un mail qu&#8217;à partir des réseaux définis dans <strong>mynetworks</strong> (c&#8217;est pour cela qu&#8217;il n&#8217;y a pas d&#8217;authentification par défaut).</p>
<p><em><strong>EDIT 02/01/2010&nbsp;:</strong> Pour mettre en place une authentification plutôt que de limiter l&#8217;accès à une liste de réseaux, lisez <a href="http://blog.rom1v.com/2010/01/ajouter-lauthentification-smtp-sur-un-serveur-mail/">ce billet</a>.</em></p>
<h3>dovecot</h3>
<p>Il y a deux choses à changer dans le fichier <code>/etc/dovecot/dovecot.conf</code>, tout d&#8217;abord pour activer le protocole IMAP :</p>
<pre>protocols = imap</pre>
<p>Ensuite pour choisir le répertoire de stockage des mails pour les utilisateurs (forcément <code>~/Maildir</code>) :</p>
<pre>mail_location = maildir:~/Maildir</pre>
<p>Enfin, il faut préparer ce répertoire en exécutant la commande :</p>
<pre>maildirmake ~/Maildir</pre>
<p>Voilà, c&#8217;est fini :</p>
<pre>sudo /etc/init.d/dovecot restart</pre>
<h2>Client</h2>
<p>Le serveur est configuré, nous pouvons maintenant l&#8217;utiliser.</p>
<h3>mailtutils</h3>
<p>Commençons par le tester grâce au paquet <strong>mailutils</strong> qui permet d&#8217;envoyer des mails en ligne de commande :</p>
<pre>sudo apt-get install mailutils</pre>
<p>Directement sur le serveur :</p>
<pre>$ mail login@mondomaine
Cc:
Subject: Mon premier serveur
Ça y'est, j'ai configuré mon premier serveur !</pre>
<p><em>(terminer avec une nouvelle ligne suivi de Ctrl+D)</em><br />
Le mail a dû arriver dans <code>~/Maildir/new</code>.</p>
<h3>Un vrai client</h3>
<p>Comme pour n&#8217;importe quelle adresse e-mail, il suffit de configurer le client (Evolution par exemple) en renseignant les champs demandés.</p>
<h4>Réception</h4>
<p>Type de serveur : IMAP<br />
Serveur : <code>imap.rom1v.com</code> <em>(à adapter avec votre nom de domaine)</em><br />
Nom d&#8217;utilisateur : <em>votre login sur le serveur</em><br />
Sécurité : Chiffrement TLS<br />
Type d&#8217;authentification : Mot de passe</p>
<h4>Envoi</h4>
<p>Type de serveur : SMTP<br />
Serveur : <code>smtp.rom1v.com</code> <em>(à adapter avec votre nom de domaine)</em><br />
Nom d&#8217;utilisateur : <em>votre login sur le serveur</em><br />
Sécurité : Chiffrement TLS<br />
Pas d&#8217;authentification.</p>
<h2>Sauvegardes</h2>
<p>Bien entendu, maintenant que vous hébergez vos mails, vous êtes responsables de leur stockage, et donc des backups. Mais j&#8217;imagine que cela ne vous posera pas de problèmes, car vous avez bien évidemment déjà mis en place un système (au moins <code>rsync</code>) qui sauvegarde vos données sur une autre machine : il suffira donc de rajouter le répertoire <code>~/Mailbox</code> à la liste des répertoires sauvegardés.</p>
<h2>Disponibilité</h2>
<p>Si le serveur est déconnecté moins de 48 heures, ce n&#8217;est pas catastrophique, les mails ne seront probablement pas perdus, la majorité des serveurs SMTP tentent de renvoyer le courrier après un échec. Évidemment, si le serveur est éteint durant un mois, il n&#8217;y a pas de magie&nbsp;: pas de serveur, pas de mails…</p>
<h2>Conclusion</h2>
<p>Cette étape est pour moi un pas de plus vers un internet libre…</p>
<p>J&#8217;ai présenté le minimum vital, mais vous pouvez trouver des fonctionnalités à mettre en place (un webmail tel que <a href="http://blog.rom1v.com/2009/11/installer-un-webmail-roundcube-sur-ubuntu-server/">RoundCube</a>, un <a href="http://blog.rom1v.com/2010/03/filtrer-les-spams-sur-un-serveur-mail-spamassassin/">anti-spam</a>, le <a href="http://blog.rom1v.com/2010/01/trier-ses-mails-directement-sur-le-serveur-procmail/">tri des mails sur le serveur</a>, une <a href="http://blog.rom1v.com/2010/01/ajouter-lauthentification-smtp-sur-un-serveur-mail/">authentification SMTP</a>…).</p>
<p>Amusez-vous bien !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2009/08/hebergez-vos-mails-sur-ubuntu-server-et-liberez-vous/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>Nouveau blog, 100% libre</title>
		<link>http://blog.rom1v.com/2009/01/nouveau-blog-100-libre/</link>
		<comments>http://blog.rom1v.com/2009/01/nouveau-blog-100-libre/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 13:25:05 +0000</pubDate>
		<dc:creator>®om</dc:creator>
				<category><![CDATA[Annonces]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[puf]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.rom1v.com/?p=255</guid>
		<description><![CDATA[Je viens de migrer mon blog hébergé sur blogger vers un blog wordpress sur un serveur perso hébergé chez moi. Ce nouveau blog est 100% libre : il ne parle que de logiciels libres ; la machine qui l&#8217;héberge est une eee-box avec ubuntu server ; le serveur est lamp (apache, mysql, php) ; le [...]]]></description>
			<content:encoded><![CDATA[<p>Je viens de migrer mon blog hébergé sur <em>blogger</em> vers un blog <strong>wordpress</strong> sur un serveur perso hébergé chez moi.</p>
<p><strong>Ce nouveau blog est 100% libre :</strong></p>
<ul>
<li>il ne parle que de <strong>logiciels libres</strong> ;</li>
<li>la machine qui l&#8217;héberge est une eee-box avec <strong>ubuntu server</strong> ;</li>
<li>le serveur est <strong>lamp</strong> (apache, mysql, php) ;</li>
<li>le moteur de blog est <strong>wordpress</strong> ;</li>
<li>j&#8217;accède au serveur par <strong>open-ssh</strong> à partir d&#8217;une machine <strong>ubuntu</strong> ;</li>
<li>vous le lisez dans <strong>firefox</strong>…</li>
</ul>
<p><strong>Les avantages :</strong></p>
<ul>
<li>accès total (ssh, …) ;</li>
<li>pas de restriction d&#8217;espace disque ;</li>
<li>pas de problèmes de droits comme sur certains hébergeurs ;</li>
<li>les hébergeurs de blogs &laquo;&nbsp;connus&nbsp;&raquo; sont bloqués par les entreprises ;</li>
<li>wordpress est plus sympa à utiliser et plus complet que blogger…</li>
</ul>
<p><strong>Les inconvénients :</strong></p>
<ul>
<li>c&#8217;est plus long à mettre en place qu&#8217;un blog sur blogger, et ça demande un peu plus de connaissances ;</li>
<li>il faut avoir un serveur (j&#8217;ai acheté mon eee-box 229€) allumé 24h/24 ;</li>
<li>il faut acheter un nom de domaine (j&#8217;ai acheté le mien 15€/an chez gandi) ;</li>
<li>il faut gérer les mises à jour et les backups soi-même…</li>
</ul>
<p>Pour les backups, si ça peut vous servir, voici mon petit script que je lance à partir de mon pc fixe :</p>
<pre>#!/bin/sh
now=$(date +'%Y%m%d-%H%M%S')
target="/tmp/wordpress_$now.sql.gz"
echo "Connecting to database..."
ssh -t rom-eeebox "mysqldump -u root -p wordpress | gzip &gt; $target"
scp rom-eeebox:"$target" /media/gnu/backup/rom-eeebox
rdiff-backup rom-eeebox::/home/rom/blog /media/gnu/backup/rom-eeebox/blog</pre>
<p>Il met le contenu de la base dans une archive, la transfert sur le pc fixe, puis fait un backup incrémental de tout le répertoire <code>/var/www/blog</code> (tout en gardant les anciennes versions, c&#8217;est l&#8217;intérêt de <code>rdiff-backup</code> sur <code>rsync</code>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rom1v.com/2009/01/nouveau-blog-100-libre/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
	</channel>
</rss>
