Serving the Basics

πŸ“š Hoofdstuk 2.2: De Basisdiensten van Linux

──────────────────────────────
πŸ’‘ Introductie:
──────────────────────────────
Linux staat bekend om zijn robuuste ondersteuning voor een aantal fundamentele internetdiensten.
Deze drie basisdiensten zijn uitgegroeid tot standaarden op het internet:

β€’ Databaseservices
β€’ E-mailservices
β€’ Webservers

──────────────────────────────
🌐 Webservers:
──────────────────────────────
β€’ Apache:
Een van de populairste webservers dankzij de modulaire structuur.
Geavanceerde functies worden toegevoegd via plug-in modules.
Geschikt voor zowel eenvoudige websites als complexe webapplicaties.

β€’ nginx (Engine-X):
Lichtgewicht alternatief voor Apache met ingebouwde functies zoals:
- Webproxy
- Mailproxy
- Webcache
- Load-balancing
Voordelen: Kleinere geheugendruk dan Apache en kan meer dan 10.000 gelijktijdige netwerkverbindingen aan.

β€’ Lighttpd:
Ontworpen voor lage geheugen- en CPU-belasting.
Bevat een ingebouwde database.
Ideaal voor snelle, eenvoudige webtoepassingen.

──────────────────────────────
πŸ—„οΈ Databaseservers:
──────────────────────────────
β€’ PostgreSQL:
Relationele SQL-database met geavanceerde functies.
Volgt de ACID-richtlijnen (Atomiciteit, Consistentie, Isolatie en Duurzaamheid), wat zorgt voor betrouwbaarheid en stabiliteit.
Veelzijdig maar complex, geschikt voor grote systemen.

β€’ MySQL:
Snelle relationele database.
Bekend als de "M" in de populaire LAMP-stack (Linux, Apache, MySQL, PHP/Python/Perl).
Veel gebruikt voor websites en webapplicaties.

β€’ MongoDB:
NoSQL-database die gebruikmaakt van JSON-documenten.
Niet-relationeel, maar ondersteunt wel indexering, query’s, load balancing en zelfs JavaScript in query’s.
Geschikt voor dynamische, schaalbare toepassingen.

──────────────────────────────
πŸ“§ Mailservers:
──────────────────────────────
Een Linux-mailsysteem bestaat doorgaans uit de volgende componenten:

β€’ E-maildatabase:
Opslag van e-mailberichten.

β€’ Mail Delivery Agent (MDA):
Verantwoordelijk voor de bezorging van e-mails aan lokale gebruikers.

β€’ Mail User Agent (MUA):
Gebruikersinterface voor het lezen en beheren van e-mails.

β€’ Mail Transfer Agent (MTA):
Verzorgt het verzenden en ontvangen van e-mails tussen servers.

──────────────────────────────
βœ‰οΈ MUA (Mail User Agent):
──────────────────────────────
Wordt gebruikt door eindgebruikers om e-mails te lezen en beheren.
Voorbeelden: Evolution, KMail.
Draait op de clientzijde.

──────────────────────────────
πŸ“€ MTA (Mail Transfer Agent):
──────────────────────────────
Verantwoordelijk voor het afhandelen van inkomende en uitgaande e-mails op de server.
Voorbeelden:
- Sendmail: Zeer veelzijdig, ondersteunt virtuele domeinen, gebruikersaliassen en doorsturen van berichten.
- Postfix: Modulaire opbouw, eenvoudig te configureren met slechts twee configuratiebestanden.
- Exim: Gebaseerd op het Sendmail-model als één groot programma. Richt zich op directe bezorging van e-mails in plaats van wachtrijen.

──────────────────────────────
πŸ“₯ MDA (Mail Delivery Agent):
──────────────────────────────
Zorgt voor de uiteindelijke bezorging van e-mails aan lokale gebruikers.
Voorbeelden:
- binmail: Simpel en populair, kan berichten lezen uit /var/spool/mail of andere postbussen.
- procmail: Vaak standaard geΓ―nstalleerd op Linux-systemen, stelt gebruikers in staat om e-mails te filteren en te beheren via configuratiebestanden in hun persoonlijke bestand (procmailrc).
──────────────────────────────