index.html 97 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097
  1. <!DOCTYPE html>
  2. <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
  3. <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title>Installation de dovecot et de l'authentification - The Yojik Server Installation Guide</title>
  9. <link rel="shortcut icon" href="../img/favicon.ico">
  10. <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
  11. <link rel="stylesheet" href="../css/theme.css" type="text/css" />
  12. <link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
  13. <link rel="stylesheet" href="../css/highlight.css">
  14. <script>
  15. // Current page data
  16. var mkdocs_page_name = "Installation de dovecot et de l'authentification";
  17. var mkdocs_page_input_path = "10-dix.md";
  18. var mkdocs_page_url = "/10-dix/";
  19. </script>
  20. <script src="../js/jquery-2.1.1.min.js"></script>
  21. <script src="../js/modernizr-2.8.3.min.js"></script>
  22. <script type="text/javascript" src="../js/highlight.pack.js"></script>
  23. <script src="../js/theme.js"></script>
  24. </head>
  25. <body class="wy-body-for-nav" role="document">
  26. <div class="wy-grid-for-nav">
  27. <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
  28. <div class="wy-side-nav-search">
  29. <a href=".." class="icon icon-home"> The Yojik Server Installation Guide</a>
  30. <div role="search">
  31. <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
  32. <input type="text" name="q" placeholder="Search docs" />
  33. </form>
  34. </div>
  35. </div>
  36. <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
  37. <ul class="current">
  38. <li>
  39. <li class="toctree-l1 ">
  40. <a class="" href="..">Home</a>
  41. </li>
  42. <li>
  43. <li>
  44. <li class="toctree-l1 ">
  45. <a class="" href="../1-un/">Installation d'un serveur Debian/Stretch sécurisé</a>
  46. </li>
  47. <li>
  48. <li>
  49. <li class="toctree-l1 ">
  50. <a class="" href="../2-deux/">Premières étapes de sécurisation du serveur</a>
  51. </li>
  52. <li>
  53. <li>
  54. <li class="toctree-l1 ">
  55. <a class="" href="../3-trois/">Configuration du réseau</a>
  56. </li>
  57. <li>
  58. <li>
  59. <li class="toctree-l1 ">
  60. <a class="" href="../4-quatre/">Installation d'un serveur de temps</a>
  61. </li>
  62. <li>
  63. <li>
  64. <li class="toctree-l1 ">
  65. <a class="" href="../5-cinq/">Installation d'un pare-feu</a>
  66. </li>
  67. <li>
  68. <li>
  69. <li class="toctree-l1 ">
  70. <a class="" href="../6-six/">Contrer les attaques de brute-force avec fail2ban</a>
  71. </li>
  72. <li>
  73. <li>
  74. <li class="toctree-l1 ">
  75. <a class="" href="../7-sept/">Installation d'un serveur de courrier basique</a>
  76. </li>
  77. <li>
  78. <li>
  79. <li class="toctree-l1 ">
  80. <a class="" href="../8-huit/">Installation du serveur DNS</a>
  81. </li>
  82. <li>
  83. <li>
  84. <li class="toctree-l1 ">
  85. <a class="" href="../9-neuf/">Installation d'un serveur web</a>
  86. </li>
  87. <li>
  88. <li>
  89. <li class="toctree-l1 current">
  90. <a class="current" href="./">Installation de dovecot et de l'authentification</a>
  91. <ul>
  92. <li class="toctree-l3"><a href="#installation-de-dovecot-et-de-lauthentification">Installation de dovecot et de l'authentification</a></li>
  93. <li><a class="toctree-l4" href="#installation-des-programmes">Installation des programmes</a></li>
  94. <li><a class="toctree-l4" href="#choix-de-la-base-de-donnees">Choix de la base de données</a></li>
  95. <li><a class="toctree-l4" href="#configuration-du-type-de-boite-aux-lettres">Configuration du type de boîte aux lettres</a></li>
  96. <li class="toctree-l3"><a href="#architecture">Architecture</a></li>
  97. <li class="toctree-l3"><a href="#schema-densemble">Schéma d'ensemble</a></li>
  98. <li class="toctree-l3"><a href="#explication">Explication:</a></li>
  99. <li><a class="toctree-l4" href="#les-ports-servis-par-postfix">Les ports servis par Postfix</a></li>
  100. <li class="toctree-l3"><a href="#les-ports-servis-par-dovecot">Les ports servis par Dovecot</a></li>
  101. <li class="toctree-l3"><a href="#ce-que-nous-allons-implementer">Ce que nous allons implémenter</a></li>
  102. <li class="toctree-l3"><a href="#configuration-de-dovecot">Configuration de Dovecot</a></li>
  103. <li class="toctree-l3"><a href="#configuration-des-certificats">Configuration des certificats</a></li>
  104. <li><a class="toctree-l4" href="#test">Test</a></li>
  105. <li><a class="toctree-l4" href="#test-de-la-connexion-sur-le-port-993-a-partir-dun-ordinateur-exterieur">Test de la connexion sur le port 993 à partir d'un ordinateur extérieur</a></li>
  106. <li class="toctree-l3"><a href="#configuration-dun-port-qui-naccepte-que-les-communications-chiffrees">Configuration d'un port qui n'accepte que les communications chiffrées.</a></li>
  107. <li><a class="toctree-l4" href="#test_1">Test</a></li>
  108. <li><a class="toctree-l4" href="#test-de-connexion-sur-le-port-465">test de connexion sur le port 465</a></li>
  109. <li><a class="toctree-l4" href="#test_2">Test</a></li>
  110. <li><a class="toctree-l4" href="#test_3">Test</a></li>
  111. <li class="toctree-l3"><a href="#interdiction-de-communications-non-chiffrees-sur-le-port-465">Interdiction de communications non-chiffrées sur le port 465</a></li>
  112. <li><a class="toctree-l4" href="#test_4">Test</a></li>
  113. <li class="toctree-l3"><a href="#ajout-de-la-gestion-du-port-587">Ajout de la gestion du port 587</a></li>
  114. <li><a class="toctree-l4" href="#test_5">Test</a></li>
  115. <li class="toctree-l3"><a href="#ajout-de-la-gesion-du-port-993-imap-avec-ssltls">Ajout de la gesion du port 993 (imap avec SSL/TLS)</a></li>
  116. <li><a class="toctree-l4" href="#test_6">Test</a></li>
  117. <li class="toctree-l3"><a href="#mise-en-route">Mise en route</a></li>
  118. <li><a class="toctree-l4" href="#test_7">Test</a></li>
  119. <li class="toctree-l3"><a href="#mise-en-place-du-fichier-auto-configuration-mozilla">Mise en place du fichier "auto-configuration" Mozilla</a></li>
  120. <li class="toctree-l3"><a href="#test-en-situation">Test en situation ...</a></li>
  121. <li><a class="toctree-l4" href="#lecture-des-messages">Lecture des messages</a></li>
  122. <li><a class="toctree-l4" href="#envoi-de-messages">Envoi de messages</a></li>
  123. <li class="toctree-l3"><a href="#installation-dun-analyseur-des-logs-mail">Installation d'un analyseur des logs mail</a></li>
  124. <li><a class="toctree-l4" href="#installation">Installation</a></li>
  125. <li><a class="toctree-l4" href="#utilisation">Utilisation</a></li>
  126. <li class="toctree-l3"><a href="#installation-de-rainloop-webmail">Installation de rainloop (webmail)</a></li>
  127. <li><a class="toctree-l4" href="#mise-en-route-du-webmail-dans-apache">Mise en route du webmail dans apache</a></li>
  128. <li><a class="toctree-l4" href="#installation-de-linterface-sqlite-de-php">Installation de l'interface sqlite de php</a></li>
  129. </ul>
  130. </li>
  131. <li>
  132. <li>
  133. <li class="toctree-l1 ">
  134. <a class="" href="../11-onze/">Installation des certificats letsencrypt</a>
  135. </li>
  136. <li>
  137. <li>
  138. <li class="toctree-l1 ">
  139. <a class="" href="../12-douze/">Ajout des enregistrements SPF et DKIM au fichier de zone DNS</a>
  140. </li>
  141. <li>
  142. <li>
  143. <li class="toctree-l1 ">
  144. <a class="" href="../17-dixsept/">Installation de programmes de surveillance du serveur</a>
  145. </li>
  146. <li>
  147. <li>
  148. <li class="toctree-l1 ">
  149. <a class="" href="../18-dixhuit/">Installation d'un webmail</a>
  150. </li>
  151. <li>
  152. <li>
  153. <li class="toctree-l1 ">
  154. <a class="" href="../19-dixneuf/">Installation de git et de gogs</a>
  155. </li>
  156. <li>
  157. </ul>
  158. </div>
  159. &nbsp;
  160. </nav>
  161. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
  162. <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
  163. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  164. <a href="..">The Yojik Server Installation Guide</a>
  165. </nav>
  166. <div class="wy-nav-content">
  167. <div class="rst-content">
  168. <div role="navigation" aria-label="breadcrumbs navigation">
  169. <ul class="wy-breadcrumbs">
  170. <li><a href="..">Docs</a> &raquo;</li>
  171. <li>Installation de dovecot et de l'authentification</li>
  172. <li class="wy-breadcrumbs-aside">
  173. </li>
  174. </ul>
  175. <hr/>
  176. </div>
  177. <div role="main">
  178. <div class="section">
  179. <h2 id="installation-de-dovecot-et-de-lauthentification">Installation de <strong>dovecot</strong> et de l'authentification</h2>
  180. <p>Pour l'instant, pour récupérer ses émails, il faut d'abord avoir un compte sur le serveur et se loguer. Ensuite, avec la commande mailx, on peut voir ses messages.</p>
  181. <p>Exemple:</p>
  182. <pre><code class="shell">ericadmin@aijan:~$ mailx
  183. &quot;/var/mail/ericadmin&quot;: 2 messages 2 non lus
  184. &gt;U 1 Eric Streit dim. mai 20 08:4 20/742 essai d envoi à root
  185. U 2 Eric Streit dim. mai 20 08:5 19/736 un autre essai
  186. ?
  187. </code></pre>
  188. <p>Nous allons installer dovecot qui est un serveur <strong>pop/imap</strong> et d'authentification <strong>SASL</strong>. Nous pourrons ensuite nous connecter sur le serveur avec un client mail comme <strong>thunderbird</strong>, et récupérer et envoyer nos messages avec celui-ci.</p>
  189. <h3 id="installation-des-programmes">Installation des programmes</h3>
  190. <p>Nous n'installerons que les programmes nécessaires à la gestion du protocole <strong>imap</strong> des courriers. Nous n'utilisons pas le protocole <strong>pop3</strong>.</p>
  191. <p>Tout d'abord, faites une copie de /etc/postfix/main.conf et /etc/postfix/master.conf:</p>
  192. <pre><code class="shell"># cp master.cf master.cf.orig
  193. # cp main.cf main.cf.orig
  194. </code></pre>
  195. <p>Nous allons maintenant configurer nos boites émail; 2 systèmes sont courants: fichier unique qui contient tous vos messages (type mbox) ou répertoire avec un fichier par émail (type maildir). Par défaut, le type est mbox.
  196. Nous allons changer cela (question de goût ...) Pour cela, nous aurons besoins des programmes utilitaires installés avec dovecot.</p>
  197. <h3 id="choix-de-la-base-de-donnees">Choix de la base de données</h3>
  198. <p>Nous utiliserons la base de données <strong>sqlite</strong>. Il est bien sûr préférable d'utiliser une base de données plus traditionnelle comme <strong>mysql</strong> ou <strong>postgresql</strong> si le nombre d'utilisateurs est important. Mon serveur de mails n'aura que moins de 10 adresses émail, donc, <strong>sqlite</strong> suffira.</p>
  199. <pre><code class="shell">root@adara:/home/www# apt install dovecot-common dovecot-imapd dovecot-sqlite
  200. Lecture des listes de paquets... Fait
  201. Construction de l arbre des dépendances
  202. Lecture des informations d état... Fait
  203. Note : sélection de « dovecot-core » au lieu de « dovecot-common »
  204. The following additional packages will be installed:
  205. libexttextcat-2.0-0 libexttextcat-data libstemmer0d
  206. Paquets suggérés :
  207. dovecot-gssapi dovecot-sieve dovecot-pgsql dovecot-mysql dovecot-ldap dovecot-pop3d dovecot-lmtpd dovecot-managesieved dovecot-solr dovecot-lucene ufw
  208. Les NOUVEAUX paquets suivants seront installés :
  209. dovecot-core dovecot-imapd dovecot-sqlite libexttextcat-2.0-0 libexttextcat-data libstemmer0d
  210. 0 mis à jour, 6 nouvellement installés, 0 à enlever et 0 non mis à jour.
  211. Il est nécessaire de prendre 5 062 ko dans les archives.
  212. Après cette opération, 12,2 Mo d espace disque supplémentaires seront utilisés.
  213. Souhaitez-vous continuer ? [O/n] o
  214. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libexttextcat-data all 3.4.4-2 [167 kB]
  215. Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 libexttextcat-2.0-0 amd64 3.4.4-2+b1 [16,2 kB]
  216. Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 libstemmer0d amd64 0+svn585-1+b2 [63,3 kB]
  217. Réception de:4 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-core amd64 1:2.2.27-3+deb9u2 [3 324 kB]
  218. Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-imapd amd64 1:2.2.27-3+deb9u2 [814 kB]
  219. Réception de:6 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-sqlite amd64 1:2.2.27-3+deb9u2 [677 kB]
  220. 5 062 ko réceptionnés en 0s (6 873 ko/s)
  221. Sélection du paquet libexttextcat-data précédemment désélectionné.
  222. (Lecture de la base de données... 26792 fichiers et répertoires déjà installés.)
  223. Préparation du dépaquetage de .../0-libexttextcat-data_3.4.4-2_all.deb ...
  224. Dépaquetage de libexttextcat-data (3.4.4-2) ...
  225. Sélection du paquet libexttextcat-2.0-0:amd64 précédemment désélectionné.
  226. Préparation du dépaquetage de .../1-libexttextcat-2.0-0_3.4.4-2+b1_amd64.deb ...
  227. Dépaquetage de libexttextcat-2.0-0:amd64 (3.4.4-2+b1) ...
  228. Sélection du paquet libstemmer0d:amd64 précédemment désélectionné.
  229. Préparation du dépaquetage de .../2-libstemmer0d_0+svn585-1+b2_amd64.deb ...
  230. Dépaquetage de libstemmer0d:amd64 (0+svn585-1+b2) ...
  231. Sélection du paquet dovecot-core précédemment désélectionné.
  232. Préparation du dépaquetage de .../3-dovecot-core_1%3a2.2.27-3+deb9u2_amd64.deb ...
  233. Dépaquetage de dovecot-core (1:2.2.27-3+deb9u2) ...
  234. Sélection du paquet dovecot-imapd précédemment désélectionné.
  235. Préparation du dépaquetage de .../4-dovecot-imapd_1%3a2.2.27-3+deb9u2_amd64.deb ...
  236. Dépaquetage de dovecot-imapd (1:2.2.27-3+deb9u2) ...
  237. Sélection du paquet dovecot-sqlite précédemment désélectionné.
  238. Préparation du dépaquetage de .../5-dovecot-sqlite_1%3a2.2.27-3+deb9u2_amd64.deb ...
  239. Dépaquetage de dovecot-sqlite (1:2.2.27-3+deb9u2) ...
  240. Paramétrage de libstemmer0d:amd64 (0+svn585-1+b2) ...
  241. Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
  242. Paramétrage de libexttextcat-data (3.4.4-2) ...
  243. Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u3) ...
  244. Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
  245. Paramétrage de libexttextcat-2.0-0:amd64 (3.4.4-2+b1) ...
  246. Paramétrage de dovecot-core (1:2.2.27-3+deb9u2) ...
  247. Creating config file /etc/dovecot/dovecot.conf with new version
  248. Creating config file /etc/dovecot/dovecot-dict-auth.conf.ext with new version
  249. Creating config file /etc/dovecot/dovecot-dict-sql.conf.ext with new version
  250. Creating config file /etc/dovecot/dovecot-sql.conf.ext with new version
  251. Creating config file /etc/dovecot/conf.d/10-auth.conf with new version
  252. Creating config file /etc/dovecot/conf.d/10-director.conf with new version
  253. Creating config file /etc/dovecot/conf.d/10-logging.conf with new version
  254. Creating config file /etc/dovecot/conf.d/10-mail.conf with new version
  255. Creating config file /etc/dovecot/conf.d/10-master.conf with new version
  256. Creating config file /etc/dovecot/conf.d/10-tcpwrapper.conf with new version
  257. Creating config file /etc/dovecot/conf.d/15-lda.conf with new version
  258. Creating config file /etc/dovecot/conf.d/15-mailboxes.conf with new version
  259. Creating config file /etc/dovecot/conf.d/90-acl.conf with new version
  260. Creating config file /etc/dovecot/conf.d/90-plugin.conf with new version
  261. Creating config file /etc/dovecot/conf.d/90-quota.conf with new version
  262. Creating config file /etc/dovecot/conf.d/auth-checkpassword.conf.ext with new version
  263. Creating config file /etc/dovecot/conf.d/auth-deny.conf.ext with new version
  264. Creating config file /etc/dovecot/conf.d/auth-dict.conf.ext with new version
  265. Creating config file /etc/dovecot/conf.d/auth-master.conf.ext with new version
  266. Creating config file /etc/dovecot/conf.d/auth-passwdfile.conf.ext with new version
  267. Creating config file /etc/dovecot/conf.d/auth-sql.conf.ext with new version
  268. Creating config file /etc/dovecot/conf.d/auth-static.conf.ext with new version
  269. Creating config file /etc/dovecot/conf.d/auth-system.conf.ext with new version
  270. Creating config file /etc/dovecot/conf.d/auth-vpopmail.conf.ext with new version
  271. Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /lib/systemd/system/dovecot.service.
  272. Paramétrage de dovecot-imapd (1:2.2.27-3+deb9u2) ...
  273. Creating config file /etc/dovecot/conf.d/20-imap.conf with new version
  274. Paramétrage de dovecot-sqlite (1:2.2.27-3+deb9u2) ...
  275. Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
  276. Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u3) ...
  277. Traitement des actions différées (« triggers ») pour dovecot-core (1:2.2.27-3+deb9u2) ...
  278. root@adara:/home/www#
  279. </code></pre>
  280. <h3 id="configuration-du-type-de-boite-aux-lettres">Configuration du type de boîte aux lettres</h3>
  281. <p>C'est ici que l'on configure si on veut un fichier unique qui contient tous les messages (type inbox) ou un fichier par émail (type Maildir).</p>
  282. <p>Cela se passe dans le fichier /etc/postfix/main.cf</p>
  283. <p>On rajoute les lignes suivantes:</p>
  284. <pre><code>home_mailbox = Maildir/
  285. mailbox_command =
  286. </code></pre>
  287. <p>Si ces lignes existaient avant, il faut les commenter (ajout d'un # en début de ligne.)
  288. On recharge le fichier de conf</p>
  289. <pre><code>service postfix reload
  290. </code></pre>
  291. <p>Et on teste:</p>
  292. <pre><code class="shell">eric@aldebaran:~/Devs/Travail/Installation serveur/Tutorial$ mail ericadmin@aijan.yojik.net
  293. Cc:
  294. Subject: Re-essai
  295. re-essai de aldebaran
  296. .
  297. eric@aldebaran:~/Devs/Travail/Installation serveur/Tutorial$
  298. </code></pre>
  299. <p>J'envoie un courrier à partir de mon desktop.
  300. Vérification sur le serveur:</p>
  301. <pre><code class="shell">ericadmin@aijan:~$ ls
  302. bin index.html Maildir mbox
  303. ericadmin@aijan:~$
  304. </code></pre>
  305. <p>Le répertoire Maildir a bien été créé.
  306. Vérification de la réception des messages:</p>
  307. <pre><code class="shell">ricadmin@aijan:~$ cd Maildir/
  308. ericadmin@aijan:~/Maildir$ ls
  309. cur new tmp
  310. ericadmin@aijan:~/Maildir$ cd new/
  311. ericadmin@aijan:~/Maildir/new$ ls
  312. 1526897441.V801Icc005dM227044.aijan 1526897501.V801Icc0060M464181.aijan 1526897576.V801Icc0061M979030.aijan
  313. ericadmin@aijan:~/Maildir/new$
  314. ericadmin@aijan:~/Maildir/new$ cat 1526897576.V801Icc0061M979030.aijan
  315. Return-Path: &lt;eric@aldebaran.yojik.net&gt;
  316. X-Original-To: ericadmin@aijan.yojik.net
  317. Delivered-To: ericadmin@aijan.yojik.net
  318. Received: from aldebaran.yojik.net (unknown [IPv6:2a01:e0a:54:c220:6423:417b:6ef:ee21])
  319. by aijan.yojik.net (Postfix) with ESMTP id EC11BD00903
  320. for &lt;ericadmin@aijan.yojik.net&gt;; Mon, 21 May 2018 12:12:56 +0200 (CEST)
  321. Received: by aldebaran.yojik.net (Postfix, from userid 1000)
  322. id 8B42920620A; Mon, 21 May 2018 12:12:56 +0200 (CEST)
  323. To: &lt;ericadmin@aijan.yojik.net&gt;
  324. Subject: Re-essai
  325. X-Mailer: mail (GNU Mailutils 3.1.1)
  326. Message-Id: &lt;20180521101256.8B42920620A@aldebaran.yojik.net&gt;
  327. Date: Mon, 21 May 2018 12:12:56 +0200 (CEST)
  328. From: eric@aldebaran.yojik.net (Eric Streit)
  329. re-essai de aldebaran
  330. .
  331. ericadmin@aijan:~/Maildir/new$
  332. </code></pre>
  333. <p>Les messages sont bien reçus. Par contre, mailx ne fonctionne plus (uniquement avec des fichiers mbox.)
  334. Pour lire nos messages, il nous faut installer le lecteur de courriers <strong>mutt</strong>.</p>
  335. <pre><code class="shell">root@aijan:/etc/postfix# apt install mutt
  336. Lecture des listes de paquets... Fait
  337. Construction de l'arbre des dépendances
  338. Lecture des informations d'état... Fait
  339. The following additional packages will be installed:
  340. libgmime-2.6-0 libgpgme11 libnotmuch4 libtalloc2 libtokyocabinet9
  341. Paquets suggérés :
  342. gpgsm urlview mixmaster
  343. Les NOUVEAUX paquets suivants seront installés :
  344. libgmime-2.6-0 libgpgme11 libnotmuch4 libtalloc2 libtokyocabinet9 mutt
  345. 0 mis à jour, 6 nouvellement installés, 0 à enlever et 12 non mis à jour.
  346. Il est nécessaire de prendre 2 433 ko dans les archives.
  347. Après cette opération, 8 665 ko d'espace disque supplémentaires seront utilisés.
  348. Souhaitez-vous continuer ? [O/n] o
  349. Réception de:1 http://deb.debian.org/debian stretch/main amd64 libtokyocabinet9 amd64 1.4.48-11+b1 [367 kB]
  350. Réception de:2 http://deb.debian.org/debian stretch/main amd64 libgpgme11 amd64 1.8.0-3+b2 [160 kB]
  351. Réception de:3 http://deb.debian.org/debian stretch/main amd64 libgmime-2.6-0 amd64 2.6.22+dfsg2-1 [232 kB]
  352. Réception de:4 http://deb.debian.org/debian stretch/main amd64 libtalloc2 amd64 2.1.8-1 [36,3 kB]
  353. ....
  354. </code></pre>
  355. <p>On teste; on le lance avec la commande suivante:</p>
  356. <pre><code class="shell">ericadmin@aijan:~$ mutt -f ./Maildir/
  357. GPGME : protocole CMS non disponible
  358. 3 gardé(s), 0 effacé(s).
  359. ericadmin@aijan:~$
  360. </code></pre>
  361. <p>Résultat: (extrait de l'écran)</p>
  362. <pre><code class="shell">q:Quitter d:Effacer u:Récup s:Sauver m:Message r:Répondre g:Groupe ?:Aide
  363. 1 O + mai 21 root (0,1K) Essai
  364. 2 O F mai 21 To root@localho (0,1K) essai d'envoi à root
  365. 3 O + mai 21 Eric Streit (0,1K) Re-essai
  366. NeoMutt: ./Maildir/ [Msgs:3 Old:3 1,6K](threads/date)-
  367. </code></pre>
  368. <p>Nos émails sont bien là :) Nous pourrons supprimer mutt plus tard si nous voulons gagner un peu de place.</p>
  369. <h2 id="architecture">Architecture</h2>
  370. <p>Avant de continuer à configurer notre serveur mail, il serait utile d'avoir une vue d'ensemble du système que nous allons configurer. Pour l'instant, nous n'avons apporté que peu de modifications aux fichiers de configuration (nous avons seulement changé le type de format de nos boîtes aux lettres :</p>
  371. <pre><code>mbox -&gt; Maildir
  372. </code></pre>
  373. <p>Si nous regardons quels ports sont écoutés; nous voyons que nous avons pour l'instant:</p>
  374. <pre><code>le port 22 (SSH)
  375. le port 25 (Postfix)
  376. le port 80 (Apache)
  377. le port 443 (Apache)
  378. le port 53 et 953 (Bind)
  379. </code></pre>
  380. <p>et le port 143 (imap) de dovecot, mais dovecot n'est pas encore intégré à notre serveur mail et est <strong>non-configuré</strong>.</p>
  381. <pre><code class="shell">root@aijan:/home/ericadmin# netstat -tlnp
  382. Connexions Internet actives (seulement serveurs)
  383. Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
  384. tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 536/named
  385. tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 536/named
  386. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 603/sshd
  387. tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 850/master
  388. tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 536/named
  389. tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 676/apache2
  390. tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 607/dovecot
  391. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 676/apache2
  392. tcp6 0 0 :::53 :::* LISTEN 536/named
  393. tcp6 0 0 :::22 :::* LISTEN 603/sshd
  394. tcp6 0 0 :::25 :::* LISTEN 850/master
  395. tcp6 0 0 ::1:953 :::* LISTEN 536/named
  396. tcp6 0 0 :::143 :::* LISTEN 607/dovecot
  397. root@aijan:/home/ericadmin#
  398. </code></pre>
  399. <p>Notez la commande <strong>netstat -tlnp</strong> pour voir les ports ouverts ainsi que les programmes qui les gèrent.</p>
  400. <p><img alt="Notre serveur de mail" src="../Images/dessin.svg" /></p>
  401. <p>Nous n'utiliserons pas le protocole Pop3 (ni sa variante pop3s). Le protocole Imap offre bien plus de possibilités. (parties rouges entourées de noir)</p>
  402. <h2 id="schema-densemble">Schéma d'ensemble</h2>
  403. <p>Les parties implémentées sont en rouge sur le dessin suivant:</p>
  404. <p><img alt="Notre serveur de mail" src="../Images/dessin1.svg" /></p>
  405. <h2 id="explication">Explication:</h2>
  406. <h3 id="les-ports-servis-par-postfix">Les ports servis par Postfix</h3>
  407. <ol>
  408. <li>Le port 25 est utilisé pour la communication entre serveurs smtp; il permet une connexion "en clair" ou chiffrée. Il peut être aussi utilisé pour l'envoi des mails à partir d'un client. Nous l'avons d'ailleurs fait avec la commande <strong>mail</strong> et <strong>telnet</strong>.</li>
  409. <li>Le port 587 est le port "submission", port utilisé par défaut par les <strong>clients mail</strong> pour <strong>envoyer</strong> du courrier sur le serveur (thunderbird, etc ...) qui le dispatche ensuite, soit dans les boîtes de courrier locales, soit à un destinataire extérieur.</li>
  410. <li>Le port 465 est un port qui a été réservé pour les communications chiffrées (SMTP over SSL): il était utilisé avant que STARTTLS ne soit utilisé; il a été enlevé des ports standards de mail.</li>
  411. </ol>
  412. <p>Le premier port (25) est un port d'entrée-sortie réservé à la communication entre serveurs ("mais permet aussi la submission de messages avec authentification".) Souvenez-vous que le port 25 est bloqué par de nombreux FAI. La communication peut être chiffrée ou non, suivant les possibilités du serveur et du client, et donc, les mots de passe peuvent passer en clair. La communication commence en mode "clair" et après négociation, passe en mode "chiffrée" si celle-ci est disponible: (STARTTLS)</p>
  413. <p>Les 2 derniers ports (465 et 587) sont des ports d'entrée de vos messages envoyés par des clients, après authentification, en mode chiffré ou non.</p>
  414. <h2 id="les-ports-servis-par-dovecot">Les ports servis par Dovecot</h2>
  415. <ol>
  416. <li>Les ports 143 et 993 sont des ports réservés au protocole IMAP(s).</li>
  417. <li>Les port 110 et 995 sont des ports réservés au protocole POP3(s), mais nous ne l'utiliserons pas.</li>
  418. </ol>
  419. <p>Ces ports sont servis par Dovecot. Il permettent de gérer notre boîte mail, récupérer, effacer nos messages, créer des dossiers dans lesquels nous pouvons trier nos messages.</p>
  420. <h2 id="ce-que-nous-allons-implementer">Ce que nous allons implémenter</h2>
  421. <p>Nous implémenterons une politique particulière, comme celle décrite ici:
  422. <a href="https://samhobbs.co.uk/2013/12/raspberry-pi-email-server-part-2-dovecot">RasperryPi Email server Part 2</a>
  423. Cet auteur sépare les communications entre serveurs (port 25) et client-serveur (ports 587 et 465). Il empêche les communications non-chifrées entre client et serveur, et utilise le port 465 pour les communications chiffrées (déprécié par le standard.)
  424. Jusqu'à maintenant, nous n'avons utilisé ni dovecot, ni base de données; l'authentification se faisant directement sur le serveur en accédant à notre compte sur le serveur (login par identifiant/mot de passe ou clef SSH).
  425. Nous allons implémenter l'accès par <strong>Imap</strong> et <strong>Imaps</strong> de nos courriers à partir de n'importe quelle machine et avec authentification (toujours pas de comptes virtuels.) L'authentification se faisait avant en se connectant sur nos comptes en <strong>SSH</strong>. Nous avons déjà généré auparavant nos clefs de chiffrage avec <strong>certbot</strong>. (voir le chapitre suivant ...)
  426. Elles sont situées dans <strong>/etc/letsencrypt/live/atom.yojik.net</strong>.
  427. Dovecot est un serveur Imap et pop3. Il assure en plus l'authentification.</p>
  428. <h2 id="configuration-de-dovecot">Configuration de Dovecot</h2>
  429. <ul>
  430. <li>
  431. <p>Indiquer à Dovecot d'écouter sur toutes les interfaces, en IPV4 et IPV6. Le fichier à configurer (après copie) est <strong>/etc/dovecot/dovecot.conf</strong>; changer la ligne qui contient:</p>
  432. <blockquote>
  433. <p>listen =
  434. en
  435. listen = *, ::</p>
  436. </blockquote>
  437. </li>
  438. <li>
  439. <p>Il faut lui indiquer <strong>où</strong> sont stockés nos mails et sous quel <strong>format</strong>. Cela se configure dans le fichier:</p>
  440. <p>/etc/dovecot/conf.d/10-mail.conf
  441. Voici un extrait du contenu original:</p>
  442. <pre><code>## Mailbox locations and namespaces
  443. ##
  444. mail_location = mbox:~/mail:INBOX=/var/mail/%u
  445. </code></pre>
  446. <p>Le format par défaut est <strong>mbox</strong> situé dans <strong>/var/mail/user</strong>
  447. Nous allons changer cela en:</p>
  448. <pre><code>mail_location = maildir:~/Maildir
  449. </code></pre>
  450. <p>Dovecot utilisera notre boîte aux lettres située dans le home de chaque user, et dans le répertoire Maildir.</p>
  451. <p>Souvenez-vous que nous avions configuré Postfix afin qu'il utilise le format Maidir.</p>
  452. </li>
  453. <li>
  454. <p>Indiquer à Postfix d'utiliser dovecot pour l'accès aux mails ainsi que pour l'authentification.</p>
  455. <p>Nous allons modifier le fichier <strong>/etc/postfix/main.cf</strong> et ajouter les lignes suivantes:</p>
  456. <pre><code>smtpd_sasl_type = dovecot
  457. smtpd_sasl_path = private/auth
  458. smtpd_sasl_auth_enable = yes
  459. </code></pre>
  460. <p>Nous allons indiquer à Dovecot de répondre aux demandes d'authentification de postfix:
  461. Après avoir fait une sauvegarde du fichier original /etc/dovecot/conf.d/10-master.conf (toujours sauvegarder les fichiers avant modifications!), nous allons modifier le mécanisme d'authentification de docvecot. Pour cela nous allons remplacer la partie intitulée <strong>service auth</strong> par ce qui suit:</p>
  462. <pre><code>service auth {
  463. unix_listener /var/spool/postfix/private/auth {
  464. mode = 0660
  465. user = postfix
  466. group = postfix
  467. }
  468. </code></pre>
  469. </li>
  470. <li>
  471. <p>Autorisons maintenant le <strong>plain login</strong>; nous allons modifier le fichier <strong>/etc/dovecot/conf.d/10-auth.conf</strong> en ajoutant ou modifiant les lignes suivantes:</p>
  472. <pre><code>disable_plaintext_auth = no
  473. auth_mechanisms = plain login
  474. </code></pre>
  475. <p>On relance postfix et dovecot pour prendre en compte les modifications.</p>
  476. <pre><code>root@atom:/etc/postfix# systemctl restart postfix
  477. root@atom:/etc/postfix# systemctl restart dovecot
  478. </code></pre>
  479. <p>On vérifie que tout s'est bien passé avec la commande:</p>
  480. <pre><code>root@atom:/etc/postfix# tail -f /var/log/daemon.log
  481. Nov 26 12:47:22 atom systemd[1]: Stopped Postfix Mail Transport Agent (instance -).
  482. Nov 26 12:47:22 atom systemd[1]: Starting Postfix Mail Transport Agent (instance -)...
  483. Nov 26 12:47:23 atom systemd[1]: Started Postfix Mail Transport Agent (instance -).
  484. Nov 26 12:47:23 atom systemd[1]: Starting Postfix Mail Transport Agent...
  485. Nov 26 12:47:23 atom systemd[1]: Started Postfix Mail Transport Agent.
  486. Nov 26 12:47:28 atom systemd[1]: Stopping Dovecot IMAP/POP3 email server...
  487. Nov 26 12:47:29 atom systemd[1]: Stopped Dovecot IMAP/POP3 email server.
  488. Nov 26 12:47:29 atom systemd[1]: Starting Dovecot IMAP/POP3 email server...
  489. Nov 26 12:47:29 atom systemd[1]: dovecot.service: PID file /var/run/dovecot/master.pid not readable (yet?) after start: No such file or directory
  490. Nov 26 12:47:29 atom systemd[1]: Started Dovecot IMAP/POP3 email server.
  491. </code></pre>
  492. <p>On quitte avec Ctrl C.</p>
  493. <p>C'est bon.</p>
  494. </li>
  495. <li>
  496. <p>Test 1</p>
  497. <p>Nous allons nous connecter avec telnet; voici la capture de la session:</p>
  498. <p>Tout d'abord, création d'un nouvel utilisateur de nom testmail et mot de passe testmail (oui, rien de bien original). A partir du compte root, nous allons envoyer un message à cet utilisateur (voir au-dessus pour comment faire avec la commande mail.)</p>
  499. <p>Testons si le message est bien arrivé:</p>
  500. </li>
  501. </ul>
  502. <pre><code class="shell">root@atom:/etc/postfix# adduser testmail
  503. Ajout de l'utilisateur « testmail25 » ...
  504. Ajout du nouveau groupe « testmail25 » (1001) ...
  505. Ajout du nouvel utilisateur « testmail25 » (1001) avec le groupe « testmail25 » ...
  506. Création du répertoire personnel « /home/testmail25 »...
  507. Copie des fichiers depuis « /etc/skel »...
  508. Entrez le nouveau mot de passe UNIX :
  509. Retapez le nouveau mot de passe UNIX :
  510. passwd: password updated successfully
  511. Changing the user information for testmail
  512. Enter the new value, or press ENTER for the default
  513. Full Name []:
  514. Room Number []:
  515. Work Phone []:
  516. Home Phone []:
  517. Other []:
  518. Cette information est-elle correcte ? [O/n]o
  519. root@atom:/etc/postfix# mail testmail
  520. Cc:
  521. Subject: Essai 7
  522. Essai 7
  523. .
  524. root@atom:/etc/postfix# su - testmail
  525. testmail25@atom:~$ mutt -f ./Maildir/
  526. GPGME : protocole CMS non disponible
  527. 1 gardé(s), 0 effacé(s).
  528. </code></pre>
  529. <p>Le message est bien arrivé. Essayons avec les commandes Imap; il nous faut installer telnet avant:</p>
  530. <pre><code> apt install telnet
  531. </code></pre>
  532. <p>Nous pouvons donc nous connecter aux ports suivants: 143 et 993.</p>
  533. <pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 143
  534. Trying ::1...
  535. Connected to localhost.
  536. Escape character is '^]'.
  537. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
  538. x1 LOGIN testmail testmail
  539. x1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
  540. x2 SELECT Inbox
  541. * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
  542. * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
  543. * 1 EXISTS
  544. * 1 RECENT
  545. * OK [UNSEEN 1] First unseen.
  546. * OK [UIDVALIDITY 1527165527] UIDs valid
  547. * OK [UIDNEXT 2] Predicted next UID
  548. x2 OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
  549. x4 LOGOUT
  550. * BYE Logging out
  551. x4 OK Logout completed (0.000 + 0.000 secs).
  552. Connection closed by foreign host.
  553. root@aijan:/home/ericadmin#
  554. </code></pre>
  555. <p>Ça marche: <em>OK [UNSEEN 1] First unseen.</em></p>
  556. <p>Nous nous sommes connectés avec le mot de passe en clait (testmail pour l'utilisateur testmail.)</p>
  557. <ul>
  558. <li>
  559. <p>Test 2: envoi de mail</p>
  560. <p>Connexion sur le port 25 (postfix) en utilisant l'authentification gérée par dovecot.
  561. Nous avons chiffré le mot de passe avec la commande suivante:</p>
  562. <pre><code> printf '\0%s\0%s' 'testmail' 'testmail' | openssl base64
  563. AHRlc3RtYWlsAHRlc3RtYWls
  564. </code></pre>
  565. </li>
  566. </ul>
  567. <pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 25
  568. Trying ::1...
  569. Connected to localhost.
  570. Escape character is '^]'.
  571. 220 aijan.yojik.net ESMTP Postfix (Debian/GNU)
  572. ehlo localhost
  573. 250-aijan.yojik.net
  574. 250-PIPELINING
  575. 250-SIZE 10240000
  576. 250-VRFY
  577. 250-ETRN
  578. 250-STARTTLS
  579. 250-AUTH PLAIN LOGIN
  580. 250-ENHANCEDSTATUSCODES
  581. 250-8BITMIME
  582. 250-DSN
  583. 250 SMTPUTF8
  584. AUTH PLAIN AHRlc3RtYWlsAHRlc3RtYWls
  585. 235 2.7.0 Authentication successful
  586. mail from: testmail
  587. 250 2.1.0 Ok
  588. data
  589. 554 5.5.1 Error: no valid recipients
  590. rcpt to: ericounet26200@gmail.com
  591. 250 2.1.5 Ok
  592. data
  593. 354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;
  594. Subject: mon, premier mail avec sasl
  595. mon premier mail avec sasl
  596. .
  597. 250 2.0.0 Ok: queued as A664BD004A1
  598. quit
  599. 221 2.0.0 Bye
  600. Connection closed by foreign host.
  601. root@aijan:/home/ericadmin#
  602. </code></pre>
  603. <p>Vérification de la bonne réception du message: le message est bien reçu.</p>
  604. <h2 id="configuration-des-certificats">Configuration des certificats</h2>
  605. <p>Jusqu'à présent, nous avons utilisé les certificats fournis par Debian à l'installation.
  606. Nous allons utiliser les certificats que nous avons créés auparavant avec letsencrypt.
  607. Il y a 2 lignes à modifier dans /etc/postfix/main.cf:</p>
  608. <blockquote>
  609. <p>smtpd_tls_cert_file = /etc/letsencrypt/live/toto.yojik.net/fullchain.pem
  610. smtpd_tls_key_file = /etc/letsencrypt/live/toto.yojik.net/privkey.pem</p>
  611. </blockquote>
  612. <p>Bien entendu, modifiez la partie <strong>toto.yojik.net</strong> par le nom de votre serveur mail et pour lequel vous avez généré les certificats.
  613. Il y a 3 lignes à ajouter/modifier dans /etc/dovecot/conf.d/10-ssl.conf</p>
  614. <blockquote>
  615. <p>ssl = required
  616. ssl_cert = &lt;/etc/letsencrypt/live/toto.yojik.net/fullchain.pem
  617. ssl_key = &lt;/etc/letsencrypt/live/toto.yojik.net/privkey.pem</p>
  618. </blockquote>
  619. <p>Comme avant, personnalisez avec votre nom de serveur mail.
  620. Relancez vos serveurs avec les commandes suivantes:</p>
  621. <pre><code class="shell">root@aijan:/home/ericadmin# systemctl restart postfix
  622. root@aijan:/home/ericadmin# systemctl restart dovecot
  623. </code></pre>
  624. <p>Bien vérifier dans les logs (/var/log/daemon.log) que tout s'est bien passé (pas d'erreur de frappe par exemple ...)</p>
  625. <h3 id="test">Test</h3>
  626. <p>Nous allons refaire les tests déjà réalisés précédemment pour vérifier que "rien n'est cassé" suite à la modification de nos certificats.</p>
  627. <pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 25
  628. Trying ::1...
  629. Connected to localhost.
  630. Escape character is '^]'.
  631. 220 aijan.yojik.net ESMTP Postfix (Debian/GNU)
  632. ehlo aijan.yojik.net
  633. 250-aijan.yojik.net
  634. 250-PIPELINING
  635. 250-SIZE 10240000
  636. 250-VRFY
  637. 250-ETRN
  638. 250-STARTTLS
  639. 250-AUTH PLAIN LOGIN
  640. 250-ENHANCEDSTATUSCODES
  641. 250-8BITMIME
  642. 250-DSN
  643. 250 SMTPUTF8
  644. AUTH PLAIN AHRlc3RtYWlsAHRlc3RtYWls
  645. 235 2.7.0 Authentication successful
  646. mail from: testmail
  647. 250 2.1.0 Ok
  648. rcpt to: ericounet26200@gmail.com
  649. 250 2.1.5 Ok
  650. data
  651. 354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;
  652. subject: essai
  653. un essai
  654. .
  655. 250 2.0.0 Ok: queued as 9EEF6D0002E
  656. quit
  657. 502 5.5.2 Error: command not recognized
  658. quit
  659. 221 2.0.0 Bye
  660. Connection closed by foreign host.
  661. root@aijan:/home/ericadmin#
  662. </code></pre>
  663. <p>Ça fonctionne. L'authentification avec les nouveaux certificats est assurée.</p>
  664. <h3 id="test-de-la-connexion-sur-le-port-993-a-partir-dun-ordinateur-exterieur">Test de la connexion sur le port 993 à partir d'un ordinateur extérieur</h3>
  665. <pre><code>eric@aldebaran:~$ openssl s_client -connect yojik.net:993
  666. CONNECTED(00000003)
  667. depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
  668. verify return:1
  669. depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
  670. verify return:1
  671. depth=0 CN = atom.yojik.net
  672. verify return:1
  673. ---
  674. Certificate chain
  675. 0 s:/CN=atom.yojik.net
  676. i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
  677. 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
  678. i:/O=Digital Signature Trust Co./CN=DST Root CA X3
  679. ---
  680. Server certificate
  681. -----BEGIN CERTIFICATE-----
  682. MIIFVTCCBD2gAwIBAgISA2ymxMSWOd9z4d5MhK1RarzkMA0GCSqGSIb3DQEBCwUA
  683. MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
  684. ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODExMTExNTI2NDhaFw0x
  685. OTAyMDkxNTI2NDhaMBkxFzAVBgNVBAMTDmF0b20ueW9qaWsubmV0MIIBIjANBgkq
  686. hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr+SwsS/VwilSnazx4Y9Xj9OIzYPx2s5W
  687. kxocZT7BMdO0oKNKolbe6AJMGrNKf5TjQu9EN+yal6rNZUOrrR7dS2gKvRjyH2mW
  688. 5JniCW/osYVkHglgjvNbihQP4IBY9brvvtIW9reKyA9adq5zHHRW2RNaBG18oXFa
  689. mQb+uFGiCkpyjGK7XYmPkVA7DM6TtciFBGeTmY15vF4aniPQtu1TuksEc+WDvWfR
  690. K9ebYXghqBJd1OigtgVhOpDiSAnxjtx9wcjHuic/9wU8iI2VdkOB0xoMxlRNjQSZ
  691. DWgRCiZr/LwtoX6bSWzJex1kW7Q/zQnvA1eaKqD6mCIp5uO7KiK5AQIDAQABo4IC
  692. ZDCCAmAwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF
  693. BQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQyxrlKdL9RV+v8Y7YwH4mV0iq4
  694. EDAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBvBggrBgEFBQcBAQRj
  695. MGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5sZXRzZW5jcnlwdC5v
  696. cmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5jcnlwdC5v
  697. cmcvMBkGA1UdEQQSMBCCDmF0b20ueW9qaWsubmV0MEwGA1UdIARFMEMwCAYGZ4EM
  698. AQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0
  699. c2VuY3J5cHQub3JnMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcA4mlLribo6UAJ
  700. 6IYbtjuD1D7n/nSI+6SPKJMBnd3x2/4AAAFnA5jZtQAABAMASDBGAiEAshqJHr2M
  701. l6n+9Dd31jkskn3lxh5iC7FTfPZoKxZGT6ECIQDDby9vNMmzh8eYysYr5UuTE4R9
  702. VOko3rzQZgj51O/nEQB2AGPy283oO8wszwtyhCdXazOkjWF3j711pjixx2hUS9iN
  703. AAABZwOY2bgAAAQDAEcwRQIhAPTO+Wry4Fl2+HddFMsWpfYJQ7dkXtW93N1+z77y
  704. ofgMAiB76ad1N7+AVOh4YvrRboK31F5cs3YJnKmKxINWkrI70TANBgkqhkiG9w0B
  705. AQsFAAOCAQEAJ1BYUTWpCIIYD0FKB9vuCEfYrg1NNHhYYr0jUKR49EPLO8DS1aRp
  706. KK1tr9EZti2lOYaEOKNo4dQkLLKgsF1kovHreosvXPF2oXRbN6UdVu+67fhIokD5
  707. FIS9pphaxIHEC4A9h7JK0LHJHMG9ySRDBbtz9Y0b7z5jGIxX0yzaqBcPJVG26SJm
  708. uyiys2bklC+N3mYAVYb/c3VWdCWzusHks+HCTx2y+YkqVkvCepdQYFoUKpk6ScSc
  709. Fz6r0DWBXGmhJLg0K+KxfXGUtTtwDjnBZCocX3FrQsQNrbYtvLyK2QhDv1Mr6V96
  710. P11a4LV3qq2eTfoIiNd9m2iqCJ7/pSWIjw==
  711. -----END CERTIFICATE-----
  712. subject=/CN=atom.yojik.net
  713. issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
  714. ---
  715. No client certificate CA names sent
  716. Peer signing digest: SHA512
  717. Server Temp Key: ECDH, P-384, 384 bits
  718. ---
  719. SSL handshake has read 3236 bytes and written 334 bytes
  720. Verification: OK
  721. ---
  722. New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
  723. Server public key is 2048 bit
  724. Secure Renegotiation IS supported
  725. Compression: NONE
  726. Expansion: NONE
  727. No ALPN negotiated
  728. SSL-Session:
  729. Protocol : TLSv1.2
  730. Cipher : ECDHE-RSA-AES256-GCM-SHA384
  731. Session-ID: D488F9943CD771D5DF400C676729BDF315F5CBD01128E922D7DBCC0D80B467F3
  732. Session-ID-ctx:
  733. Master-Key: 45BF00E99AA29FB83E1395741E3A506800473105882554C46B50639665B600000E1F3048F051EF5E12D6C0804A0698D8
  734. PSK identity: None
  735. PSK identity hint: None
  736. SRP username: None
  737. TLS session ticket lifetime hint: 7200 (seconds)
  738. TLS session ticket:
  739. 0000 - 59 1e 77 bc e8 c1 0e f8-c9 f2 38 f8 f9 f0 e9 4f Y.w.......8....O
  740. 0010 - 4b 91 2a 39 73 cc a6 85-f2 22 96 ae 4a a3 84 b8 K.*9s....&quot;..J...
  741. 0020 - e8 de 9b 34 74 1a d9 e7-88 f5 d1 bb 4c 2d 59 f2 ...4t.......L-Y.
  742. 0030 - 0e 99 1e bd b7 82 ef 32-ab 0c 1a 33 c0 dd 31 6a .......2...3..1j
  743. 0040 - 5b 38 fc c5 27 29 d7 a3-ae f0 a5 bb 66 a0 b4 eb [8..')......f...
  744. 0050 - 7c 95 f2 16 cb 92 5c f3-7f c0 30 33 ec 77 f0 a8 |.....\...03.w..
  745. 0060 - 8f 5e 9c f7 de c9 4f 95-1a 0e 09 27 7a 45 b0 db .^....O....'zE..
  746. 0070 - 84 ba 72 37 f1 a2 f5 95-43 0c e2 eb a3 18 94 a8 ..r7....C.......
  747. 0080 - b3 d4 d7 15 4c 81 08 a2-17 3f 7b 15 fe 81 d8 5c ....L....?{....\
  748. 0090 - 74 60 ac 5e 2a 5a 22 07-6f ba 03 4f d5 46 5a 04 t`.^*Z&quot;.o..O.FZ.
  749. Start Time: 1543235404
  750. Timeout : 7200 (sec)
  751. Verify return code: 0 (ok)
  752. Extended master secret: yes
  753. ---
  754. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
  755. 1 Login testmail testmail
  756. 1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
  757. QUIT
  758. DONE
  759. eric@aldebaran:~$
  760. </code></pre>
  761. <p>Le <strong>OK [CAPABILITY ...</strong> indique que la connexion s'est faite normalement; les caractéristiques du certificat sont affichées au-dessus. Le <strong>Logged: in</strong> indique que l'authentification a marché.</p>
  762. <p>Nous avons donc testé les ports 25, 143 et 993 avec succès.</p>
  763. <h2 id="configuration-dun-port-qui-naccepte-que-les-communications-chiffrees">Configuration d'un port qui n'accepte que les communications chiffrées.</h2>
  764. <p>Pour l'instant, postfix n'écoute que le port 25 (vous pouvez le vérifier avec la commande <strong>netstat -tlpn</strong>.
  765. Dans le fichier /etc/postfix/master.cf, seul la ligne suivante est active (décommentée):</p>
  766. <pre><code>smtp inet n - y - - smtpd
  767. </code></pre>
  768. <p>Nous allons mettre postfix en écoute du port 465:
  769. Dans le fichier /etc/postfix/master.cf, la ligne à décommenter est la suivante:</p>
  770. <pre><code class="shell"># smtps inet n - - - - smtpd
  771. </code></pre>
  772. <p>pour obtenir:</p>
  773. <pre><code class="shell">smtps inet n - - - - smtpd
  774. </code></pre>
  775. <h3 id="test_1">Test</h3>
  776. <p>On relance postfix et on regarde les ports servis:</p>
  777. <pre><code class="shell">root@aijan:/home/ericadmin# service postfix restart
  778. root@aijan:/home/ericadmin# netstat -tlpn
  779. Connexions Internet actives (seulement serveurs)
  780. Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
  781. tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 552/named
  782. tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 552/named
  783. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 580/sshd
  784. tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2159/master
  785. tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 552/named
  786. tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 649/apache2
  787. tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1792/dovecot
  788. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 649/apache2
  789. tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 2159/master
  790. tcp6 0 0 :::53 :::* LISTEN 552/named
  791. tcp6 0 0 :::22 :::* LISTEN 580/sshd
  792. tcp6 0 0 :::25 :::* LISTEN 2159/master
  793. tcp6 0 0 ::1:953 :::* LISTEN 552/named
  794. tcp6 0 0 :::143 :::* LISTEN 1792/dovecot
  795. tcp6 0 0 :::465 :::* LISTEN 2159/master
  796. root@aijan:/home/ericadmin#
  797. </code></pre>
  798. <p>Le port 465 est ouvert et servi par postfix.</p>
  799. <h3 id="test-de-connexion-sur-le-port-465">test de connexion sur le port 465</h3>
  800. <pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 465
  801. Trying ::1...
  802. Connected to localhost.
  803. Escape character is '^]'.
  804. 220 aijan.yojik.net ESMTP Postfix (Debian/GNU)
  805. ehlo aijan.yojik.net
  806. 250-aijan.yojik.net
  807. 250-PIPELINING
  808. 250-SIZE 10240000
  809. 250-VRFY
  810. 250-ETRN
  811. 250-STARTTLS
  812. 250-AUTH PLAIN LOGIN
  813. 250-ENHANCEDSTATUSCODES
  814. 250-8BITMIME
  815. 250-DSN
  816. 250 SMTPUTF8
  817. quit
  818. 221 2.0.0 Bye
  819. Connection closed by foreign host.
  820. root@aijan:/home/ericadmin#
  821. </code></pre>
  822. <p>La connexion se fait normalement.
  823. Nous allons maintenant bloquer les communications non-chiffrées; les paramètres à modifier sont dans /etc/postfix/master.conf (2 premiers paramètres de la ligne smtps à décommenter.)</p>
  824. <pre><code class="shell">smtps inet n - - - - smtpd
  825. -o syslog_name=postfix/smtps
  826. -o smtpd_tls_wrappermode=yes
  827. </code></pre>
  828. <h3 id="test_2">Test</h3>
  829. <ol>
  830. <li>Essai avec communication non-chifrée:</li>
  831. </ol>
  832. <pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 465
  833. Trying ::1...
  834. Connected to localhost.
  835. Escape character is '^]'.
  836. Connection closed by foreign host.
  837. root@aijan:/home/ericadmin#
  838. </code></pre>
  839. <p>La communication est <strong>refusée</strong>.</p>
  840. <ol>
  841. <li>Essai avec communication chiffrée (nous utilisons <strong>openssl</strong> pour cela):</li>
  842. </ol>
  843. <pre><code class="shell">root@adara:/etc# openssl s_client -connect localhost:465 -quiet
  844. depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
  845. verify return:1
  846. depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
  847. verify return:1
  848. depth=0 CN = adara.yojik.eu
  849. verify return:1
  850. 220 adara.yojik.eu ESMTP Postfix (Debian/GNU)
  851. ehlo me
  852. 250-adara.yojik.eu
  853. 250-PIPELINING
  854. 250-SIZE 10240000
  855. 250-VRFY
  856. 250-ETRN
  857. 250-AUTH PLAIN LOGIN
  858. 250-ENHANCEDSTATUSCODES
  859. 250-8BITMIME
  860. 250-DSN
  861. 250 SMTPUTF8
  862. quit
  863. 221 2.0.0 Bye
  864. root@adara:/etc#
  865. </code></pre>
  866. <p>La communication est <strong>acceptée</strong> et fonctionne. Nous voyons aussi que notre certificat Letsencrypt a été vérifié.</p>
  867. <p>Il reste une modification à faire pour n'autoriser que les communications chiffrées:
  868. Dans /etc/postfix/main.cf ajouter ou modifier la ligne suivante:</p>
  869. <pre><code>smtpd_tls_auth_only = yes
  870. </code></pre>
  871. <p>Et rechargez Postfix.</p>
  872. <h3 id="test_3">Test</h3>
  873. <pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 25
  874. Trying ::1...
  875. Connected to localhost.
  876. Escape character is '^]'.
  877. 220 aijan.yojik.net ESMTP Postfix (Debian/GNU)
  878. ehlo aijan.yojik.net
  879. 250-aijan.yojik.net
  880. 250-PIPELINING
  881. 250-SIZE 10240000
  882. 250-VRFY
  883. 250-ETRN
  884. 250-STARTTLS
  885. 250-ENHANCEDSTATUSCODES
  886. 250-8BITMIME
  887. 250-DSN
  888. 250 SMTPUTF8
  889. quit
  890. 221 2.0.0 Bye
  891. Connection closed by foreign host.
  892. root@aijan:/home/ericadmin#
  893. </code></pre>
  894. <p>On voit que la ligne "250-AUTH PLAIN LOGIN" est absente, ce qui confirme que Postfix a bien pris en compte notre dernière modification.</p>
  895. <h2 id="interdiction-de-communications-non-chiffrees-sur-le-port-465">Interdiction de communications non-chiffrées sur le port 465</h2>
  896. <p>Nous allons rajouter/modifier une "restriction" à la ligne gérant le port 465 dans /etc/postfix/master.cf</p>
  897. <pre><code class="shell">smtps inet n - - - - smtpd
  898. -o syslog_name=postfix/smtps
  899. -o smtpd_tls_wrappermode=yes
  900. -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
  901. </code></pre>
  902. <p>La dernière ligne est rajoutée, dé-commentée, modifiée (suivant le cas). On recharge postfix et on teste.</p>
  903. <h3 id="test_4">Test</h3>
  904. <pre><code class="shell">root@aijan:/etc/postfix# telnet localhost 465
  905. Trying ::1...
  906. Connected to localhost.
  907. Escape character is '^]'.
  908. quit
  909. Connection closed by foreign host.
  910. root@aijan:/etc/postfix#
  911. </code></pre>
  912. <p>Ça fonctionne.</p>
  913. <h2 id="ajout-de-la-gestion-du-port-587">Ajout de la gestion du port 587</h2>
  914. <p>Dans le fichier /etc/postfix/master.cf, dé-commentez les lignes suivantes et modifiez les comme indiqué. Ce sont les mêmes modifications que celles effectuées pour le port 465.</p>
  915. <pre><code class="shell">submission inet n - y - - smtpd
  916. -o syslog_name=postfix/submission
  917. -o smtpd_tls_security_level=encrypt
  918. -o smtpd_sasl_auth_enable=yes
  919. Ainsi que
  920. -o smtpd_recipient_restrictions=
  921. </code></pre>
  922. <h3 id="test_5">Test</h3>
  923. <pre><code class="shell">root@aijan:/etc/bind# netstat -tlnp
  924. Connexions Internet actives (seulement serveurs)
  925. Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
  926. tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 3410/named
  927. tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3410/named
  928. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 580/sshd
  929. tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 4080/master
  930. tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3410/named
  931. tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 649/apache2
  932. tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 2668/dovecot
  933. tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 4080/master
  934. tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 2668/dovecot
  935. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 649/apache2
  936. tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 4080/master
  937. tcp6 0 0 :::53 :::* LISTEN 3410/named
  938. tcp6 0 0 :::22 :::* LISTEN 580/sshd
  939. tcp6 0 0 :::25 :::* LISTEN 4080/master
  940. tcp6 0 0 ::1:953 :::* LISTEN 3410/named
  941. tcp6 0 0 :::993 :::* LISTEN 2668/dovecot
  942. tcp6 0 0 :::587 :::* LISTEN 4080/master
  943. tcp6 0 0 :::143 :::* LISTEN 2668/dovecot
  944. tcp6 0 0 :::465 :::* LISTEN 4080/master
  945. root@aijan:/etc/bind#
  946. </code></pre>
  947. <p>Le port 587 est géré.</p>
  948. <h2 id="ajout-de-la-gesion-du-port-993-imap-avec-ssltls">Ajout de la gesion du port 993 (imap avec SSL/TLS)</h2>
  949. <p>Nous allons modifier la configuration de dovecot pour la prise en charge de ce port.</p>
  950. <p>Il n'est pas encore "servi" comme nous l'avons vu avec la commande <strong>netstat -tlpn</strong> (vu auparavant.)</p>
  951. <p>Le fichier à modifier est: /etc/dovecot/conf.d/10-master.conf
  952. La partie du fichier à modifier est la suivante:</p>
  953. <pre><code class="shell">service imap-login {
  954. inet_listener imap {
  955. #port = 143
  956. }
  957. inet_listener imaps {
  958. #port = 993
  959. #ssl = yes
  960. }
  961. </code></pre>
  962. <p>pour donner ceci:</p>
  963. <pre><code class="shell">service imap-login {
  964. inet_listener imap {
  965. port = 143
  966. }
  967. inet_listener imaps {
  968. port = 993
  969. ssl = yes
  970. }
  971. </code></pre>
  972. <p>Dans le fichier /etc/dovecot/conf.d/10-ssl.conf:</p>
  973. <pre><code class="shell"> ssl = yes
  974. ssl_protocols = !SSLv3
  975. </code></pre>
  976. <h3 id="test_6">Test</h3>
  977. <pre><code class="shell">root@aijan:/etc/dovecot# netstat -tlpn
  978. Connexions Internet actives (seulement serveurs)
  979. Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
  980. tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 552/named
  981. tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 552/named
  982. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 580/sshd
  983. tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2376/master
  984. tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 552/named
  985. tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 649/apache2
  986. tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 2668/dovecot
  987. tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 2668/dovecot
  988. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 649/apache2
  989. tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 2376/master
  990. tcp6 0 0 :::53 :::* LISTEN 552/named
  991. tcp6 0 0 :::22 :::* LISTEN 580/sshd
  992. tcp6 0 0 :::25 :::* LISTEN 2376/master
  993. tcp6 0 0 ::1:953 :::* LISTEN 552/named
  994. tcp6 0 0 :::993 :::* LISTEN 2668/dovecot
  995. tcp6 0 0 :::143 :::* LISTEN 2668/dovecot
  996. tcp6 0 0 :::465 :::* LISTEN 2376/master
  997. root@aijan:/etc/dovecot#
  998. </code></pre>
  999. <p>Le port 993 est actif.</p>
  1000. <h2 id="mise-en-route">Mise en route</h2>
  1001. <p>Pour l'instant, notre Firewall n'autorise aucune conenxion sur les port 143, 993, 465, 587. Nous allons ouvrir les ports. Avant cela, il nous faut supprimer l'utilisateur <strong>testmail</strong> ...</p>
  1002. <pre><code>userdel testmail
  1003. </code></pre>
  1004. <p>Pensez à supprimer le répertoire home de cet utlisateur:</p>
  1005. <pre><code>rm -Rf /home/testmail
  1006. </code></pre>
  1007. <p>Ceci fait, ouvrons nos ports. Voici les lignes à ajouter à notre programme firewall.sh. Il suffira de le lancer et de sauver la configuration (comme déjà vu précédemment)</p>
  1008. <pre><code class="shell"> #mail!!
  1009. # Mail SMTP:25
  1010. $IPT -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
  1011. $IPT -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
  1012. $IP6T -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
  1013. $IP6T -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
  1014. # Mail SMTP:587
  1015. $IPT -t filter -A INPUT -p tcp --dport 587 -j ACCEPT
  1016. $IPT -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
  1017. $IP6T -t filter -A INPUT -p tcp --dport 597 -j ACCEPT
  1018. $IP6T -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
  1019. # Mail IMAP:143
  1020. $IPT -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
  1021. $IPT -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
  1022. $IP6T -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
  1023. $IP6T -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
  1024. # Mail IMAPS:993
  1025. $IPT -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
  1026. $IPT -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT
  1027. $IP6T -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
  1028. $IP6T -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT
  1029. # Mail 465
  1030. $IPT -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
  1031. $IPT -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
  1032. $IP6T -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
  1033. $IP6T -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
  1034. </code></pre>
  1035. <h3 id="test_7">Test</h3>
  1036. <pre><code class="shell">root@aijan:/home/ericadmin/bin# ./firewall.sh restart
  1037. firewall stopped [OK]
  1038. firewall started [OK]
  1039. root@aijan:/home/ericadmin/bin# iptables -L
  1040. Chain INPUT (policy DROP)
  1041. target prot opt source destination
  1042. ACCEPT all -- anywhere anywhere
  1043. ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
  1044. ACCEPT tcp -- anywhere anywhere tcp dpt:domain
  1045. ACCEPT udp -- anywhere anywhere udp dpt:domain
  1046. ACCEPT tcp -- 192.168.111.150 anywhere
  1047. ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
  1048. ACCEPT tcp -- anywhere anywhere tcp dpt:http
  1049. ACCEPT tcp -- anywhere anywhere tcp dpt:https
  1050. ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
  1051. ACCEPT tcp -- anywhere anywhere tcp dpt:submission
  1052. ACCEPT tcp -- anywhere anywhere tcp dpt:imap2
  1053. ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
  1054. ACCEPT tcp -- anywhere anywhere tcp dpt:urd
  1055. Chain FORWARD (policy DROP)
  1056. target prot opt source destination
  1057. Chain OUTPUT (policy ACCEPT)
  1058. target prot opt source destination
  1059. ACCEPT all -- anywhere anywhere
  1060. ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
  1061. ACCEPT udp -- anywhere anywhere udp dpt:ntp
  1062. ACCEPT tcp -- anywhere anywhere tcp dpt:http
  1063. ACCEPT tcp -- anywhere anywhere tcp dpt:https
  1064. ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
  1065. ACCEPT tcp -- anywhere anywhere tcp dpt:submission
  1066. ACCEPT tcp -- anywhere anywhere tcp dpt:imap2
  1067. ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
  1068. ACCEPT tcp -- anywhere anywhere tcp dpt:urd
  1069. root@aijan:/home/ericadmin/bin#
  1070. </code></pre>
  1071. <p>Les ports sont bien ouverts.
  1072. Et on sauvegarde:</p>
  1073. <pre><code>service netfilter-persistent save
  1074. </code></pre>
  1075. <pre><code class="shell">root@aijan:/home/ericadmin/bin# service netfilter-persistent save
  1076. [....] Saving netfilter rules...run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
  1077. run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
  1078. done.
  1079. root@aijan:/home/ericadmin/bin#
  1080. </code></pre>
  1081. <p>Les règles IPV4 et IPV6 sont sauvegardées.</p>
  1082. <h2 id="mise-en-place-du-fichier-auto-configuration-mozilla">Mise en place du fichier "auto-configuration" Mozilla</h2>
  1083. <p>A voir ....</p>
  1084. <h2 id="test-en-situation">Test en situation ...</h2>
  1085. <h3 id="lecture-des-messages">Lecture des messages</h3>
  1086. <p>A partir de ma machine de bureau, test de connexion en IMAP, liste des messages, et lecture du contenu (port 993):</p>
  1087. <pre><code class="shell">eric@aldebaran:~$ openssl s_client -connect atom.yojik.net:993 -quiet
  1088. depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
  1089. verify return:1
  1090. depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
  1091. verify return:1
  1092. depth=0 CN = aijan.yojik.net
  1093. verify return:1
  1094. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
  1095. a login ericadmin eBnIDQ+FZZI=
  1096. a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
  1097. b select inbox
  1098. * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk)
  1099. * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk \*)] Flags permitted.
  1100. * 3 EXISTS
  1101. * 0 RECENT
  1102. * OK [UIDVALIDITY 1527410684] UIDs valid
  1103. * OK [UIDNEXT 4] Predicted next UID
  1104. b OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
  1105. c FETCH 1:* FLAGS
  1106. * 1 FETCH (FLAGS (\Seen NonJunk))
  1107. * 2 FETCH (FLAGS (\Seen NonJunk))
  1108. * 3 FETCH (FLAGS (\Seen))
  1109. c OK Fetch completed (0.001 + 0.000 secs).
  1110. d Fetch BODY[TEXT]
  1111. d BAD Error in IMAP command FETCH: Invalid arguments (0.000 + 0.000 secs).
  1112. d fetch body
  1113. d BAD Error in IMAP command FETCH: Invalid arguments (0.000 + 0.000 secs).
  1114. d FETCH 1 body
  1115. * 1 FETCH (BODY (&quot;text&quot; &quot;plain&quot; (&quot;charset&quot; &quot;us-ascii&quot;) NIL NIL &quot;7bit&quot; 10 2))
  1116. d OK Fetch completed (0.002 + 0.000 + 0.001 secs).
  1117. e fetch 2 body
  1118. * 2 FETCH (BODY (&quot;text&quot; &quot;plain&quot; (&quot;charset&quot; &quot;us-ascii&quot;) NIL NIL &quot;7bit&quot; 3 1))
  1119. e OK Fetch completed (0.001 + 0.000 secs).
  1120. f fetch 2 body[]
  1121. * 2 FETCH (BODY[] {466}
  1122. Return-Path: &lt;ericadmin@aijan.yojik.net&gt;
  1123. X-Original-To: root@localhost
  1124. Delivered-To: root@localhost
  1125. Received: by aijan.yojik.net (Postfix, from userid 1000)
  1126. id 6D42CD00904; Mon, 21 May 2018 12:11:41 +0200 (CEST)
  1127. To: &lt;root@localhost&gt;
  1128. Subject: essai d'envoi à root
  1129. X-Mailer: mail (GNU Mailutils 3.1.1)
  1130. Message-Id: &lt;20180521101141.6D42CD00904@aijan.yojik.net&gt;
  1131. Date: Mon, 21 May 2018 12:11:41 +0200 (CEST)
  1132. From: ericadmin@aijan.yojik.net (Eric Streit)
  1133. .
  1134. )
  1135. f OK Fetch completed (0.001 + 0.000 secs).
  1136. g fetch 3 body[]
  1137. * 3 FETCH (BODY[] {735}
  1138. Return-Path: &lt;eric@aldebaran.yojik.net&gt;
  1139. X-Original-To: ericadmin@aijan.yojik.net
  1140. Delivered-To: ericadmin@aijan.yojik.net
  1141. Received: from aldebaran.yojik.net (unknown [IPv6:2a01:e0a:54:c220:6423:417b:6ef:ee21])
  1142. by aijan.yojik.net (Postfix) with ESMTP id EC11BD00903
  1143. for &lt;ericadmin@aijan.yojik.net&gt;; Mon, 21 May 2018 12:12:56 +0200 (CEST)
  1144. Received: by aldebaran.yojik.net (Postfix, from userid 1000)
  1145. id 8B42920620A; Mon, 21 May 2018 12:12:56 +0200 (CEST)
  1146. To: &lt;ericadmin@aijan.yojik.net&gt;
  1147. Subject: Re-essai
  1148. X-Mailer: mail (GNU Mailutils 3.1.1)
  1149. Message-Id: &lt;20180521101256.8B42920620A@aldebaran.yojik.net&gt;
  1150. Date: Mon, 21 May 2018 12:12:56 +0200 (CEST)
  1151. From: eric@aldebaran.yojik.net (Eric Streit)
  1152. re-essai de aldebaran
  1153. .
  1154. )
  1155. g OK Fetch completed (0.001 + 0.000 secs).
  1156. h logout
  1157. * BYE Logging out
  1158. h OK Logout completed (0.000 + 0.000 secs).
  1159. eric@aldebaran:~$
  1160. </code></pre>
  1161. <p>A partir de ma machine de bureau, test de connexion en IMAP, liste des messages, et lecture du contenu (port 143):</p>
  1162. <pre><code class="shell">eric@aldebaran:~$ telnet aijan.yojik.net 143
  1163. Trying 192.168.111.240...
  1164. Connected to aijan.yojik.net.
  1165. Escape character is '^]'.
  1166. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
  1167. ehlo aldebaran.yojik.eu
  1168. ehlo BAD Error in IMAP command received by server.
  1169. a login ericadmin eBnIDQ+FZZI=
  1170. a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
  1171. b select inbox
  1172. * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk)
  1173. * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk \*)] Flags permitted.
  1174. * 3 EXISTS
  1175. * 0 RECENT
  1176. * OK [UIDVALIDITY 1527410684] UIDs valid
  1177. * OK [UIDNEXT 4] Predicted next UID
  1178. b OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
  1179. c logout
  1180. * BYE Logging out
  1181. c OK Logout completed (0.000 + 0.000 secs).
  1182. Connection closed by foreign host.
  1183. eric@aldebaran:~$
  1184. </code></pre>
  1185. <p>La récupération des messages s'est bien passée.</p>
  1186. <h3 id="envoi-de-messages">Envoi de messages</h3>
  1187. <p>Image de la configuration à faire sur <strong>thunderbird</strong>:</p>
  1188. <p>L'envoi de messages à partir de Thunderbird fonctionne. Il faut bien configurer le port smtp à 465 ...</p>
  1189. <p>Image de la configuration à faire.</p>
  1190. <p>L'envoi sur mon serveur personnel a échoué: l'adresse IPV4 fournie par FREE était sur une liste de blocage (anti-spams). J'ai demandé à être enlevé de cette liste, ce qui va prendre 48H environ.</p>
  1191. <p>Ré-essai ensuite ...</p>
  1192. <ol>
  1193. <li>Envoi d'un message sur le compte du serveur à partir de la machine de bureau (thunderbird): OK.</li>
  1194. <li>Réception des messages sur la machine de bureau (thunderbird): OK.</li>
  1195. <li>Envoi d'un message à partir du compte du serveur (thunderbird): ça OK.</li>
  1196. </ol>
  1197. <h2 id="installation-dun-analyseur-des-logs-mail">Installation d'un analyseur des logs mail</h2>
  1198. <h3 id="installation">Installation</h3>
  1199. <pre><code class="shell">apt-get install pflogsumm
  1200. </code></pre>
  1201. <h3 id="utilisation">Utilisation</h3>
  1202. <pre><code>pflogsumm -d today /var/log/mail.log
  1203. </code></pre>
  1204. <p>Vous obtiendrez une analyse approfondie des logs de la partie mail.</p>
  1205. <pre><code class="shell">root@adara:/home/ericadmin# pflogsumm -d today /var/log/mail.log
  1206. Postfix log summaries for Jul 1
  1207. Grand Totals
  1208. messages
  1209. 24 received
  1210. 23 delivered
  1211. 0 forwarded
  1212. 0 deferred
  1213. 0 bounced
  1214. 29 rejected (55%)
  1215. 0 reject warnings
  1216. 0 held
  1217. 0 discarded (0%)
  1218. 2248k bytes received
  1219. 2248k bytes delivered
  1220. 17 senders
  1221. 13 sending hosts/domains
  1222. 3 recipients
  1223. 2 recipient hosts/domains
  1224. Per-Hour Traffic Summary
  1225. time received delivered deferred bounced rejected
  1226. --
  1227. 0000-0100 0 0 0 0 0
  1228. 0100-0200 0 0 0 0 0
  1229. 0200-0300 0 0 0 0 0
  1230. 0300-0400 0 0 0 0 3
  1231. 0400-0500 0 0 0 0 7
  1232. 0500-0600 0 0 0 0 1
  1233. 0600-0700 1 1 0 0 1
  1234. 0700-0800 2 2 0 0 1
  1235. 0800-0900 4 4 0 0 7
  1236. 0900-1000 4 4 0 0 2
  1237. 1000-1100 10 9 0 0 2
  1238. 1100-1200 2 2 0 0 1
  1239. 1200-1300 0 0 0 0 2
  1240. 1300-1400 0 0 0 0 0
  1241. 1400-1500 0 0 0 0 0
  1242. 1500-1600 1 1 0 0 2
  1243. 1600-1700 0 0 0 0 0
  1244. 1700-1800 0 0 0 0 0
  1245. 1800-1900 0 0 0 0 0
  1246. 1900-2000 0 0 0 0 0
  1247. 2000-2100 0 0 0 0 0
  1248. 2100-2200 0 0 0 0 0
  1249. 2200-2300 0 0 0 0 0
  1250. 2300-2400 0 0 0 0 0
  1251. Host/Domain Summary: Message Delivery
  1252. --
  1253. sent cnt bytes defers avg dly max dly host/domain
  1254. -- - - - - --
  1255. 21 2241k 0 4,6 s 47,0 s yojik.eu
  1256. 2 7008 0 0,8 s 1,0 s picapo.net
  1257. Host/Domain Summary: Messages Received
  1258. msg cnt bytes host/domain
  1259. -- - --
  1260. 7 1918k yojik.eu
  1261. 4 12773 lists.oasis-open.org
  1262. 2 29818 nongnu.org
  1263. 1 61932 sg.booking.com
  1264. 1 53567 bounces.amazon.fr
  1265. 1 46492 bounce.newsletter.delamaison.fr
  1266. 1 36499 mail.bitwarden.com
  1267. 1 36232 infos.materiel.net
  1268. 1 25976 newsdesmarq.ccemails.com
  1269. 1 20320 tradepubs.nl00.net
  1270. 1 6892 5v7mfyjapqzjtpqc.fncpq.3-xsveaq.na6.bnc.salesforce.com
  1271. 1 4987 hussein.org
  1272. 1 2021 inhrr.gob.ve
  1273. Senders by message count
  1274. 6 goulya@yojik.eu
  1275. 2 m17n-list-bounces+eric=yojik.eu@nongnu.org
  1276. 1 bounces+3318447-412f-eric=yojik.eu@mail.bitwarden.com
  1277. 1 bounces+4713178-1151-eric=yojik.eu@sg.booking.com
  1278. 1 email@newsdesmarq.ccemails.com
  1279. 1 do_not_reply=netgear.com__413ah3rz7vwihm9c.ly8u7ddmyngfvref@5v7mfyjapqzjtpqc.fncpq.3-xsveaq.na6.bnc.salesforce.com
  1280. 1 eric@yojik.eu
  1281. 1 20180701072218f38c0af2e0e840cf938ae502e570p0eu@bounces.amazon.fr
  1282. 1 bounce-419_HTML-28507929-182305-7304800-452@bounce.newsletter.delamaison.fr
  1283. 1 p-m8bl38j2p7vg88u3n3hrzdpp4rcbq9n7x8cvc2fn23u5pwpnseghvzq-BHP30@infos.materiel.net
  1284. 1 Offers@tradepubs.nl00.net
  1285. 1 info@hussein.org
  1286. 1 docbook-apps-return-14782-eric=yojik.eu@lists.oasis-open.org
  1287. 1 docbook-apps-return-14783-eric=yojik.eu@lists.oasis-open.org
  1288. 1 docbook-apps-return-14784-eric=yojik.eu@lists.oasis-open.org
  1289. 1 docbook-return-3958-eric=yojik.eu@lists.oasis-open.org
  1290. 1 maria.rueda@inhrr.gob.ve
  1291. Recipients by message count
  1292. 15 eric@yojik.eu
  1293. 6 goulya@yojik.eu
  1294. 2 nico@picapo.net
  1295. Senders by message size
  1296. --
  1297. 1917k goulya@yojik.eu
  1298. 61932 bounces+4713178-1151-eric=yojik.eu@sg.booking.com
  1299. 53567 20180701072218f38c0af2e0e840cf938ae502e570p0eu@bounces.amazon.fr
  1300. 46492 bounce-419_HTML-28507929-182305-7304800-452@bounce.newsletter.delamaison.fr
  1301. 36499 bounces+3318447-412f-eric=yojik.eu@mail.bitwarden.com
  1302. 36232 p-m8bl38j2p7vg88u3n3hrzdpp4rcbq9n7x8cvc2fn23u5pwpnseghvzq-BHP30@infos.materiel.net
  1303. 29818 m17n-list-bounces+eric=yojik.eu@nongnu.org
  1304. 25976 email@newsdesmarq.ccemails.com
  1305. 20320 Offers@tradepubs.nl00.net
  1306. 6892 do_not_reply=netgear.com__413ah3rz7vwihm9c.ly8u7ddmyngfvref@5v7mfyjapqzjtpqc.fncpq.3-xsveaq.na6.bnc.salesforce.com
  1307. 4987 info@hussein.org
  1308. 4275 docbook-apps-return-14782-eric=yojik.eu@lists.oasis-open.org
  1309. 3589 docbook-return-3958-eric=yojik.eu@lists.oasis-open.org
  1310. 2564 docbook-apps-return-14784-eric=yojik.eu@lists.oasis-open.org
  1311. 2345 docbook-apps-return-14783-eric=yojik.eu@lists.oasis-open.org
  1312. 2021 maria.rueda@inhrr.gob.ve
  1313. 1124 eric@yojik.eu
  1314. Recipients by message size
  1315. --
  1316. 1916k goulya@yojik.eu
  1317. 333462 eric@yojik.eu
  1318. 7008 nico@picapo.net
  1319. message deferral detail: none
  1320. message bounce detail (by relay): none
  1321. message reject detail
  1322. RCPT
  1323. blocked using zen.spamhaus.org (total: 2)
  1324. 1 amazonaws.com
  1325. 1 b941c024.business.dg-w.de
  1326. cannot find your hostname (total: 25)
  1327. 9 183.159.95.6
  1328. 3 210.239.8.55
  1329. 3 114.228.155.122
  1330. 2 2406:fc00:1:7:214:22ff:fe08:eb34
  1331. 2 117.63.127.41
  1332. 2 159.89.236.50
  1333. 1 140.127.1.29
  1334. 1 37.49.227.169
  1335. 1 80.211.61.89
  1336. 1 222.95.187.160
  1337. Client host rejected: Access denied (total: 2)
  1338. 2 80.211.61.89
  1339. message reject warning detail: none
  1340. message hold detail: none
  1341. message discard detail: none
  1342. smtp delivery failures: none
  1343. Warnings
  1344. --
  1345. smtpd (total: 16)
  1346. 6 hostname host89-61-211-80.serverdedicati.aruba.it does not reso...
  1347. 3 hostname host-210.239.8.55.n-cube.ne.jp does not resolve to add...
  1348. 2 mm-115-58-214-37.mogilev.dynamic.pppoe.byfly.by[37.214.58.115]:...
  1349. 2 hostname 41.127.63.117.broad.cz.js.dynamic.163data.com.cn does ...
  1350. 1 hostname hn.kd.ny.adsl does not resolve to address 115.57.125.2...
  1351. 1 hostname mails.npust.edu.tw does not resolve to address 140.127...
  1352. 1 hostname 82-64-48-5.subs.proxad.net does not resolve to address...
  1353. Fatal Errors: none
  1354. Panics: none
  1355. Master daemon messages: none
  1356. root@adara:/home/ericadmin#
  1357. </code></pre>
  1358. <p>Bien: la configuration est quasi terminée: il nous reste à ajouter SPF, DKIM, Dane et DNSSEC. et les comptes virtuels ...</p>
  1359. <h2 id="installation-de-rainloop-webmail">Installation de rainloop (webmail)</h2>
  1360. <p>Télécharger la version communautaire sur le site, et la décompresser dans votre répertoire web (/home/www/ pour moi)</p>
  1361. <p>Installation des dépendances: librairies et programmes</p>
  1362. <p><em>Partie à améliorer .....</em></p>
  1363. <pre><code class="shell">root@adara:/home/ericadmin# apt install unzip
  1364. Lecture des listes de paquets... Fait
  1365. Construction de l'arbre des dépendances
  1366. Lecture des informations d'état... Fait
  1367. Paquets suggérés :
  1368. zip
  1369. Les NOUVEAUX paquets suivants seront installés :
  1370. unzip
  1371. 0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
  1372. Il est nécessaire de prendre 170 ko dans les archives.
  1373. Après cette opération, 547 ko d'espace disque supplémentaires seront utilisés.
  1374. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 unzip amd64 6.0-21 [170 kB]
  1375. 170 ko réceptionnés en 0s (5 565 ko/s)
  1376. Sélection du paquet unzip précédemment désélectionné.
  1377. (Lecture de la base de données... 27662 fichiers et répertoires déjà installés.)
  1378. Préparation du dépaquetage de .../unzip_6.0-21_amd64.deb ...
  1379. Dépaquetage de unzip (6.0-21) ...
  1380. Traitement des actions différées (« triggers ») pour mime-support (3.60) ...
  1381. Paramétrage de unzip (6.0-21) ...
  1382. Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
  1383. root@adara:/home/ericadmin/# mc
  1384. root@adara:/home/ericadmin/bin#
  1385. root@adara:/home/www# cd /home/www
  1386. root@adara:/home/www# mkdir rainloop
  1387. root@adara:/etc# apt search php | grep curl
  1388. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1389. php-curl/stable 1:7.0+49 all
  1390. php7.0-curl/stable,stable 7.0.27-0+deb9u1 amd64
  1391. root@adara:/etc# apt install php7.0-curl
  1392. Lecture des listes de paquets... Fait
  1393. Construction de l'arbre des dépendances
  1394. Lecture des informations d'état... Fait
  1395. The following additional packages will be installed:
  1396. libcurl3 php-common php7.0-common psmisc
  1397. Les NOUVEAUX paquets suivants seront installés :
  1398. libcurl3 php-common php7.0-common php7.0-curl psmisc
  1399. 0 mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour.
  1400. Il est nécessaire de prendre 1 333 ko dans les archives.
  1401. Après cette opération, 6 149 ko d'espace disque supplémentaires seront utilisés.
  1402. Souhaitez-vous continuer ? [O/n] o
  1403. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 psmisc amd64 22.21-2.1+b2 [123 kB]
  1404. Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-common all 1:49 [14,1 kB]
  1405. Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-common amd64 7.0.27-0+deb9u1 [877 kB]
  1406. Réception de:4 http://security.debian.org/debian-security stretch/updates/main amd64 libcurl3 amd64 7.52.1-5+deb9u6 [291 kB]
  1407. Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-curl amd64 7.0.27-0+deb9u1 [27,4 kB]
  1408. 1 333 ko réceptionnés en 0s (3 062 ko/s)
  1409. Sélection du paquet libcurl3:amd64 précédemment désélectionné.
  1410. (Lecture de la base de données... 27680 fichiers et répertoires déjà installés.)
  1411. Préparation du dépaquetage de .../libcurl3_7.52.1-5+deb9u6_amd64.deb ...
  1412. Dépaquetage de libcurl3:amd64 (7.52.1-5+deb9u6) ...
  1413. Sélection du paquet psmisc précédemment désélectionné.
  1414. Préparation du dépaquetage de .../psmisc_22.21-2.1+b2_amd64.deb ...
  1415. Dépaquetage de psmisc (22.21-2.1+b2) ...
  1416. Sélection du paquet php-common précédemment désélectionné.
  1417. Préparation du dépaquetage de .../php-common_1%3a49_all.deb ...
  1418. Dépaquetage de php-common (1:49) ...
  1419. Sélection du paquet php7.0-common précédemment désélectionné.
  1420. Préparation du dépaquetage de .../php7.0-common_7.0.27-0+deb9u1_amd64.deb ...
  1421. Dépaquetage de php7.0-common (7.0.27-0+deb9u1) ...
  1422. Sélection du paquet php7.0-curl précédemment désélectionné.
  1423. Préparation du dépaquetage de .../php7.0-curl_7.0.27-0+deb9u1_amd64.deb ...
  1424. Dépaquetage de php7.0-curl (7.0.27-0+deb9u1) ...
  1425. Paramétrage de psmisc (22.21-2.1+b2) ...
  1426. Paramétrage de libcurl3:amd64 (7.52.1-5+deb9u6) ...
  1427. Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
  1428. Paramétrage de php-common (1:49) ...
  1429. Created symlink /etc/systemd/system/timers.target.wants/phpsessionclean.timer → /lib/systemd/system/phpsessionclean.timer.
  1430. Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
  1431. Paramétrage de php7.0-common (7.0.27-0+deb9u1) ...
  1432. Creating config file /etc/php/7.0/mods-available/calendar.ini with new version
  1433. Creating config file /etc/php/7.0/mods-available/ctype.ini with new version
  1434. Creating config file /etc/php/7.0/mods-available/exif.ini with new version
  1435. Creating config file /etc/php/7.0/mods-available/fileinfo.ini with new version
  1436. Creating config file /etc/php/7.0/mods-available/ftp.ini with new version
  1437. Creating config file /etc/php/7.0/mods-available/gettext.ini with new version
  1438. Creating config file /etc/php/7.0/mods-available/iconv.ini with new version
  1439. Creating config file /etc/php/7.0/mods-available/pdo.ini with new version
  1440. Creating config file /etc/php/7.0/mods-available/phar.ini with new version
  1441. Creating config file /etc/php/7.0/mods-available/posix.ini with new version
  1442. Creating config file /etc/php/7.0/mods-available/shmop.ini with new version
  1443. Creating config file /etc/php/7.0/mods-available/sockets.ini with new version
  1444. Creating config file /etc/php/7.0/mods-available/sysvmsg.ini with new version
  1445. Creating config file /etc/php/7.0/mods-available/sysvsem.ini with new version
  1446. Creating config file /etc/php/7.0/mods-available/sysvshm.ini with new version
  1447. Creating config file /etc/php/7.0/mods-available/tokenizer.ini with new version
  1448. Paramétrage de php7.0-curl (7.0.27-0+deb9u1) ...
  1449. Creating config file /etc/php/7.0/mods-available/curl.ini with new version
  1450. root@adara:/etc# apt search php | grep iconv
  1451. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1452. libhtml-wikiconverter-phpwiki-perl/stable 0.51-2 all
  1453. php-symfony-polyfill-iconv/stable 1.2.0-1 all
  1454. root@adara:/etc# apt install php-symfony-polyfill-iconv
  1455. Lecture des listes de paquets... Fait
  1456. Construction de l'arbre des dépendances
  1457. Lecture des informations d'état... Fait
  1458. Les NOUVEAUX paquets suivants seront installés :
  1459. php-symfony-polyfill-iconv
  1460. 0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
  1461. Il est nécessaire de prendre 124 ko dans les archives.
  1462. Après cette opération, 1 585 ko d'espace disque supplémentaires seront utilisés.
  1463. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-symfony-polyfill-iconv all 1.2.0-1 [124 kB]
  1464. 124 ko réceptionnés en 0s (817 ko/s)
  1465. Sélection du paquet php-symfony-polyfill-iconv précédemment désélectionné.
  1466. (Lecture de la base de données... 27826 fichiers et répertoires déjà installés.)
  1467. Préparation du dépaquetage de .../php-symfony-polyfill-iconv_1.2.0-1_all.deb ...
  1468. Dépaquetage de php-symfony-polyfill-iconv (1.2.0-1) ...
  1469. Paramétrage de php-symfony-polyfill-iconv (1.2.0-1) ...
  1470. root@adara:/etc# apt search php | grep json
  1471. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1472. jsonlint/stable 1.5.0-1 all
  1473. php-json/stable 1:7.0+49 all
  1474. php-json-schema/stable 1.6.1-2 all
  1475. php7.0-json/stable,stable 7.0.27-0+deb9u1 amd64
  1476. root@adara:/etc# apt install php-json
  1477. Lecture des listes de paquets... Fait
  1478. Construction de l'arbre des dépendances
  1479. Lecture des informations d'état... Fait
  1480. The following additional packages will be installed:
  1481. php7.0-json
  1482. Les NOUVEAUX paquets suivants seront installés :
  1483. php-json php7.0-json
  1484. 0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
  1485. Il est nécessaire de prendre 22,0 ko dans les archives.
  1486. Après cette opération, 80,9 ko d'espace disque supplémentaires seront utilisés.
  1487. Souhaitez-vous continuer ? [O/n] o
  1488. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-json amd64 7.0.27-0+deb9u1 [17,0 kB]
  1489. Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-json all 1:7.0+49 [5 050 B]
  1490. 22,0 ko réceptionnés en 0s (839 ko/s)
  1491. Sélection du paquet php7.0-json précédemment désélectionné.
  1492. (Lecture de la base de données... 27895 fichiers et répertoires déjà installés.)
  1493. Préparation du dépaquetage de .../php7.0-json_7.0.27-0+deb9u1_amd64.deb ...
  1494. Dépaquetage de php7.0-json (7.0.27-0+deb9u1) ...
  1495. Sélection du paquet php-json précédemment désélectionné.
  1496. Préparation du dépaquetage de .../php-json_1%3a7.0+49_all.deb ...
  1497. Dépaquetage de php-json (1:7.0+49) ...
  1498. Paramétrage de php7.0-json (7.0.27-0+deb9u1) ...
  1499. Creating config file /etc/php/7.0/mods-available/json.ini with new version
  1500. Paramétrage de php-json (1:7.0+49) ...
  1501. root@adara:/etc# apt search php | grep libxml
  1502. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1503. root@adara:/etc# apt search php | grep xml
  1504. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1505. libsmokeqtxml4-3/stable 4:4.14.3-1.1 amd64
  1506. libsmokeqtxmlpatterns4-3/stable 4:4.14.3-1.1 amd64
  1507. php-horde-xml-element/stable 2.0.4-3 all
  1508. php-horde-xml-wbxml/stable 2.0.3-3 all
  1509. Horde_Xml_Wbxml provides an API for encoding and decoding WBXML documents used in SyncML and other wireless applications
  1510. php-sabre-xml/stable 1.4.2-1 all
  1511. php-symfony-polyfill-xml/stable 1.2.0-1 all
  1512. Symfony polyfill for xml's utf8_encode and utf8_decode functions
  1513. php-xml/stable 1:7.0+49 all
  1514. php-xml-htmlsax3/stable 3.0.0+really3.0.0-3 all
  1515. php-xml-rpc2/stable 1.1.3-0.1 all
  1516. php-xml-svg/stable 1.1.0-2 all
  1517. php-xmlrpc/stable 1:7.0+49 all
  1518. php7.0-xml/stable,stable 7.0.27-0+deb9u1 amd64
  1519. php7.0-xmlrpc/stable,stable 7.0.27-0+deb9u1 amd64
  1520. root@adara:/etc# apt install php-xml
  1521. Lecture des listes de paquets... Fait
  1522. Construction de l'arbre des dépendances
  1523. Lecture des informations d'état... Fait
  1524. The following additional packages will be installed:
  1525. libxslt1.1 php7.0-xml
  1526. Les NOUVEAUX paquets suivants seront installés :
  1527. libxslt1.1 php-xml php7.0-xml
  1528. 0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
  1529. Il est nécessaire de prendre 351 ko dans les archives.
  1530. Après cette opération, 992 ko d'espace disque supplémentaires seront utilisés.
  1531. Souhaitez-vous continuer ? [O/n] o
  1532. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libxslt1.1 amd64 1.1.29-2.1 [233 kB]
  1533. Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-xml amd64 7.0.27-0+deb9u1 [112 kB]
  1534. Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-xml all 1:7.0+49 [5 068 B]
  1535. 351 ko réceptionnés en 0s (7 580 ko/s)
  1536. Sélection du paquet libxslt1.1:amd64 précédemment désélectionné.
  1537. (Lecture de la base de données... 27907 fichiers et répertoires déjà installés.)
  1538. Préparation du dépaquetage de .../libxslt1.1_1.1.29-2.1_amd64.deb ...
  1539. Dépaquetage de libxslt1.1:amd64 (1.1.29-2.1) ...
  1540. Sélection du paquet php7.0-xml précédemment désélectionné.
  1541. Préparation du dépaquetage de .../php7.0-xml_7.0.27-0+deb9u1_amd64.deb ...
  1542. Dépaquetage de php7.0-xml (7.0.27-0+deb9u1) ...
  1543. Sélection du paquet php-xml précédemment désélectionné.
  1544. Préparation du dépaquetage de .../php-xml_1%3a7.0+49_all.deb ...
  1545. Dépaquetage de php-xml (1:7.0+49) ...
  1546. Paramétrage de libxslt1.1:amd64 (1.1.29-2.1) ...
  1547. Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
  1548. Paramétrage de php7.0-xml (7.0.27-0+deb9u1) ...
  1549. Creating config file /etc/php/7.0/mods-available/dom.ini with new version
  1550. Creating config file /etc/php/7.0/mods-available/simplexml.ini with new version
  1551. Creating config file /etc/php/7.0/mods-available/wddx.ini with new version
  1552. Creating config file /etc/php/7.0/mods-available/xml.ini with new version
  1553. Creating config file /etc/php/7.0/mods-available/xmlreader.ini with new version
  1554. Creating config file /etc/php/7.0/mods-available/xmlwriter.ini with new version
  1555. Creating config file /etc/php/7.0/mods-available/xsl.ini with new version
  1556. Paramétrage de php-xml (1:7.0+49) ...
  1557. root@adara:/etc# apt search php | grep dom
  1558. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1559. Convert to/from Koremutake Memorable Random Strings
  1560. php-dompdf/stable 0.6.2+dfsg-3 all
  1561. php-fdomdocument/stable 1.6.1-2 all
  1562. PHP Pear module for handling international domain names
  1563. PHP module for detecting registered domains and public suffixes
  1564. php-random-compat/stable 2.0.2-2 all
  1565. PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
  1566. php-symfony-dom-crawler/stable 2.8.7+dfsg-1.3 all
  1567. root@adara:/etc# apt install php-symfony-dom-crawler
  1568. Lecture des listes de paquets... Fait
  1569. Construction de l'arbre des dépendances
  1570. Lecture des informations d'état... Fait
  1571. The following additional packages will be installed:
  1572. php-symfony-polyfill-mbstring
  1573. Paquets suggérés :
  1574. php-symfony-css-selector php-mbstring
  1575. Les NOUVEAUX paquets suivants seront installés :
  1576. php-symfony-dom-crawler php-symfony-polyfill-mbstring
  1577. 0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
  1578. Il est nécessaire de prendre 41,6 ko dans les archives.
  1579. Après cette opération, 225 ko d'espace disque supplémentaires seront utilisés.
  1580. Souhaitez-vous continuer ? [O/n] o
  1581. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-symfony-polyfill-mbstring all 1.2.0-1 [12,0 kB]
  1582. Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-symfony-dom-crawler all 2.8.7+dfsg-1.3 [29,6 kB]
  1583. 41,6 ko réceptionnés en 0s (199 ko/s)
  1584. Sélection du paquet php-symfony-polyfill-mbstring précédemment désélectionné.
  1585. (Lecture de la base de données... 27947 fichiers et répertoires déjà installés.)
  1586. Préparation du dépaquetage de .../php-symfony-polyfill-mbstring_1.2.0-1_all.deb ...
  1587. Dépaquetage de php-symfony-polyfill-mbstring (1.2.0-1) ...
  1588. Sélection du paquet php-symfony-dom-crawler précédemment désélectionné.
  1589. Préparation du dépaquetage de .../php-symfony-dom-crawler_2.8.7+dfsg-1.3_all.deb ...
  1590. Dépaquetage de php-symfony-dom-crawler (2.8.7+dfsg-1.3) ...
  1591. Paramétrage de php-symfony-polyfill-mbstring (1.2.0-1) ...
  1592. Paramétrage de php-symfony-dom-crawler (2.8.7+dfsg-1.3) ...
  1593. root@adara:/etc# apt search php | grep openssl
  1594. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1595. root@adara:/etc# apt search php | grep ssl
  1596. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1597. root@adara:/etc# apt install php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml
  1598. Lecture des listes de paquets... Fait
  1599. Construction de l'arbre des dépendances
  1600. Lecture des informations d'état... Fait
  1601. php7.0-curl is already the newest version (7.0.27-0+deb9u1).
  1602. php7.0-xml is already the newest version (7.0.27-0+deb9u1).
  1603. php7.0-xml passé en « installé manuellement ».
  1604. The following additional packages will be installed:
  1605. libmagic-mgc libmagic1 php7.0-cli php7.0-opcache php7.0-readline
  1606. Paquets suggérés :
  1607. php-pear file
  1608. Les NOUVEAUX paquets suivants seront installés :
  1609. libapache2-mod-php7.0 libmagic-mgc libmagic1 php7.0 php7.0-cli php7.0-opcache php7.0-readline
  1610. 0 mis à jour, 7 nouvellement installés, 0 à enlever et 0 non mis à jour.
  1611. Il est nécessaire de prendre 2 984 ko dans les archives.
  1612. Après cette opération, 14,3 Mo d'espace disque supplémentaires seront utilisés.
  1613. Souhaitez-vous continuer ? [O/n] o
  1614. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libmagic-mgc amd64 1:5.30-1+deb9u1 [222 kB]
  1615. Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 libmagic1 amd64 1:5.30-1+deb9u1 [111 kB]
  1616. Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-opcache amd64 7.0.27-0+deb9u1 [77,5 kB]
  1617. Réception de:4 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-readline amd64 7.0.27-0+deb9u1 [12,2 kB]
  1618. Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-cli amd64 7.0.27-0+deb9u1 [1 284 kB]
  1619. Réception de:6 http://debian.mirrors.ovh.net/debian stretch/main amd64 libapache2-mod-php7.0 amd64 7.0.27-0+deb9u1 [1 224 kB]
  1620. Réception de:7 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0 all 7.0.27-0+deb9u1 [52,9 kB]
  1621. 2 984 ko réceptionnés en 0s (10,9 Mo/s)
  1622. Sélection du paquet libmagic-mgc précédemment désélectionné.
  1623. (Lecture de la base de données... 27977 fichiers et répertoires déjà installés.)
  1624. Préparation du dépaquetage de .../0-libmagic-mgc_1%3a5.30-1+deb9u1_amd64.deb ...
  1625. Dépaquetage de libmagic-mgc (1:5.30-1+deb9u1) ...
  1626. Sélection du paquet libmagic1:amd64 précédemment désélectionné.
  1627. Préparation du dépaquetage de .../1-libmagic1_1%3a5.30-1+deb9u1_amd64.deb ...
  1628. Dépaquetage de libmagic1:amd64 (1:5.30-1+deb9u1) ...
  1629. Sélection du paquet php7.0-opcache précédemment désélectionné.
  1630. Préparation du dépaquetage de .../2-php7.0-opcache_7.0.27-0+deb9u1_amd64.deb ...
  1631. Dépaquetage de php7.0-opcache (7.0.27-0+deb9u1) ...
  1632. Sélection du paquet php7.0-readline précédemment désélectionné.
  1633. Préparation du dépaquetage de .../3-php7.0-readline_7.0.27-0+deb9u1_amd64.deb ...
  1634. Dépaquetage de php7.0-readline (7.0.27-0+deb9u1) ...
  1635. Sélection du paquet php7.0-cli précédemment désélectionné.
  1636. Préparation du dépaquetage de .../4-php7.0-cli_7.0.27-0+deb9u1_amd64.deb ...
  1637. Dépaquetage de php7.0-cli (7.0.27-0+deb9u1) ...
  1638. Sélection du paquet libapache2-mod-php7.0 précédemment désélectionné.
  1639. Préparation du dépaquetage de .../5-libapache2-mod-php7.0_7.0.27-0+deb9u1_amd64.deb ...
  1640. Dépaquetage de libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...
  1641. Sélection du paquet php7.0 précédemment désélectionné.
  1642. Préparation du dépaquetage de .../6-php7.0_7.0.27-0+deb9u1_all.deb ...
  1643. Dépaquetage de php7.0 (7.0.27-0+deb9u1) ...
  1644. Paramétrage de php7.0-readline (7.0.27-0+deb9u1) ...
  1645. Creating config file /etc/php/7.0/mods-available/readline.ini with new version
  1646. Paramétrage de php7.0-opcache (7.0.27-0+deb9u1) ...
  1647. Creating config file /etc/php/7.0/mods-available/opcache.ini with new version
  1648. Paramétrage de libmagic-mgc (1:5.30-1+deb9u1) ...
  1649. Paramétrage de libmagic1:amd64 (1:5.30-1+deb9u1) ...
  1650. Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
  1651. Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
  1652. Paramétrage de php7.0-cli (7.0.27-0+deb9u1) ...
  1653. update-alternatives: utilisation de « /usr/bin/php7.0 » pour fournir « /usr/bin/php » (php) en mode automatique
  1654. update-alternatives: utilisation de « /usr/bin/phar7.0 » pour fournir « /usr/bin/phar » (phar) en mode automatique
  1655. update-alternatives: utilisation de « /usr/bin/phar.phar7.0 » pour fournir « /usr/bin/phar.phar » (phar.phar) en mode automatique
  1656. Creating config file /etc/php/7.0/cli/php.ini with new version
  1657. php_invoke: Enable module fileinfo for cli sapi
  1658. php_invoke: Enable module dom for cli sapi
  1659. php_invoke: Enable module xmlwriter for cli sapi
  1660. php_invoke: Enable module sysvsem for cli sapi
  1661. php_invoke: Enable module ftp for cli sapi
  1662. php_invoke: Enable module curl for cli sapi
  1663. php_invoke: Enable module xml for cli sapi
  1664. php_invoke: Enable module gettext for cli sapi
  1665. php_invoke: Enable module ctype for cli sapi
  1666. php_invoke: Enable module json for cli sapi
  1667. php_invoke: Enable module sockets for cli sapi
  1668. php_invoke: Enable module sysvmsg for cli sapi
  1669. php_invoke: Enable module xsl for cli sapi
  1670. php_invoke: Enable module simplexml for cli sapi
  1671. php_invoke: Enable module xmlreader for cli sapi
  1672. php_invoke: Enable module exif for cli sapi
  1673. php_invoke: Enable module shmop for cli sapi
  1674. php_invoke: Enable module sysvshm for cli sapi
  1675. php_invoke: Enable module pdo for cli sapi
  1676. php_invoke: Enable module tokenizer for cli sapi
  1677. php_invoke: Enable module calendar for cli sapi
  1678. php_invoke: Enable module wddx for cli sapi
  1679. php_invoke: Enable module iconv for cli sapi
  1680. php_invoke: Enable module posix for cli sapi
  1681. php_invoke: Enable module phar for cli sapi
  1682. Paramétrage de libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...
  1683. Creating config file /etc/php/7.0/apache2/php.ini with new version
  1684. php_invoke: Enable module fileinfo for apache2 sapi
  1685. php_invoke: Enable module dom for apache2 sapi
  1686. php_invoke: Enable module xmlwriter for apache2 sapi
  1687. php_invoke: Enable module sysvsem for apache2 sapi
  1688. php_invoke: Enable module ftp for apache2 sapi
  1689. php_invoke: Enable module curl for apache2 sapi
  1690. php_invoke: Enable module xml for apache2 sapi
  1691. php_invoke: Enable module gettext for apache2 sapi
  1692. php_invoke: Enable module ctype for apache2 sapi
  1693. php_invoke: Enable module json for apache2 sapi
  1694. php_invoke: Enable module sockets for apache2 sapi
  1695. php_invoke: Enable module sysvmsg for apache2 sapi
  1696. php_invoke: Enable module xsl for apache2 sapi
  1697. php_invoke: Enable module simplexml for apache2 sapi
  1698. php_invoke: Enable module xmlreader for apache2 sapi
  1699. php_invoke: Enable module exif for apache2 sapi
  1700. php_invoke: Enable module shmop for apache2 sapi
  1701. php_invoke: Enable module sysvshm for apache2 sapi
  1702. php_invoke: Enable module pdo for apache2 sapi
  1703. php_invoke: Enable module tokenizer for apache2 sapi
  1704. php_invoke: Enable module calendar for apache2 sapi
  1705. php_invoke: Enable module wddx for apache2 sapi
  1706. php_invoke: Enable module iconv for apache2 sapi
  1707. php_invoke: Enable module posix for apache2 sapi
  1708. php_invoke: Enable module phar for apache2 sapi
  1709. Module mpm_event disabled.
  1710. Enabling module mpm_prefork.
  1711. apache2_switch_mpm Switch to prefork
  1712. apache2_invoke: Enable module php7.0
  1713. Paramétrage de php7.0 (7.0.27-0+deb9u1) ...
  1714. root@adara:/etc# mc
  1715. </code></pre>
  1716. <h3 id="mise-en-route-du-webmail-dans-apache">Mise en route du webmail dans apache</h3>
  1717. <pre><code class="shell">root@adara:/etc# a2ensite webmail
  1718. Enabling site webmail.
  1719. To activate the new configuration, you need to run:
  1720. systemctl reload apache2
  1721. root@adara:/etc# cd /home/www
  1722. root@adara:/home/www# ls
  1723. divers faqfctt goulya homepage New-FSI rainloop wordpress
  1724. root@adara:/home/www# cd rainloop/
  1725. root@adara:/home/www/rainloop# find . -type d -exec chmod 755 {} \;
  1726. root@adara:/home/www/rainloop# find . -type f -exec chmod 644 {} \;
  1727. root@adara:/home/www/rainloop# chown -R www-data:www-data .
  1728. root@adara:/home/www/rainloop# service apache2 restart
  1729. root@adara:/home/www/rainloop# mc
  1730. root@adara:/home/www/rainloop# service apache2 restart
  1731. </code></pre>
  1732. <h3 id="installation-de-linterface-sqlite-de-php">Installation de l'interface sqlite de php</h3>
  1733. <pre><code class="shell">root@adara:/home/www/rainloop# apt search php | grep sqlite
  1734. WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
  1735. php-sqlite3/stable 1:7.0+49 all
  1736. php7.0-sqlite3/stable,stable 7.0.27-0+deb9u1 amd64
  1737. root@adara:/home/www/rainloop# apt install php7.0-sqlite3
  1738. Lecture des listes de paquets... Fait
  1739. Construction de l'arbre des dépendances
  1740. Lecture des informations d'état... Fait
  1741. Les NOUVEAUX paquets suivants seront installés :
  1742. php7.0-sqlite3
  1743. 0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
  1744. Il est nécessaire de prendre 24,8 ko dans les archives.
  1745. Après cette opération, 111 ko d'espace disque supplémentaires seront utilisés.
  1746. Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-sqlite3 amd64 7.0.27-0+deb9u1 [24,8 kB]
  1747. 24,8 ko réceptionnés en 0s (299 ko/s)
  1748. Sélection du paquet php7.0-sqlite3 précédemment désélectionné.
  1749. (Lecture de la base de données... 28052 fichiers et répertoires déjà installés.)
  1750. Préparation du dépaquetage de .../php7.0-sqlite3_7.0.27-0+deb9u1_amd64.deb ...
  1751. Dépaquetage de php7.0-sqlite3 (7.0.27-0+deb9u1) ...
  1752. Traitement des actions différées (« triggers ») pour libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...
  1753. Paramétrage de php7.0-sqlite3 (7.0.27-0+deb9u1) ...
  1754. Creating config file /etc/php/7.0/mods-available/sqlite3.ini with new version
  1755. Creating config file /etc/php/7.0/mods-available/pdo_sqlite.ini with new version
  1756. Traitement des actions différées (« triggers ») pour libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...
  1757. root@adara:/home/www/rainloop# service apache2 restart
  1758. root@adara:/home/www/rainloop#
  1759. </code></pre>
  1760. <p>Ajouter https avec:</p>
  1761. <pre><code>certbot --apache
  1762. </code></pre>
  1763. <p>et suivre les instructions.</p>
  1764. <p>Relancez apache.</p>
  1765. </div>
  1766. </div>
  1767. <footer>
  1768. <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
  1769. <a href="../11-onze/" class="btn btn-neutral float-right" title="Installation des certificats letsencrypt">Next <span class="icon icon-circle-arrow-right"></span></a>
  1770. <a href="../9-neuf/" class="btn btn-neutral" title="Installation d'un serveur web"><span class="icon icon-circle-arrow-left"></span> Previous</a>
  1771. </div>
  1772. <hr/>
  1773. <div role="contentinfo">
  1774. <!-- Copyright etc -->
  1775. </div>
  1776. Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
  1777. </footer>
  1778. </div>
  1779. </div>
  1780. </section>
  1781. </div>
  1782. <div class="rst-versions" role="note" style="cursor: pointer">
  1783. <span class="rst-current-version" data-toggle="rst-current-version">
  1784. <span><a href="../9-neuf/" style="color: #fcfcfc;">&laquo; Previous</a></span>
  1785. <span style="margin-left: 15px"><a href="../11-onze/" style="color: #fcfcfc">Next &raquo;</a></span>
  1786. </span>
  1787. </div>
  1788. </body>
  1789. </html>