In het vorige artikel hebben we gekeken naar hoe Dovecot samenwerkt met Postfix.

Laten we nu onderzoeken hoe Dovecot wordt ingesteld en welke structuur de configuratiebestanden hebben.

🎯 Hoofdinhoud van dit artikel

  • De structuur van Dovecot-configuratiebestanden
  • De rol van het hoofdconfiguratiebestand dovecot.conf en subconfiguratiebestanden
  • Waarom configuraties in meerdere bestanden zijn verdeeld (structurele redenen)
  • De principes voor het inladen van configuratiebestanden met !include
  • De volgorde en prioriteit van de toepassing van configuratiebestanden (dit is erg belangrijk!)

📌 Structuur van Dovecot-configuratiebestanden

De configuratiebestanden van Dovecot bevinden zich in de directory /etc/dovecot/ en hebben de volgende structuur.

/etc/dovecot/
│── dovecot.conf            # Hoofdconfiguratiebestand van Dovecot
│── conf.d/                 # Directory met subconfiguratiebestanden
│   ├── 10-auth.conf        # Configuratie met betrekking tot gebruikersauthenticatie
│   ├── 10-mail.conf        # Configuratie met betrekking tot opslag van e-mail (mailbox)
│   ├── 10-master.conf      # Configuratie van serviceprocessen en poorten
│   ├── 10-ssl.conf         # Configuratie voor SSL/TLS
│   ├── 15-lda.conf         # Configuratie voor lokale e-mailaflevering (mailbox aflevering)
│   ├── 20-lmtp.conf        # Configuratie met betrekking tot het LMTP-protocol (in combinatie met Postfix)
│   ├── 90-plugin.conf      # Configuratie met betrekking tot Dovecot-plug-ins
│   ├── 90-quota.conf       # Configuratie voor e-mailopslaglimiet (Quota)
│   ├── 90-sieve.conf       # Configuratie voor Sieve e-mailfiltering
│── dovecot-sql.conf.ext    # Configuratie voor SQL-koppeling in een virtuele gebruikersomgeving (DB)
│── dovecot-dict-sql.conf.ext  # SQL-configuratie die nodig is bij gebruik van Dict zoals Quota

Overzicht van de structuur van Dovecot-configuratiebestanden

Dovecot Configuration Structure

1️⃣ dovecot.conf (Hoofdconfiguratiebestand)

dovecot.conf is het hoofdconfiguratiebestand van Dovecot, dat de algemene instellingen beheert.

Nieuwe subconfiguratiebestanden worden hier ingeladen met de !include syntax. Het is mogelijk om instellingen hier zelf te schrijven, maar de meeste subinstellingen worden beheerd in afzonderlijke bestanden in de conf.d/ directory.

# /etc/dovecot/dovecot.conf
disable_plaintext_auth = yes
ssl = required

# Subconfiguratiebestanden inladen
!include conf.d/*.conf

Belangrijk punt!

  • !include conf.d/*.confconf.d/ directory alle .conf bestanden in volgorde inlaadt.
  • Daarom is de volgorde van de toepassing van configuratiebestanden belangrijk (dit wordt later uitgelegd!).

2️⃣ conf.d/ directory (Subconfiguratiebestanden)

De subconfiguratiebestanden van Dovecot zijn gescheiden op functionaliteit, wat de logische verdeling en het onderhoud vergemakkelijkt.

📌 Essentiële configuratiebestanden (De volgende vier bestanden kunnen als essentiële subconfiguratiebestanden worden beschouwd.)

Bestandsnaam Beschrijving
10-auth.conf Instellingen met betrekking tot gebruikersauthenticatie
10-mail.conf Configuratie van mailboxpaden en e-mailopslag
10-master.conf Instellingen voor de serviceprocessen die Dovecot uitvoert (IMAP, POP3, LMTP, enz.)
10-ssl.conf Instellingen voor TLS/SSL-encryptie

🔹 Waarom zijn configuratiebestanden in meerdere bestanden verdeeld?

  •  Gemak in beheer → Door instellingen op functionaliteit te splitsen kan men alleen de benodigde delen aanpassen
  • Flexibiliteit bieden → Bepaalde instellingen kunnen eenvoudig in- of uitgeschakeld worden
  • Gemakkelijke versie-updates en onderhoud → Het is mogelijk om alleen specifieke configuratiebestanden te vervangen wanneer Dovecot wordt bijgewerkt

Doordat ze opgesplitst zijn,
is het veel eenvoudiger om alleen de benodigde functies te activeren of bepaalde instellingen aan te passen.

🔹 Het principe van toepassing van configuratiebestanden (!include syntax)

Bij het inladen van individuele configuratiebestanden in dovecot.conf, wordt de !include gebruikt om de instellingen toe te passen.

# /etc/dovecot/dovecot.conf
!include conf.d/*.conf

Waarom is de volgorde van het laden van configuratiebestanden belangrijk?

  • De configuratiebestanden binnen conf.d/ worden uitgevoerd op numerieke volgorde.
  • Dat betekent dat inhoud die is ingesteld in 10-ssl.conf kan worden overschreven in 99-custom.conf.
  • Het is belangrijk om de configuratiebestanden op prioriteit te ordenen.

Conclusie: Door de Dovecot-configuratiebestanden te begrijpen, kan men krachtigere aanpassingen maken!

  • Dovecot laadt instellingsbestanden van de conf.d/ directory via de !include syntax in dovecot.conf.
  • De instellingen binnen conf.d/ worden uitgevoerd op numerieke volgorde, dus de bestandsnamen zijn belangrijk.
  •  De instellingen zijn ontworpen om in meerdere bestanden te worden verdeeld om het beheer en onderhoud te vereenvoudigen.
  •  Om specifieke instellingen te overschrijven, kan men de bestandsnaam een groter nummer geven zodat deze later wordt uitgevoerd.

🚀 Vooruitblik op de volgende aflevering

In dit artikel hebben we de structuur en de toepassing van Dovecot-configuratiebestanden bekeken.

Maar als er te veel configuratiebestanden zijn, kan het moeilijk zijn om alles tegelijk te begrijpen.

Daarom zullen we in de volgende aflevering ons richten op de essentiële kernconfiguratiebestanden die nodig zijn voor het beheren van Dovecot.

📌 Kernconfiguratiebestanden die in de volgende aflevering worden behandeld

  • 10-auth.conf → Instellingen met betrekking tot gebruikersauthenticatie
  • 10-mail.conf → Configuratie van mailboxpaden en e-mailopslag
  • 10-master.conf → Instellingen voor de serviceprocessen die Dovecot uitvoert (IMAP, POP3, LMTP, enz.)
  • 10-ssl.conf → Instellingen voor TLS/SSL-encryptie

Zelfs als je alleen deze instellingen goed begrijpt, zul je geen problemen hebben bij het beheren van de mailserver.

Andere configuratiebestanden worden gebruikt voor het afstemmen van extra functies, dus het is efficiënter om ze stap voor stap te bestuderen nadat je bent begonnen met beheren.

In de volgende aflevering zullen we elke van deze vier essentiële configuratiebestanden analyseren en bekijken hoe de instellingen daadwerkelijk worden toegepast.

Tot de volgende keer! 🚀😊