{"id":339,"date":"2023-04-16T14:34:28","date_gmt":"2023-04-16T14:34:28","guid":{"rendered":"https:\/\/blog.nibelheim.fr\/?p=339"},"modified":"2023-07-31T11:42:46","modified_gmt":"2023-07-31T11:42:46","slug":"heberger-son-propre-serveur-mail-sur-raspberry-pi-avec-citadel","status":"publish","type":"post","link":"https:\/\/blog.nibelheim.fr\/?p=339","title":{"rendered":"H\u00e9berger son propre serveur mail sur Raspberry Pi (avec Citadel)"},"content":{"rendered":"\n<p>Au rayon &#8220;bonnes id\u00e9es pour l&#8217;exercice mais aucunement pour tout le reste&#8221;, je voudrais &#8220;h\u00e9berger son propre serveur mail&#8221;.<br>Avant tout chose, sachez que la chose est incroyablement al\u00e9atoire, d\u00e9pend majoritairement de votre FAI ainsi que de votre box internet (oui), ainsi que des serveurs mail auxquels vous allez envoyer des mails.<\/p>\n\n\n\n<p>Autrement dit : y&#8217;a limite plus de chances que \u00e7a foire que \u00e7a ne fonctionne.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e9requis<\/h2>\n\n\n\n<p>Ce qu&#8217;il vous faut :<br>&#8211; Un <strong>Raspberry Pi <\/strong>que vous savez manier et qui est en \u00e9tat de fonctionnement<br>&#8211; Un <strong>domaine <\/strong><em>(cette fois, \u00e7a sera malheureusement payant, eh oui! &#8211; je suis chez OVH et le pr\u00e9sent domaine me co\u00fbte 5.99 par an : c&#8217;est g\u00e9rable)<\/em>. Ou alors, vous arrivez \u00e0 trouver un fournisseur de domaines gratos qui autorise les enregistrements MX et DNS&#8230;<br>&#8211; Une <strong>adresse IP fixe<\/strong> pour votre box Internet <em>(qui n&#8217;est pas une garantie de succ\u00e8s! La demande d&#8217;une IP fixe peut \u00eatre demand\u00e9e via vos options de souscription Internet)<\/em><br>&#8211; Conna\u00eetre l&#8217;<strong>IP locale de votre Raspberry Pi<\/strong> <em>(genre 192.168.1.2)<\/em>. Si vous ne savez pas comment la r\u00e9cup\u00e9rer, sachez que vous aller passer un sale moment et qu&#8217;il vaut mieux laisser tomber : vous n&#8217;\u00eates malheureusement pas encore pr\u00eat(e).<\/p>\n\n\n\n<p>Et en option :<br>&#8211; <strong>Nginx<\/strong> que j&#8217;utilise d\u00e9j\u00e0 avec ses certificats HTTPS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Proc\u00e9dure<\/h2>\n\n\n\n<p><strong>1- D\u00e9sactiver Exim<\/strong><\/p>\n\n\n\n<p>Exim est un <em>gestionnaire de mail qui est fourni de base avec Raspbian<\/em> et, si j&#8217;ai bien compris, Ubuntu au g\u00e9n\u00e9ral.<br>Dans notre cas, il va surtout <strong>royalement nous emmerder<\/strong> et j&#8217;aime autant vous dire que j&#8217;ai ram\u00e9 pour trouver la cause au fait que j&#8217;\u00e9tais infoutu de recevoir le moindre mail&#8230;<br>Exim a cette particularit\u00e9 d&#8217;emp\u00eacher votre serveur Citadel, que nous n&#8217;avons pas encore install\u00e9, <strong>d&#8217;utiliser correctement les ports SMTP<\/strong> n\u00e9cessaires au bon fonctionnement de Citadel.<br>Comment? En \u00e9tant d\u00e9j\u00e0 int\u00e9gr\u00e9 en tant que gestionnaire de mail dont on se fout \u00e9perdument, mais <strong>sans \u00eatre officiellement d\u00e9clar\u00e9 comme install\u00e9<\/strong>!<br>Ce qui signifie ce que sinistre \u00e9tron ne peut pas \u00eatre d\u00e9sinstall\u00e9 <em>(puisqu&#8217;il n&#8217;est pas d\u00e9clar\u00e9 comme install\u00e9)<\/em>, il ne peut qu&#8217;\u00eatre <em>d\u00e9sactiv\u00e9<\/em>, ce que nous allons faire.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo service exim4 stop<br>sudo systemctl disable exim4.service --now<\/pre>\n\n\n\n<p>Maintenant, on va pouvoir travailler.<\/p>\n\n\n\n<p><strong>2- Installer Citadel<\/strong><\/p>\n\n\n\n<p>Pour \u00e7a, je ne vais pas me casser le bol et partir de l&#8217;excellent tuto de <a href=\"https:\/\/pimylifeup.com\/raspberry-pi-email-server\/\" data-type=\"URL\" data-id=\"https:\/\/pimylifeup.com\/raspberry-pi-email-server\/\">PiMyLifeUp<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt install build-essential curl g++ gettext shared-mime-info libssl-dev zlib1g-dev<br>curl https:\/\/easyinstall.citadel.org\/install | sudo bash<\/pre>\n\n\n\n<p>Si \u00e0 curl, \u00e7a d\u00e9conne, il y a un contournement rigolo que voici :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl https:\/\/easyinstall.citadel.org\/install &gt; install<br>sudo chmod +x .\/install<br>sudo .\/install<\/pre>\n\n\n\n<p>Les choix \u00e0 faire durant l&#8217;installation sont globalement Y puis Enter jusqu&#8217;\u00e0 l&#8217;\u00e9tape de la d\u00e9finition du mot de passe administrateur.<br><strong>Notez que l&#8217;installation de Citadel demande sa compilation et cela peut prendre plusieurs dizaines de minutes<\/strong> &#8211; sur mon Pi, \u00e7a a pris de m\u00e9moire environ 30 minutes.<\/p>\n\n\n\n<p>Arriv\u00e9  \u00e0 l&#8217;\u00e9tape de d\u00e9finition de l&#8217;utilisateur administrateur, vous pouvez laisser <strong>admin <\/strong>par d\u00e9faut. Vous pouvez l&#8217;appeler Robert si \u00e7a vous chante, mais quand vous enverrez un mail en tant qu&#8217;administrateur, le r\u00e9ceptionnaire recevra un mail de Robert. Ca peut \u00eatre rigolo.<\/p>\n\n\n\n<p>Etape suivante, le mot de passe pour admin. Prenez-en un cors\u00e9 et <strong>pas juste citadel comme entr\u00e9 de base.<\/strong> C&#8217;est pas un moulin, ici.<\/p>\n\n\n\n<p>Puis, d\u00e9finissez l&#8217;utilisateur. Par d\u00e9faut, il indique root, mais nous, on va rentrer <strong>citadel<\/strong>, parce que c&#8217;est pas la foire \u00e0 la saucisse, chez nous.<\/p>\n\n\n\n<p>Ceci fait, il demande l&#8217;ip d&#8217;\u00e9coute pour le serveur. Entrez <strong>0.0.0.0<\/strong>, pas de sectarisme ici.<\/p>\n\n\n\n<p>Suit le choix du port sur lequel Citadel tournera : laissez <strong>504 <\/strong>par d\u00e9faut. 504, c&#8217;est bien un port dont tout le monde se fout. Et c&#8217;est 405 \u00e0 l&#8217;envers, comme une Peugeot 405. Comment? Y&#8217;a eu une Peugeot 504? C&#8217;est vrai.<\/p>\n\n\n\n<p>M\u00e9thode d&#8217;authentification : <strong>laissez 0<\/strong>. Le reste est p\u00e9nible. Comme mes voisins dans leur jardin d\u00e8s qu&#8217;il y a un rayon de soleil dehors.<\/p>\n\n\n\n<p>Ensuite, les ports HTTP et HTTPS. L\u00e0, \u00e7a se corse <em>(comme le rallye de Corse, ou le moto-corse. Moto-cross?)<\/em> :<br>&#8211; Soit vous avez un serveur HTTP et\/ou HTTPS qui tourne d\u00e9j\u00e0 sur votre Pi, auquel cas ces ports sont d\u00e9j\u00e0 pris. <strong>Il suffit alors de s\u00e9lectionner d&#8217;autres ports, genre 4080 (HTTP) et 4443 (HTTPS) <\/strong>par exemple.<br>&#8211; Soit vous n&#8217;avez pas d&#8217;autre instance de serveur HTTP(S), auquel cas vous pouvez laisser 80 et 443.<\/p>\n\n\n\n<p>Si jamais un probl\u00e8me survient \u00e0 la fin de cette configuration, et ainsi que le stipule l&#8217;excellent tutorial qui me sert de source :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo mkdir \/etc\/citadel\/netconfigs\nsudo chown citadel:citadel\/etc\/citadel\/netconfigs\nsudo service citadel restart\nsudo \/usr\/local\/citadel\/setup<\/pre>\n\n\n\n<p>Pour relancer la configuration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3- Acc\u00e9der \u00e0 Citadel<\/h2>\n\n\n\n<p>Maintenant que le cirque est install\u00e9, on peut commencer \u00e0 aller jouer dedans. Rendez-vous via un navigateur \u00e0 l&#8217;<strong>adresse IP locale de votre Raspberry<\/strong> suivi du <strong>port HTTP de Citadel<\/strong>, par exemple <strong>192.168.1.2:4080<\/strong>.<br>Ce qui devrait vous afficher \u00e7a <em>(en cliquant sur le bouton <strong>Administration <\/strong>\u00e0 gauche)<\/em> :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"333\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-1024x333.png\" alt=\"\" class=\"wp-image-343\" srcset=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-1024x333.png 1024w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-300x98.png 300w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-768x250.png 768w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-1536x500.png 1536w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-1200x390.png 1200w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image.png 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Cherchez pas, j&#8217;ai un probl\u00e8me de proxy, \u00e7a n&#8217;affiche pas les images que vous avez.<br>La chose \u00e0 retenir, c&#8217;est <strong>comment vous rendre \u00e0 cette page<\/strong>, qui est le coeur de votre syst\u00e8me auto-h\u00e9berg\u00e9. On va y revenir tr\u00e8s souvent, ici.<\/p>\n\n\n\n<p><strong>4- Mise en place des redirections<\/strong><\/p>\n\n\n\n<p>Maintenant, nous allons nous rendre sur l&#8217;interface de gestion de nos domaines. J&#8217;ai opt\u00e9 pour OVH car, en bonne pince, il me fallait le moins cher, mais quand m\u00eame reconnu.<\/p>\n\n\n\n<p>Rendez-vous donc dans la partie Zone DNS de votre interface de gestion :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"794\" height=\"54\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-1.png\" alt=\"\" class=\"wp-image-344\" srcset=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-1.png 794w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-1-300x20.png 300w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-1-768x52.png 768w\" sizes=\"auto, (max-width: 794px) 100vw, 794px\" \/><\/figure>\n\n\n\n<p><br><em><strong>4.1 : Enregistrement MX<\/strong><\/em><\/p>\n\n\n\n<p>Dans la colonne <strong>Type<\/strong>, vous devriez d\u00e9j\u00e0 avoir deux lignes marqu\u00e9es <strong>MX<\/strong>. Cliquez sur les <strong>points de suspension<\/strong> \u00e0 droite d&#8217;une de ces lignes, puis <strong>Supprimer l&#8217;entr\u00e9e<\/strong>.<br>Ceci fait, <strong>modifiez l&#8217;entr\u00e9e<\/strong> pour la seconde ligne <em>(on s&#8217;en fout de laquelle, on va modifier de toute fa\u00e7on)<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"189\" height=\"126\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-2.png\" alt=\"\" class=\"wp-image-346\"\/><\/figure>\n\n\n\n<p><br>Laissez <strong>sous-domaine vide<\/strong>,<br>TTL <strong>par d\u00e9faut<\/strong>,<br>Priorit\u00e9 <strong>1<\/strong>,<br>et surtout <strong>Cible : mail.votredomaine.com. <\/strong><em>(n&#8217;oubliez pas le point \u00e0 la fin!<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-3.png\" alt=\"\" class=\"wp-image-347\" width=\"410\" height=\"318\" srcset=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-3.png 573w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-3-300x232.png 300w\" sizes=\"auto, (max-width: 410px) 100vw, 410px\" \/><\/figure>\n\n\n\n<p>Puis cliquez sur <strong>Suivant<\/strong>, et <strong>Valider <\/strong>dans l&#8217;\u00e9cran suivant.<\/p>\n\n\n\n<p><em><strong>4.2 : enregistrement A<\/strong><\/em><\/p>\n\n\n\n<p>L&#8217;enregistrement MX est n\u00e9cessaire \u00e0 tout fonctionnement de service mail, mais il faut maintenant d\u00e9clarer le fameux <strong>mail.votredomaine.com<\/strong>.<\/p>\n\n\n\n<p>En haut \u00e0 droite de la fen\u00eatre de gestion, cliquez sur Ajouter une entr\u00e9e.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"236\" height=\"39\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-4.png\" alt=\"\" class=\"wp-image-348\"\/><\/figure>\n\n\n\n<p>Choisissez ensuite <strong>A<\/strong> dans Champs de pointage, puis :<br>&#8211; Sous-domaine : <strong>mail.<\/strong>votredomaine.com.<br>&#8211; TTL : <strong>par d\u00e9faut<\/strong><br>&#8211; Cible : <strong>votre IP externe (fixe)<\/strong>.<\/p>\n\n\n\n<p><strong><em>4.3 : enregistrement SPF<\/em><\/strong><\/p>\n\n\n\n<p>Rep\u00e9rez dans la liste l&#8217;enregistrement de type SPF qui existe d\u00e9j\u00e0, puis modifiez-le comme suit :<br>&#8211; Sous-domaine : <strong>vide<\/strong><br>&#8211; TTL : <strong>par d\u00e9faut<\/strong><br>&#8211; Autoriser l&#8217;IP \u00e0 envoyer des emails : <strong>oui<\/strong><br>&#8211; Autoriser les serveurs MX \u00e0 envoyer des emails : <strong>oui<\/strong><br>&#8211; Autoriser tous les serveurs dont le nom se termine&#8230; : <strong>non<\/strong><br>&#8211; D&#8217;autres serveurs&#8230; : laissez tout vide, SAUF &#8220;ip4&#8221; en entrant <strong><em>ip4:votre.adresse.ip.externe<\/em><\/strong> (genre <em>ip4:1.2.3.4<\/em>)<br>&#8211; Champ Include : laissez <strong>include:mx.ovh.com<\/strong><br>&#8211; Est-ce que les informations d\u00e9crivent&#8230; : <strong>Oui, mais utiliser le safe mode<\/strong><br>Ceci fait, cliquez sur <strong>Suivant<\/strong>, puis <strong>Valider<\/strong>.<\/p>\n\n\n\n<p><strong>5- Retour \u00e0 Citadel<\/strong><\/p>\n\n\n\n<p><strong>5.1 : Administration &gt; Configuration g\u00e9n\u00e9rale du site<\/strong> :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"407\" height=\"71\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-5.png\" alt=\"\" class=\"wp-image-350\" srcset=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-5.png 407w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-5-300x52.png 300w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/figure>\n\n\n\n<p><strong>Onglet Globale :<\/strong><br>Vous pouvez choisir un paquet de trucs, notamment :<br>&#8211; Nom du noeud : pas que \u00e7a serve des masses, <strong>j&#8217;ai laiss\u00e9 par d\u00e9faut<\/strong><br>&#8211; Nom de domaine pleinement qualifi\u00e9 : <strong>votredomaine.com<\/strong> <em>(et PAS mail.votredomaine.com)<\/em><br>&#8211; Nom du noeud visible par un usager : peu importe, c&#8217;est ce qui s&#8217;affiche dans la barre du navigateur en tant que titre, j&#8217;ai choisi Nibelmail mais vous vivez votre vie \ud83d\ude42<br>&#8211; Invite du paginateur :<strong> &lt;more&gt; <\/strong><em>(laiss\u00e9 par d\u00e9faut)<\/em><br>&#8211; Localisation g\u00e9ographique du serveur : <strong>(null)<\/strong> <em>(laiss\u00e9 par d\u00e9faut)<\/em><br>&#8211; Nom de l&#8217;administrateur du syst\u00e8me : <strong>admin@votredomaine.com<\/strong> <em>(nom du compte admin, donc peut-\u00eatre robert si vous avez suivi!)<\/em><br>&#8211; <br>Vous pouvez choisir un paquet de trucs, notamment :<br>&#8211; Nom du noeud : pas que \u00e7a serve des masses, <strong>j&#8217;ai laiss\u00e9 par d\u00e9faut<\/strong><br>&#8211; Nom de domaine pleinement qualifi\u00e9 : <strong>votredomaine.com<\/strong> <em>(et PAS mail.votredomaine.com)<\/em><br>&#8211; Nom du noeud visible par un usager : peu importe, c&#8217;est ce qui s&#8217;affiche dans la barre du navigateur en tant que titre, j&#8217;ai choisi Nibelmail mais vous vivez votre vie \ud83d\ude42<br>&#8211; Invite du paginateur :<strong> &lt;more&gt; <\/strong><em>(laiss\u00e9 par d\u00e9faut)<\/em><br>&#8211; Localisation g\u00e9ographique du serveur : <strong>(null)<\/strong> <em>(laiss\u00e9 par d\u00e9faut)<\/em><br>&#8211; Nom de l&#8217;administrateur du syst\u00e8me : <strong>admin@votredomaine.com<\/strong> <em>(nom du compte admin, donc peut-\u00eatre robert si vous avez suivi!)<\/em><br>Cliquez sur <strong>Save changes<\/strong>.<\/p>\n\n\n\n<p>Onglet <strong>Acc\u00e8s<\/strong> :<br>Probablement le plus important si comme moi, <strong>vous ne voulez pas que n&#8217;importe qui se cr\u00e9e un compte sur votre serveur<\/strong>. Cochez <strong>D\u00e9sactiver le libre-service [&#8230;]<\/strong> <em>(\u00e0 ne r\u00e9activer que pour la cr\u00e9ation de vos comptes \u00e0 vous avant de d\u00e9sactiver de nouveau)<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"997\" height=\"59\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-7.png\" alt=\"\" class=\"wp-image-353\" srcset=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-7.png 997w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-7-300x18.png 300w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-7-768x45.png 768w\" sizes=\"auto, (max-width: 997px) 100vw, 997px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>5.2 : Administration &gt; Configuration des noms de domaine et du courrier \u00e9lectronique<\/strong><\/p>\n\n\n\n<p>En haut \u00e0 gauche, dans Pseudonymes de l&#8217;h\u00f4te local, ajoutez <strong>votredomaine.com<\/strong><br>Tout simplement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"140\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-8.png\" alt=\"\" class=\"wp-image-354\" srcset=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-8.png 585w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-8-300x72.png 300w\" sizes=\"auto, (max-width: 585px) 100vw, 585px\" \/><\/figure>\n\n\n\n<p><br><strong>5.3 : Administration &gt; Red\u00e9marrer<\/strong><\/p>\n\n\n\n<p><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmMAAABFCAYAAAAGouF\/AAAP0UlEQVR4Xu2dC6wU1RmA\/3sv9wJelIePNhKDUNHU9KFFrS1aE5NWY7XaR9CAoVFjfBVRgzVURIpE22KVh48qVSIRX5hWW0tj0pq0Sl9CqU2sARRjreILudzrfe19dWZ2zsyZmTOzs8vunb13vjUbcHbmPL5zdvfj\/8+cbejoah8S6zE0NOQ8+\/sHpK+vIN1d3dLZ2SmffPKJdHR0SFdnl\/T09kpfoSADA4MyODjonM8DAhCAAAQgAAEI5JlAQ0ODNDY2SlNTozS3tMi4sWPloNaD5OCDD5YJEyZIa2urjD9ovDQ3t8iYMU1in28\/1aNByVhYyPr7+6Snp9d6dktPd4\/0WiJmP21ZGxywnkODeeZO3yEAAQhAAAIQgIBHoLGhURqbmhzZGmvJmP0cN36cjBs33nqOtY43G0XMLiAiY0rKBmzhsiJgfZaUFQp90t9nPQf6najYEFExph8EIAABCEAAAhDwo1t2tMuNjo1pGiNjmpulpaVZmi0Ja7QiZk2WqKlomB4Vi8iYKlGlLO0\/7XTkG7vfkpe3\/Ut27totH+3dB3oIQAACEIAABCAAAQOBww6dLMfOnCEnzzpBPjNjmpO+VGnJsISpywORMb1MtR7ssaeekZe2\/APgEIAABCAAAQhAAAJlEDht9ikyd84FzhVxIhYbGVP1rL3\/YfnPa7vKqJZTIQCBuifwvUWy4ayj3Ga2y9b1t8iav1Sr1afItXfOk5MmWuW99YLMX\/FsqODz5cfrZsprl98pT1SrSmM5Wju819+WzYF67bacKdOt1998fqHc+rQ6sXptvGjJajlnWhwLM4DTr75NLj\/xEJH9\/5Z1ix6SF2vKicIhAIFaEzj+szNlwVWXJlYTGxl77Mln5MUtf691GykfAhAYZgKeILj17t++URbcV53od7FsS3rW75PZl3xBRC\/7q5fJWuvYRAlLUZUBePWYy\/XFyyBjVW4jMlblsaU4CIxQAqfP\/rLMvbAYIQs\/bN8yytjuN9+SlXf\/YoR2mWZDAALxBJSAtIv1Npfp04YxAlNl0TH30ResYGROO54kg1VuIzLGexECEFAEbrz+Spkx3Q6V+w\/lW0YZIyrG5IHAKCWgUpR2CuxXInOcSFU0VelLxNvy5rSjnFSeLTfrPj7JTaFZx8U6bqcjtXRaMOqmlRtIjbpstTSml5pzXwqkDT1B0gTS0Gb70sQUn9MG0VKVociY6OnbcBsNac9IGjZ0jvX6ZjnTkKbUxTDIr2QfRum0pFsQyAMBU3RM+ZZRxpbedqd8+OHePLChjxDIFQElS8XUpHjru8KpynAq04Zkn\/OUnFeUMf3hSMkef61YiKgjVgmiY6pL1eekT41pR3OqM9i\/UqnXtDIW3zefm2mNmgZCiVtsCtXvD2vGcvWWpLM5InD44YfK8lsWBXqsfMsoY1dduzhHeOgqBPJCILpGKu6L3xekYNRMj2AFold6xE0tOg8fM6UA0xzTBcZ4U4AaP1+I0q2DS7lmTNVvigAaJMvjYmi3SRbDx5CxvLwf6WceCdy\/5o5At5VvIWN5nA30OZ8EvFShFlXSUoD6XZVxa51Ky5sJrVufQbzC6cng1a4Iilr4X+rOzxrJmN6ocLrVlbGSXJzzxLt70zgBS5SVz0lLryEwugggY6NrPOkNBMomEJcOVAXp0aTqylhYqgwpuZjeOFGmd9PKmMgBpSntrS2MC\/hDa7z0tpYQKE\/S0siYG3kTtrYoe25zAQRGCgFkbKSMFO2EQE0IJAiFV58vSRXLWFIaMSkylrSnVkz0zoQpMcXnlHO07PL2VUuXpvSjd35kLsLHlKa1Ghg8z4+MBfc1C\/aENGVN3gAUCoG6IICM1cUw0AgIZETAlKJUTdHWNilJKFfGxCvfF5aIVJikylC3X1Y4vVkqTWl3qJytLZJkLEG8THWY+pGwZsy\/AzWaWkXGMnqPUC0EhoEAMjYMkKkCAvVKIHm\/q+iu+WXLmMTfTWhc0G6DcqNhU9Uu9SF4Xtq0jMiYU4RpGw2t7HSbvroXWG380+6j5YzwHaSqPC0SmJgG5m7Ken1r0C4IDCsBZGxYcVMZBOqJgB8BirvL0E\/FFaNREvMzPslRm6iQhdNxgQX7sfuTFbfR8H4VoFwZc9BX\/nNIpjYGhNEWqxcOM\/6aQEDI4vYZi2xvEdymg8hYPb13aAsEqksAGasuT0qDAAQgAAEIQAACZRFAxsrCxckQgAAEIAABCECgugRKytjQ0JBTo\/3nNdf9yPpbg\/Wf9f\/VbQelQQACEIAABCAAgdwQ8F1qSO5ddXug355vdXS1O741ODjoPodk4aJbNBVDyXIzY+goBCAAAQhAAAJVJKAcqsEKbg3JqpXLpcE+5ES\/RBbeuNTxLW8H\/v7+fhnoH5BCX0F+eHPQ3KrYKoqCAAQgAAEIQAACuSTw0xWLpamxyU4+ysDAgNy0pPjzSJ6MFQp90tvbI12dXbLs9lW5hESnIQABCEAAAhCAQK0I3Lp4obSMbbGiYg3SW+iR5XesCcpYd3e3dHd1S1tbm6xcvc55ccO61bVqD+VCAAIQgAAEIACBXBCYf\/lCp583\/OBSaW1tdf7e2dkpd93zcFDG7IMdHR2y96O9cs+DjyJjuZgedBICEIAABCAAgVoTUDJ29WVzZcIhE5z1YrZz3f\/Q40EZsw+2te2XD97\/QH65YRMyVuuRoXwIQAACEIAABHJBQMnYJfO+IxMnTbS3rpD9+\/fL+o2\/DspYe3u7tO1rk\/f2vCfrHyu+SJoyF3OETkIAAhCAAAQgUEMCSsbmX\/gtmTR5klOT7VwbnvxNUMZsQ7Nf2LNnjzzy+LPIWA0HhaIhAAEIQAACEMgPASVjF885VyZNKsrYPsu5Nm56DhnLzzSgpxCAAAQgAAEIZEUAGcuKPPVCAAIQgAAEIAABiwAyxjSAAAQgAAEIQAACGRJAxjKET9UQgAAEIAABCEAAGWMOQAACEIAABCAAgQwJIGMZwqdqCEAAAhCAAAQggIwxByAAAQhAAAIQgECGBJCxDOFTNQQgAAEIQAACEEDGmAMQgAAEIAABCEAgQwLIWIbwqRoCEIAABCAAAQggY8wBCEAAAhCAAAQgkCEBZCxD+FQNAQhAAAIQgAAEkDHmAAQgAAEIQAACEMiQADKWIXyqhgAEIAABCEAAAsgYcwACEIAABCAAAQhkSAAZyxA+VUMAAhCAAAQgAAFkjDkAAQhAAAIQgAAEMiSAjGUIn6ohAAEIQAACEIDAiJOxt1efJ3c\/+k7syE25+AlZsvDYAx7Zv133JXlqi1XM7OVy16pzQ+U9Jw+cvFR2yFT52sbfygUHXt0Bt3dEF7BzlayYt0E+rpCnPScekZ9XZdxrzdGeV698\/Z9yxTdrXRPlQwACEIDASCEw6mTMBl8NIUuSseJrp8mcl9fIqSNlpOu5nQcgY2qcqjHmtUW0U545\/yL587sixy1DxmrLmtIhAAEIjCwCI1fGjpwv1z97nRyl8faiZobXyh2W5MhYuaVxfq0IIGO1Iku5EIAABCAwXARGlYzJ766VG5a9ZLELRq3Cqc1oZMKPWjjgrdTkHFlqSFOq9KQ7PCHp8+qxrr9++gN+OtVNdQbaEUl\/htrgtsNLkWrRo+Nmi+zYYqdq7TTpFfL+PDtlakVcZp9mHbf770dfkvvu98d0bWASevVbbDfOkD84aUX74bL2XteOaQV4cquO6ewMkTFdhgMsvbE18AqkOZPHqnT5fuMT2y4aw2VPyKceLEa\/1Dwqjl+oLTq34XqnUw8EIAABCNQtgQxlrCBt25+Xp7d9IEfM+q6cfeIkaUmBKSn65X1pal\/0kS9Stw4\/rWX6UtcaoqQpIBt6Q33xS1rPNuXIqfLxu8G1bmna4J1jrN+u+xvyirN+TX8U17J9+j533VuIq1+vSRJi1sHF9t8q3OrbFKtvRTlzHynGwFuPlyRjpjnhlH2ObHPTfv4pbttFrUELX+yPVdy8cK4op+1G0fLrLbLe6a4xNM+bFNOeUyAAAQhAYBQTyEjGCrL1phPlKz\/bIQMO3Bb53M0vytYVs0oKWakF\/HZpXuRLj+ao9V3hY5pkRK+zCnNlzJQOCx\/z26aERhc9w7Gw6JkkwCSDgaiaJlTGaJMWJYzwiLnWNOE1Tkrm9LGIHlP1qjoM0qramyhjvhxG+YqkGRe7O+HzfBlLKj9F23UZ8\/hr4244xpqxUfyJStcgAAEIVEAgGxn7709k1rQlsl1vcNMZct+Hf5QrJyf3IlHG4tKGxiKLX8Kzfu\/enRm6NrhmTAyRDa3QcBpSK8sUydPTmZE7Nb1Uq1t+RMbCkSs9TeYvDE+WVlWG+VojLtMi+8RjhhscwtG1NDKmi2eCtCVH+6JjZVwTmHQjQVzbA2lKA39krIKPJS6BAAQgkC8C2cjYK4vlmBNWyu4A6+Pk5ldflduOTylj3pecnmpLXisWLtmOUJzzulnGgsJUQsbctojadkMTCJN4RY+Z0oW1lDEVPaxExpIibVabI9G3hDRwFjLm1vmOaeuSiIylaDsylq9PTHoLAQhAoAYEspEx+assOPJ0uXeP1qMZN8r2N+6QL5bopHHNmB61KBGVihSvIlEpI2NJKaZ04iUSPi8p\/Za0rqrYlxKRscQ7S4dBxrRIn2IXGcMSC\/hNNzGo\/d2iacp0fUoVGdulbggx3BBh+MeAPjei85StLWrw+UWREIAABEYFgYxkTKTwv01yxVnXyKbXe2Ty578vazavlW8fUZpp3AJ+PS1nWvvlHQvfcVnmmjF\/cbf\/5RpZL1VmZCwqBlqkrMI0pR+h0tbQRe42TScuzqikWX9nOG+qihYmraeqgozpm\/NGb+SIjlUaGYumsE1rwdLKcLQNpWc7Z0AAAhCAQB4IZCZjlcKNv5tSTymVvmtO3yQ08c66Su6mLFPGEtd3VSpjFuDSd5LWXsZODa+B0we+imlKVawj3TPLuJsyaU2aFhmLzNcDiIwVy+LXGyr9DOA6CEAAAqONwCiSMT16Y\/1d+5INS4lpt\/bAOXH7jEW2d4hZo1amjNmTKlz\/XVe\/7v5EUHgfr3QL+NVETe77MMiY1ZCAbDoSc4xs1n9OytuKwu9bmshV8WeoguvtjHfEOjCCY5W2\/JJtPzZtZCw0P5Gx0fZZSn8gAAEIVExgxMlYxT3lQghAAAIQgAAEIFCHBJCxOhwUmgQBCEAAAhCAQH4IIGP5GWt6CgEIQAACEIBAHRJAxupwUGgSBCAAAQhAAAL5IYCM5Wes6SkEIAABCEAAAnVIABmrw0GhSRCAAAQgAAEI5IcAMpafsaanEIAABCAAAQjUIQFkrA4HhSZBAAIQgAAEIJAfAshYfsaankIAAhCAAAQgUIcEkLE6HBSaBAEIQAACEIBAfgggY\/kZa3oKAQhAAAIQgEAdEiglY\/8Ho8G5Sc1RrBYAAAAASUVORK5CYII=\" alt=\"\"><\/p>\n\n\n\n<p>Comme le nom l&#8217;indique, red\u00e9marrons <em>(et re des ch\u00e2taignes)<\/em> Citadel.<\/p>\n\n\n\n<p><strong>6- R\u00e9glages box internet<\/strong><\/p>\n\n\n\n<p>Cette partie va beaucoup d\u00e9pendre de votre box internet. Si le port forwarding, aussi appel\u00e9 NAT, est disponible partout, l&#8217;option de filtrage li\u00e9e aux mails, elle, ne l&#8217;est peut-\u00eatre pas <em>(et \u00e7a peut marcher sans&#8230; Juste que, sur la mienne, non.)<\/em>.<\/p>\n\n\n\n<p><strong>6.1- Le filtrage mail<\/strong><\/p>\n\n\n\n<p>Ma box est une box SFR. Mais \u00e7a se voit assez vite. Trouvez l&#8217;option de filtrage (si elle existe&#8230;) dans <strong>R\u00e9seau v4 &gt; Filtrage<\/strong> :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"342\" height=\"289\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-9.png\" alt=\"\" class=\"wp-image-355\" srcset=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-9.png 342w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-9-300x254.png 300w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"610\" height=\"192\" src=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-10.png\" alt=\"\" class=\"wp-image-357\" srcset=\"https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-10.png 610w, https:\/\/blog.nibelheim.fr\/wp-content\/uploads\/2023\/04\/image-10-300x94.png 300w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/figure>\n\n\n\n<p>L&#8217;important ici est de <strong>d\u00e9cocher la seconde case!!<\/strong><\/p>\n\n\n\n<p><strong>6.2 : Le transfert de ports<\/strong><\/p>\n\n\n\n<p>Dans <strong>R\u00e9seau v4 &gt; NAT<\/strong>, il va falloir transf\u00e9rer les ports indiqu\u00e9s dans <strong>Citadel &gt; Administration &gt; Configuration globale &gt; SMTP<\/strong>.<br>Normalement, ces ports sont <strong>25, 587 et 465<\/strong>.<\/p>\n\n\n\n<p>Rappel : vous devez indiquer le port en question et l&#8217;IP locale de votre Raspberry Pi. Encore une fois, si vous avez des soucis avec la notion de port forwarding, je crains que vous ne soyez que moyennement concern\u00e9s par ce tuto&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ce qu&#8217;il reste \u00e0 faire<\/h2>\n\n\n\n<p>Je viens tout juste de terminer l&#8217;installation qui marche en mode nominal de mon serveur Citadel.<br>Il manque \u00e0 ce tuto :<br>&#8211; L&#8217;installation d&#8217;un antispam,<br>&#8211; La gestion  propre du SSL &#8211; pour le moment, l&#8217;acc\u00e8s ext\u00e9rieur \u00e0 Citadel fonctionne via une configuration b\u00eatement copi\u00e9e\/coll\u00e9e dans mon serveur Web, mais n&#8217;affiche pas les images : j&#8217;imagine qu&#8217;il y a un souci l\u00e0-dedans, la grande question est : lequel.<br>Je vous attache la configuration nginx dont je me sers actuellement, en esp\u00e9rant pouvoir la parfaire bient\u00f4t et la partager avec vous!<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n        listen 80;\n        listen &#91;::]:80;\n        server_name domaine.fr;\n\n        # Renvoi vers le port 443\n        location \/ {\n                return 301 https:\/\/$server_name$request_uri;\n        }\n\n}\n\nserver {\n        listen 443 ssl;\n        listen &#91;::]:443 ssl;\n        server_name domaine.fr;\n\n        # En avant pour SSL :)\n\n        ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;\n        ssl_prefer_server_ciphers on;\n        ssl_ciphers             ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS;\n        ssl_ecdh_curve          secp384r1;\n\n        ssl_session_cache       shared:SSL:4m;\n        ssl_session_timeout     1440m;\n        ssl_stapling            on;\n        ssl_stapling_verify     on;\n\n        resolver                8.8.8.8 8.8.4.4;\n\n        add_header              Strict-Transport-Security max-age=31536000;\n\n        ssl_certificate \/etc\/letsencrypt\/live\/domaine.fr\/fullchain.pem;\n        ssl_certificate_key \/etc\/letsencrypt\/live\/domaine.fr\/privkey.pem;\n        # Hop fini !\n\n    location \/webcit\/ {\n            proxy_pass         http:\/\/127.0.0.1:&lt;port http Citadel&gt;\/;\n            proxy_redirect     off;\n            proxy_set_header   Host             $host;\n            proxy_set_header   X-Real-IP        $remote_addr;\n            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;\n            client_max_body_size       10m;\n            client_body_buffer_size    128k;\n            proxy_connect_timeout      90;\n            proxy_send_timeout         90;\n            proxy_read_timeout         90;\n            proxy_buffer_size          4k;\n            proxy_buffers              4 32k;\n            proxy_busy_buffers_size    64k;\n            proxy_temp_file_write_size 64k;\n        }\n    location \/listsub\/ {\n            proxy_pass         http:\/\/127.0.0.1:&lt;port http Citadel&gt;;\n            proxy_redirect     off;\n            proxy_set_header   Host             $host;\n            proxy_set_header   X-Real-IP        $remote_addr;\n            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;\n            client_max_body_size       10m;\n            client_body_buffer_size    128k;\n            proxy_connect_timeout      90;\n            proxy_send_timeout         90;\n            proxy_read_timeout         90;\n            proxy_buffer_size          4k;\n            proxy_buffers              4 32k;\n            proxy_busy_buffers_size    64k;\n            proxy_temp_file_write_size 64k;\n        }\n        location \/groupdav\/ {\n            proxy_pass         http:\/\/127.0.0.1:&lt;port http Citadel&gt;\/;\n            proxy_redirect     off;\n            proxy_set_header   Host             $host;\n            proxy_set_header   X-Real-IP        $remote_addr;\n            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;\n            client_max_body_size       10m;\n            client_body_buffer_size    128k;\n            proxy_connect_timeout      90;\n            proxy_send_timeout         90;\n            proxy_read_timeout         90;\n            proxy_buffer_size          4k;\n            proxy_buffers              4 32k;\n            proxy_busy_buffers_size    64k;\n            proxy_temp_file_write_size 64k;\n        }\n        location \/freebusy\/ {\n            proxy_pass         http:\/\/127.0.0.1:&lt;port http Citadel&gt;\/;\n            proxy_redirect     off;\n            proxy_set_header   Host             $host;\n            proxy_set_header   X-Real-IP        $remote_addr;\n            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;\n            client_max_body_size       10m;\n            client_body_buffer_size    128k;\n            proxy_connect_timeout      90;\n            proxy_send_timeout         90;\n            proxy_read_timeout         90;\n            proxy_buffer_size          4k;\n            proxy_buffers              4 32k;\n            proxy_busy_buffers_size    64k;\n            proxy_temp_file_write_size 64k;\n        }\n}\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Au rayon &#8220;bonnes id\u00e9es pour l&#8217;exercice mais aucunement pour tout le reste&#8221;, je voudrais &#8220;h\u00e9berger son propre serveur mail&#8221;.Avant tout chose, sachez que la chose est incroyablement al\u00e9atoire, d\u00e9pend majoritairement de votre FAI ainsi que de votre box internet (oui), ainsi que des serveurs mail auxquels vous allez envoyer des [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,8],"tags":[22,25],"class_list":["post-339","post","type-post","status-publish","format-standard","hentry","category-linux","category-raspberry-pi","tag-nginx","tag-raspberry"],"_links":{"self":[{"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/posts\/339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=339"}],"version-history":[{"count":10,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/posts\/339\/revisions"}],"predecessor-version":[{"id":383,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/posts\/339\/revisions\/383"}],"wp:attachment":[{"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}