<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://uname.pingveno.net/blog/index.php/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title># uname -a - Mot-clé - exim</title>
    <link>https://uname.pingveno.net/blog/index.php/</link>
    <atom:link href="https://uname.pingveno.net/blog/index.php/feed/tag/exim/rss2" rel="self" type="application/rss+xml" />
    <description>Le blog de uname.pingveno.net</description>
    <language>fr</language>
    <pubDate>Tue, 18 Aug 2026 13:46:21 +0200</pubDate>
    <copyright>Mathieu Pellegrin</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Diminuer le taux de rejet des mails sortants pour un fournisseur de boîtes mail</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2016/02/09/Diminuer-le-taux-de-rejet-des-mails-sortants-pour-un-fournisseur-de-bo%C3%AEtes-mail</link>
        <guid isPermaLink="false">urn:md5:de20367e11d0beb125dad9998acb8bf6</guid>
        <pubDate>Tue, 09 Feb 2016 21:06:00 +0100</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Informatique</category>
                          <category>exim</category>
                  <category>mail</category>
                  <category>postfix</category>
                  <category>serveur</category>
                <description>&lt;p&gt;En théorie, tout le monde peut s’improviser fournisseur d’emails, il suffit d’une machine avec les ports ouverts sur Internet et de quelques connaissances pour configurer le serveur mail (Postfix, Exim…)&lt;/p&gt;

&lt;p&gt;En pratique, les fournisseurs de mails subissent la «&amp;nbsp;concurrence déloyale&amp;nbsp;» de leur camarades, car envoyer un mail c’est bien, faire en sorte qu’il soit reçu c’est mieux. Les «&amp;nbsp;concurrents&amp;nbsp;» ce sont les fournisseurs de service comme Hotmail, Gmail, Yahoo, et bien d’autres. Afin de lutter contre le SPAM, ces sociétés sont de plus en plus strictes sur la source des mails qui sont reçus par leurs services.&lt;/p&gt;

&lt;p&gt;Une des conséquences c’est que les petits opérateurs, comme une start-up qui fournit de l’hébergement, un FAI associatif, ou même un particulier qui veut se réapproprier Internet, se font bloquer assez rapidement avec peu de solutions de recours, le support faisant souvent la sourde oreille.&lt;/p&gt;

&lt;p&gt;Dans cet article, je vais donc explorer quelques pistes pour vous permettre d’abord d’éviter de vous retrouver bloqués, et ensuite contourner le blocage le cas échéant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ce billet est le produit de mes expériences avec l'hébergeur &lt;a href=&quot;http://wellhosted.ch&quot;&gt;wellhosted&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;          &lt;h3&gt;Réputation (et monitoring)&lt;/h3&gt;

&lt;p&gt;Déjà, si vous avez une adresse IP dynamique, oubliez l’envoi de mails. Il est très difficile avec une IP dynamique d’assurer à la fois une réception correcte (même avec un MX pointant sur un DynDNS), et un envoi qui réussisse à tous les coups. D’ailleurs, la plupart des opérateurs proposant des IPs dynamiques bloquent le port 25, rendant l’envoi des mails «&amp;nbsp;entre serveurs&amp;nbsp;» impossible.&lt;/p&gt;

&lt;p&gt;Ensuite, la seconde bonne raison pour avoir une IP fixe, c’est que les contrôlent antispam reposent en grande partie sur la réputation des IPs qui leur envoient des mails. Ce mécanisme s’appelle le &lt;a href=&quot;https://fr.wikipedia.org/wiki/Lutte_anti-spam#RBL&quot;&gt;RBL&lt;/a&gt; pour Realtime Block List. Les serveurs s’abonnent à des listes d'adresses IP connues pour émettre du SPAM, et refusent de recevoir les mails depuis ces IPs. Pas de chance si vous avez hérité d’une IP « qui pue », il vous faudra patiemment demander votre retrait de la liste de blocage au cas par cas.&lt;/p&gt;

&lt;p&gt;Il existe des outils pour tester votre IP sur un grand nombre de RBL&amp;nbsp; : &lt;a href=&quot;http://mxtoolbox.com/blacklists.aspx&quot;&gt;mxtoolbox.com/blacklists.aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vous pouvez également mettre en place une surveillance automatique de votre réputation sur plusieurs blocklists, soit &lt;a href=&quot;https://exchange.nagios.org/directory/Plugins/Email-and-Groupware/check_rbl/details&quot;&gt;avec un simple plugin Nagios&lt;/a&gt;, soit avec un outil comme &lt;a href=&quot;http://www.rblmon.com/&quot;&gt;RBLMon&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A noter que certaines listes ne permettent pas de faire «&amp;nbsp;retirer&amp;nbsp;» votre IP de la liste. Pas d’inquiétude pour ces listes, personne ne les utilise. Il existe par contre des fournisseurs de service qui ne publient pas leurs listes, et qui ont un processus contraignant pour se faire débloquer (Microsoft par exemple).&lt;/p&gt;

&lt;p&gt;Une fois que votre IP est fixe et qu'elle est propre, l’étape suivante c’est conserver la réputation de votre IP et être irréprochable sur les mails que vous envoyez, mail nous verrons cela dans la suite.&lt;/p&gt;

&lt;h3&gt;IPv6&lt;/h3&gt;

&lt;p&gt;Même si ce n’est pas indispensable, IPv6 est le futur d'Internet, et de nombreux serveurs mails parlent IPv6. En utilisant IPv6, vous aurez aussi l’avantage que beaucoup de RBL ne sont pas prêtes pour IPv6, et donc votre IP ne sera certainement pas bloquée sur ces listes.&lt;/p&gt;

&lt;p&gt;Revers de la médaille : oubliez l’utilisation d’une IPv6 exclusive, certains fournisseurs de mail utilisent encore exclusivement IPv4, il vous faudra donc une configuration réseau supportant les deux adressages pour être certain de pouvoir livrer vos mails.&lt;/p&gt;

&lt;h3&gt;Reverse, PTR, et Hostname&lt;/h3&gt;

&lt;p&gt;Le « &lt;a href=&quot;https://en.wikipedia.org/wiki/Reverse_DNS_lookup&quot;&gt;Reverse&lt;/a&gt; », parfois nommé « PTR », est une résolution DNS inverse. De la même façon qu'une résolution DNS permet de passer d'un nom de domaine à une adresse IP, le DNS inverse permet de passer d'une adresse IP à un nom de domaine. Ce mécanisme existe aussi bien pour IPv4 que pour IPv6.&lt;/p&gt;

&lt;p&gt;Si votre fournisseur de service (la personne chez qui vous louez les IPs ou les serveurs) ne vous permet pas de changer le Reverse, changez de prestataire immédiatement ! L'envoi d'un mail à partir d'une adresse IP sans Reverse est souvent rédhibitoire pour le serveur mail de destination (pas de reverse, pas de livraison).&lt;/p&gt;

&lt;p&gt;De plus, votre Reverse doit être consistant :&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;L'adresse IP doit résoudre vers un domaine, et ce même domaine doit résoudre vers l'adresse IP.&lt;/li&gt;
	&lt;li&gt;Le serveur mail doit également fournir son nom de domaine principal dans le processus de négociation, et ce nom doit résoudre correctement vers son IP. Réglez donc les &lt;strong&gt;/etc/hostname&lt;/strong&gt; ; &lt;strong&gt;/etc/mailname&lt;/strong&gt; et &lt;strong&gt;myhostname&lt;/strong&gt; (pour Postfix) correctement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Une inconsistance à un quelconque niveau est pire qu'une absence de reverse : le serveur de destination considérera qu'il y a peut-être usurpation de l'IP.&lt;/p&gt;

&lt;p&gt;Encore une fois, n'oubliez pas de régler aussi le reverse IPv6 si vous utilisez IPv6 sur votre serveur.&lt;/p&gt;

&lt;h3&gt;Postmaster, Hostmaster, et RFC&lt;/h3&gt;

&lt;p&gt;Certains serveurs mails sont un peu soupe au lait. Par exemple, il peut arriver que votre réputation descende en flèche juste parce que le propriétaire du serveur n’a pas de moyen automatisé de vous contacter.&lt;/p&gt;

&lt;p&gt;J’explique : dans les &lt;a href=&quot;https://fr.wikipedia.org/wiki/Request_for_comments&quot;&gt;RFC&lt;/a&gt; (Request For Comment, la base des normes et protocoles sur Internet), il est prévu qu’un serveur mail émettant du courrier possède des adresses particulières, à savoir &lt;a href=&quot;mailto:postmaster@ledomaine.com&quot;&gt;postmaster@ledomaine.com&lt;/a&gt; et &lt;a href=&quot;mailto:hostmaster@ledomaine.com&quot;&gt;hostmaster@ledomaine.com&lt;/a&gt; permettant de recevoir les mails envoyés automatiquement par ses pairs.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;postmaster&lt;/strong&gt; recevra principalement les plaintes pour SPAM, notification de traffic inhabituel sur les mails, et autres requêtes relatives aux mails&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;hostmaster&lt;/strong&gt; recevra les mails relatifs à la gestion du nom de domaine lui-même (demandes de transfert, contact légal du propriétaire - même si on préfère souvent écrire aux contacts du whois), ou parfois pour la réservation d’un certificat SSL (vérification de la propriété du nom de domaine avant délivrance automatique du certificat).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’absence d’une adresse postmaster@ valide sur votre serveur vous fait donc paraître pour le serveur mail de destination comme un spammeur qui n’a même pas pris la peine d’implémenter correctement le protocole mail.&lt;/p&gt;

&lt;p&gt;A noter qu’un alias de postmaster@&amp;nbsp;vers une adresse de votre choix fonctionne aussi, même si cette adresse est un trou noir. Mais vous ne devriez pas ignorer les notifications automatiques de blocage et de plaintes envoyées à postmaster…&lt;/p&gt;

&lt;p&gt;De la même façon, préférez un logiciel de serveur mail respectueux des standards (Postfix, Exim) au tout-dernier-serveur-mail-a-la-mode, dont les réponses ne sont peut-être pas entièrement conformes aux RFC.&lt;/p&gt;

&lt;h3&gt;Limites&lt;/h3&gt;

&lt;p&gt;Là on touche au grand dilemme du fournisseur de mails en serveur mutualisé : offrir plus de possibilités aux utilisateurs, ou se protéger contre les usages abusifs ?&lt;/p&gt;

&lt;p&gt;Concrètement, imaginons qu’un de vos utilisateurs décide d’envoyer de la publicité aux 500 adresses mail de sa liste de contacts. Les serveurs recevant un tel volume de messages d’un seul coup ne vont peut-être pas apprécier ce trafic non sollicité et encombrant (de la pub ? du SPAM ? Paf, bloqué).&lt;/p&gt;

&lt;p&gt;Pire : imaginez qu’un de vos utilisateurs se fasse pirater sa boîte mail, et devienne un émetteur de SPAM ou de virus à partir de votre serveur mail ? Vous pensez que les serveurs de destinations seront compréhensifs s’ils reçoivent des centaines de mails par seconde provenant de votre serveur mail ? Ils ne chercheront pas à comprendre : paf, bloqué.&lt;/p&gt;

&lt;p&gt;La solution dans un premier temps c’est de limiter le nombre de mails envoyés par votre serveur, par adresse et par jour. Chaque utilisateur ne devrait par exemple envoyer que 300 mails par jour. Au-delà, le compte sera bloqué en attendant que l’on détermine si c’est une utilisation légitime ou non. La limite est bien entendu à calibrer selon les utilisateurs et les services que vous voulez offrir.&lt;/p&gt;

&lt;p&gt;Il existe plusieurs solutions pour implémenter ce comportement, voici la mienne : &lt;a href=&quot;https://github.com/mpellegrin/ratelimit-policyd&quot;&gt;github.com/mpellegrin/ratelimit-policyd&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Diminuer la vitesse d’envoi&lt;/h3&gt;

&lt;p&gt;Ça peut paraître un comble au moment où l’on veut recevoir les informations le plus vite possible, et pourtant c’est souvent nécessaire pour l’envoi de mails. Afin d’éviter d’envoyer trop vite un grand volume de mail d’un coup, il peut être nécessaire de mettre en place une limite de mails sortants par seconde et par domaine de destination. Ainsi, le serveur mail de destination ne sera pas inondé sous le poids des mails à traiter, et sera plus coopératif pour les recevoir (en résumé : il ne vous bloquera pas pour usage abusif de sa bande passante).&lt;/p&gt;

&lt;p&gt;La mitigation du taux d’envoi peut être faite au moyen de simples paramètres pour le serveur mail &lt;a href=&quot;http://steam.io/2013/04/01/postfix-rate-limiting/&quot;&gt;steam.io/2013/04/01/postfix-rate-limiting/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;DKIM et SPF&lt;/h3&gt;

&lt;p&gt;Avoir un enregistrement &lt;a href=&quot;https://fr.wikipedia.org/wiki/Sender_Policy_Framework&quot;&gt;SPF&lt;/a&gt; valide pour le domaine avec lequel vous envoyez vos mails est pratiquement obligatoire : non seulement cela vous permettra de confirmer que le serveur qui envoie vos mails y est bien autorisé, mais cela vous protégera (un peu) contre les usurpations d'adresses mail. Un exemple de SPF serait :&lt;/p&gt;

&lt;pre&gt;
v=spf1 +a +mx -all&lt;/pre&gt;

&lt;p&gt;Si vous voulez un effet positif maximal, préférez un réglage strict (&quot;-all&quot;) au réglage de debug (&quot;?all&quot;), quitte à élargir votre jeu de règles en insérant toutes vos IPs. Par contre, ne mettez pas un TTL trop haut sur les enregistrements SPF, on ne sait jamais.&lt;/p&gt;

&lt;p&gt;Attention également, pour configurer votre domaine, &lt;a href=&quot;https://mxtoolbox.com/problem/spf/spf-record-deprecated&quot;&gt;le champ de type &quot;SPF&quot; est obsolète&lt;/a&gt;, utilisez un champ de type TXT pour vos enregistrements SPF.&lt;/p&gt;

&lt;p&gt;En complément au mécanisme SPF, parce que le SPF n'est pas toujours suffisant pour assurer au serveur de destination que le mail est légitime, vous pouvez mettre en place le &lt;a href=&quot;https://fr.wikipedia.org/wiki/DomainKeys_Identified_Mail&quot;&gt;DKIM&lt;/a&gt; pour tous vos mails sortants. La configuration est plus complexe, mais elle vaut largement le coup pour vous faire sortir de l'ornière d'une réputation trop faible de votre adresse IP dans les premiers mois.&lt;/p&gt;

&lt;p&gt;Le principe du DKIM c'est d'ajouter une signature aux mails, cette signature étant calculée à partir d'une clef privée. La clef publique est quant à elle publiée dans un enregistrement TXT dans le nom de domaine, permettant au serveur recevant le mail de vérifier la validité de la signature, et donc la légitimité du message envoyé à partir du nom de domaine.&lt;/p&gt;

&lt;h3&gt;Smarthosts&lt;/h3&gt;

&lt;p&gt;Si finalement tout ce dont j'ai parlé plus haut n'a pas fonctionné, et que vous vous êtes fait bloquer sur le réseau d'un des grands fournisseurs de boîtes mail (Google, Microsoft, yahoo...), voici votre dernier recours.&lt;/p&gt;

&lt;p&gt;Outre changer d'adresse IP, ce qui pose souvent d'autres problèmes, votre solution c'est d'utiliser un Smarthost. Le Smarthost, c'est tout simplement un serveur mail qui transfère des mails. C'est ce que l'on appelle aussi un relay mail, qui va renvoyer tous vos mails à la place de votre serveur bloqué.&lt;/p&gt;

&lt;p&gt;Dans l'idéal vous devriez avoir plusieurs smarthosts, pour pouvoir répartir la charge de traitement, et les échanger lorsque l'adresse IP de l'un d'eux se fait bloquer. Ainsi vous ne touchez pas à vos MX, et vous avez un réseau permettant de faire sortir des mails indépendemment de votre réseau de réception.&lt;/p&gt;

&lt;p&gt;Le routage vers le Smarthost se règle très simplement dans Postfix, &lt;a href=&quot;http://postfix.traduc.org/index.php/STANDARD_CONFIGURATION_README.html&quot;&gt;en utilisant la directive &lt;strong&gt;transport_maps&lt;/strong&gt; de Postfix&lt;/a&gt; et en configurant un second serveur mail (le smarthost) en mode Relay.&lt;/p&gt;

&lt;p&gt;Attention cependant au moment de créer votre smarthost à ne pas créer de configuration en &quot;Open Relay&quot;, qui permettrait à n'importe qui d'envoyer des mails à travers le smarthost, la sentence sera immédiate lorsque des spammeurs s'en apercevront. Réglez bien votre &lt;strong&gt;mynetwork&lt;/strong&gt;, et &lt;strong&gt;sender_restrictions&lt;/strong&gt; (&lt;a href=&quot;http://www.postfix.org/SMTPD_ACCESS_README.html#global&quot;&gt;par exemple avec Postfix&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;Pour aller plus loin&lt;/h3&gt;

&lt;p&gt;Voici une liste d'outils assez pratique lorsque l'on configure ou que l'on cherche la cause d'un problème de délivrance sur un serveur mail :&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://www.mail-tester.com/&quot;&gt;Mail Tester&lt;/a&gt; (indispensable pour vérifier votre configuration)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://mxtoolbox.com&quot;&gt;MXToolbox&lt;/a&gt; (le couteau suisse des tests sur les serveurs mails)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://support.google.com/mail/answer/81126?hl=fr&quot;&gt;Quelques conseils de Google&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quelques liens pour (essayer de) se faire retirer de la Blocklist :&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://postmaster.live.com/snds/index.aspx&quot;&gt;Pour se faire dé-bannir par Microsoft&lt;/a&gt; (sans garanties...)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://support.google.com/mail/contact/bulk_send_new?hl=en&amp;amp;rd=1&quot;&gt;Pour se faire dé-bannir par Google&lt;/a&gt; (sans garanties)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://help.yahoo.com/l/us/yahoo/mail/postmaster/bulkv2.html&quot;&gt;Pour se faire débannir par Yahoo&lt;/a&gt; (sans garanties)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://postmaster.aol.com/whitelist-request&quot;&gt;Pour se faire débannir par AOL&lt;/a&gt; (sans garanties)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les programmes de monitoring de réputation :&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://postmaster.google.com&quot;&gt;Google Postmaster Tools&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://sendersupport.olc.protection.outlook.com/pm/services.aspx&quot;&gt;Services de Microsoft&lt;/a&gt;, dont :
	&lt;ul&gt;
		&lt;li&gt;&lt;a href=&quot;https://sendersupport.olc.protection.outlook.com/snds/&quot;&gt;Outlook.com Smart Network Data Services (SNDS)&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://sendersupport.olc.protection.outlook.com/snds/JMRP.aspx&quot;&gt;Junk Mail Report Program (JMRP)&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://help.yahoo.com/kb/postmaster/sign-manage-yahoo-complaint-feedback-loop-program-sln3438.html?guce_referrer=aHR0cHM6Ly9oZWxwLnlhaG9vLmNvbS9rYi9wb3N0bWFzdGVyLz9ndWNlX3JlZmVycmVyPWFIUjBjSE02THk5M2QzY3VjWGRoYm5RdVkyOXRMdyZndWNlX3JlZmVycmVyX3NpZz1BUUFBQUxFa3d6SjZia2U1LWgtOHExaWtkd3prNmJYUFRtdV81bDZHcVlWbHBjcVVNNm5PNDRlRDZFN0F0TmtjdjlUTmxJSHE0RWlJTC0tbjgteGRyNjVueXEyZUdnQmFrYlFhWjdKa0hLbzg5cFlZdVRoS19waFRfZG9qWFkxaFV0NnlUakhYMW5sZEdhY0J2ZTZwNzFmaUdvdTkxS2U2YkRXLXJBdzhjSjJhT1FiQiZfZ3VjX2NvbnNlbnRfc2tpcD0xNTk3MTg3Mzk3&amp;amp;guce_referrer_sig=AQAAADXcyLkhrnEIWxifEsj79itT56DobcqMVN0QwUcHJzVyohNuP5BfaUg_mtqZ60g_-s7a_L2QHy7IwWqA9NHXmzTnBFSmAGIBh67-9hFpKz63Kb3ojU1XzLWuHWKK1YQiwWZiJogj1Ij6bYWhR2o8cu8--JvB2O9XEoIv8oh2w2US&amp;amp;_guc_consent_skip=1597187419&quot;&gt;Yahoo Complaint Feedback Loop (CFL)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
        
              </item>
          <item>
        <title>Un serveur au régime : faites tourner un serveur complet dans un mouchoir de poche</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2013/11/26/Un-serveur-au-r%C3%A9gime-%3A-faites-tourner-un-serveur-complet-dans-un-mouchoir-de-poche</link>
        <guid isPermaLink="false">urn:md5:e5d93e067cbe67fe57aa1cd33137909c</guid>
        <pubDate>Mon, 25 Nov 2013 07:15:00 +0100</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Hacks</category>
                          <category>apache</category>
                  <category>debian</category>
                  <category>exim</category>
                  <category>inetd</category>
                  <category>lighttpd</category>
                  <category>linux</category>
                  <category>mysql</category>
                  <category>nginx</category>
                  <category>postgresql</category>
                  <category>serveur</category>
                  <category>sqlite</category>
                  <category>ssmtp</category>
                  <category>swap</category>
                  <category>vsftpd</category>
                <description>          &lt;h3&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Ce n&amp;#8217;est pas la période pour les régimes et pourtant aujourd&amp;#8217;hui,
dans un billet volontairement cryptique aux
non-initiés, je vais vous dévoiler les quelques secrets qui permettent à
des nerds invétérés de donner vie à des machines ridiculement pauvres
en RAM. Pour la beauté du geste, mais pas que.&lt;/p&gt;
&lt;p&gt;Je me souviens que l&amp;#8217;on s&amp;#8217;est souvent moqué de moi quand je disais
qu&amp;#8217;avec 512&amp;#160;mégas de RAM on pouvait faire tourner un serveur complet
mail+ftp+web+sql. En remplaçant quelques programmes, vous pouvez parfaitement faire
tourner votre application web standalone, un noeud de CDN performant, un
miroir FTP, ou un relais mail.&lt;/p&gt;
&lt;p&gt;Cet article va simplement vous présenter des alternatives, et terminer avec quelques astuces plus générales. Le but est de remplacer notre célèbre LAMP par des solutions moins gourmandes en mémoire.&lt;/p&gt;
&lt;h3&gt;Remplacer Apache&lt;/h3&gt;
&lt;p&gt;Pour remplacer &lt;strong&gt;Apache&lt;/strong&gt;, nous avons le choix entre &lt;strong&gt;Nginx&lt;/strong&gt; et &lt;strong&gt;Lighttpd&lt;/strong&gt; (&lt;em&gt;Lighty&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lighttpd&lt;/strong&gt; est le serveur le plus léger au monde. Sa structure est très simple, et l&amp;#8217;impact d&amp;#8217;une connexion en mémoire est très faible.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nginx&lt;/strong&gt; est un serveur qui consomme un peu plus au démarrage, mais qui utilise une gestion intelligente de ses connexions ouvertes pour optimiser son impact mémoire.&lt;/p&gt;
&lt;p&gt;Inconvénients&amp;#160;: oubliez les &lt;code&gt;.htaccess&lt;/code&gt;, préparez-vous à faire un peu de configuration pour remplacer votre &amp;#8220;&lt;code&gt;a2enmod php5&lt;/code&gt;&amp;#8221;, et changez vos habitudes pour redémarrer les services.&lt;/p&gt;
&lt;h3&gt;Remplacer MySQL&lt;/h3&gt;
&lt;p&gt;Ce n&amp;#8217;est pas facile de remplacer MySQL, tellement le nombre de programme qui en dépendent est conséquent. Cependant, si c&amp;#8217;est possible, n&amp;#8217;hésitez pas une seconde, voici les deux alternatives &amp;#8220;lowcost&amp;#8221; possibles&amp;#160;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SQLite&lt;/strong&gt;&amp;#160;: une base SQLite est simplement un fichier qui est chargé en mémoire au moment où l&amp;#8217;on veut lire dedans. Pas de démon résident, pas d&amp;#8217;impact lorsque la base est inactive. Par contre, préparez vous à attendre un peu si votre base est conséquente&amp;#160;: lire des données en n&amp;#8217;utilisant que le cache disque,&amp;nbsp; ça peut prendre du temps.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt;&amp;#160;: PostgreSQL est un peu le nouveau MySQL, mais en mieux. de faible impact mémoire au démarrage, doté de plus de fonctionnalités que MySQL et proposant de meilleures performances, il reste encore marginal mais a tout pour concurrencer les équivalents propriétaires comme Oracle. On peut l&amp;#8217;utiliser dans un environnement limité, en configurant correctement les limites dans sa configuration.&lt;/p&gt;
&lt;h3&gt;Remplacer ProFTPd&lt;/h3&gt;
&lt;p&gt;Si vous proposez un hébergement, vous proposerez certainement un serveur FTP.&lt;/p&gt;
&lt;p&gt;Si les utilisateurs du serveur sont des utilisateurs &amp;#8220;de confiance&amp;#8221; (ie&amp;#160;: que vous connaissez), vous pouvez leur laisser utiliser le serveur &lt;strong&gt;SFTP&lt;/strong&gt; fourni par le serveur SSH (à activer dans la configuration). De très faible impact mémoire, pour une meilleure sécurité et moins de configuration, le protocole SFTP est supporté par la majorité des clients FTP. C&amp;#8217;est LA solution des flemmards pour mettre en place un serveur FTP.&lt;/p&gt;
&lt;p&gt;Sinon, vous pouvez vous rabattre sur un &lt;strong&gt;VSFTPd&lt;/strong&gt;, qui en plus de vous combler au niveau impact mémoire, vous comblera au niveau rapidité. Il gère aussi le &lt;strong&gt;FTPS&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Remplacer Postfix&lt;/h3&gt;
&lt;p&gt;Si vous n&amp;#8217;utilisez pas la réception des mails et que vous ne faites que de l&amp;#8217;envoi (avec ou sans smarthost), &lt;strong&gt;Exim&lt;/strong&gt; vous comblera au moins autant que Postfix, vous proposant même sous Debian une interface de configuration &amp;#8220;pour les nuls&amp;#8221;&amp;#160;: &lt;code&gt;dpkg-reconfigure exim4-config&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Éviter la catastrophe&lt;/h3&gt;
&lt;p&gt;En cas de gonflement inattendu de la mémoire, et lorsque celle-ci commence à manquer, le système d&amp;#8217;exploitation commence à sacrifier des programmes pour libérer de la RAM. C&amp;#8217;est dommage, on aimerait éviter d&amp;#8217;en arriver à de telles extrémités sur un serveur de production.&lt;/p&gt;
&lt;p&gt;La solution est assez simple, bien qu&amp;#8217;imparfaite&amp;#160;: il suffit de rajouter de la SWAP. La SWAP est un fichier d&amp;#8217;échange placé sur le disque dur, lorsque il n&amp;#8217;y a plus de mémoire en RAM, une partie de la RAM est déchargée (ie copiée) sur la SWAP, pour laisser de la place aux programmes &amp;#8220;actifs&amp;#8221;. Bien entendu, cette mémoire déchargée devra être rechargée dès lors qu&amp;#8217;un programme a besoin d&amp;#8217;un bloc mémoire qui a été placé en SWAP, ralentissant le traitement à la vitesse des temps d&amp;#8217;accès disque (pas cool).&lt;/p&gt;
&lt;h3&gt;Faire dormir tout le monde&lt;/h3&gt;
&lt;p&gt;Ce qui est pénible avec les serveurs, c&amp;#8217;est la quantité de RAM qui est là, utilisée en permanence, pour finalement un seul pic d&amp;#8217;utilisation. Si on pouvait récupérer la RAM des programmes qui n&amp;#8217;interagissent pas avec l&amp;#8217;extérieur, et ne les lancer que quand on en a besoin&amp;#160;? &lt;strong&gt;Inetd&lt;/strong&gt; est fait pour ça&amp;#160;!&lt;/p&gt;
&lt;p&gt;Inetd c&amp;#8217;est un &amp;#8220;super démon&amp;#8221; qui va écouter sur les ports demandés à la place des programmes, et qui va lancer les programmes pour traiter l&amp;#8217;événement, dès lors qu&amp;#8217;une connexion est ouverte sur un de ses ports d&amp;#8217;écoute. On peut donc imaginer avoir un Lighttpd non lancé qui se fait réveiller lorsque Inetd reçoit une connexion sur le port 80. Lighttpd traite alors la requête et s&amp;#8217;arrête immédiatement après, laissant la place pour d&amp;#8217;autres programmes.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;inconvénient ici vient des temps de traitement forcément plus longs qu&amp;#8217;avec des démons résidents (démarrer le programme prend du temps).&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Voilà, c&amp;#8217;est à peu près tout, j&amp;#8217;espère qu&amp;#8217;avec ces petits changements dans votre configuration, vous aurez quelques pistes pour alléger votre serveur, si jamais l&amp;#8217;expérience vous tente. &lt;img src=&quot;/blog/themes/mathedit_material3/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot;&gt;&lt;/p&gt;</description>
        
              </item>
      </channel>
</rss>
