Einleitung
Im vorherigen Artikel Wir haben die Installation von Abhängigkeiten, Bibliotheken usw. abgedeckt. DNS Aufzeichnungen und Software, damit es funktioniert. Im zweiten Teil des Tutorials werden wir mit der Installation und Konfiguration der Software fortfahren DNS Datensätze auf dem Server. In diesem Fall verwenden wir eine Schnellinstallation über die Anwendungscontainerisierung anstelle einer manuellen Installation. Das hat Vor- und Nachteile, also schauen Sie sich das an, bevor Sie sich entscheiden!
Die Vorteile der manuellen Einrichtung eines Mailservers:
- Flexibilität: Durch die manuelle Installation können Sie den Server vollständig nach individuellen Bedürfnissen und Anforderungen konfigurieren. Sie haben die volle Kontrolle über jeden Aspekt der Einrichtung und können bei Bedarf Änderungen vornehmen;
- Tieferes Verständnis: Bei der manuellen Installation erhalten Sie ein tieferes Verständnis für die Arbeit des Mailservers und seiner Komponenten. Dies kann bei der zukünftigen Fehlerbehebung und Verwaltung des Servers hilfreich sein.
- Kleinere Größe: Eine Installation ohne Docker kann eine kleinere Größe haben, da keine zusätzliche Verwendung erforderlich ist Docker Container und Bilder.
Die Nachteile der manuellen Einrichtung eines Mailservers:
- Komplexität der Konfiguration: Die manuelle Installation eines Mailservers kann schwierig sein und erfordert tiefergehende Kenntnisse der Systemadministration und der Arbeit mit Konfigurationsdateien;
- Skalierungsschwierigkeit: Bei manueller Installation kann es schwieriger sein, den Mailserver zu skalieren und eine große Anzahl von Benutzern oder Datenverkehr zu verwalten;
- Mehr Zeit und Ressourcen: Die manuelle Installation und Konfiguration eines Mailservers kann länger dauern und mehr Ressourcen erfordern, da Sie jeden Aspekt des Prozesses selbst verwalten müssen.
Die Wahl zwischen der manuellen Installation eines Mailservers oder über Docker hängt von Ihren spezifischen Bedürfnissen und Ihrem Erfahrungsniveau ab. Docker kann eine bequemere Lösung für eine schnelle Serverinstallation und -verwaltung sein, insbesondere wenn Sie Container skalieren und isolieren müssen. Eine manuelle Installation kann jedoch mehr Flexibilität und ein tieferes Verständnis der Funktionsweise des Servers bieten.
Voraussetzungen:
- Domainname;
- Docker CLI >= Version 20
- Docker Compose >= Version 2.0;
- Root-Rechte;
- Konfigurierter FQDN;
- Optional: SSL-Zertifikat.
Installation fortsetzen:
Nun, ein sehr wichtiger Teil! Wenn Sie es nur verwenden möchten IPv4 oder einfach keine Schnittstellen mit IPv6-Adresse haben, müssen Sie eine Reihe von PA deaktivierenrameter, sonst nginx oder das Webpart startet aufgrund eines Problems mit der Verbindung über diese Adressen nicht. Geben Sie zunächst alle IP-Adressen für den Listenmodus in unserem System an. Gehen Sie dazu in die Datei mailcow.conf und fügen Sie den BIND-Befehl hinzurameter, die bei der Ermittlung unseres Adressbereichs helfen:
nano /main/mail/mailcow-dockerized/mailcow.conf
HTTP_BIND=0.0.0.0
HTTPS_BIND=0.0.0.0
Stellen Sie den Wert in zwei Zeilen auf 0.0.0.0 ein, z nginx Server geben mithilfe von IP-Adressen an. Um die Datei zu speichern, drücken Sie die KombitastenatIon der Taste Strg + A und Strg + X zum Beenden des Texteditors. Jetzt modifizieren Docker Konfiguration für unsere Anforderungen und finden Sie die benötigte Reihe über die Pressenkombinationnation der Schaltfläche zum Suchen Strg + W und Wert eingeben enable_ipv6: wahr. Ändern Sie es in falsch wie im Bild unten:
nano docker-compose.yml
enable_ipv6: false
Mit dieser Einstellung können Sie diese Lösung verwenden, ohne eine IPv6-Schnittstelle hinzuzufügen.
Dann müssen wir Mailcow ausschalten.nat Container, gehen Sie dazu in das Verzeichnis und erstellen Sie eine Override-Datei:
nano /main/mail/mailcow-dockerized/docker-compose.override.yml
Dadurch wird eine Datei erstellt und im entsprechenden Verzeichnis für uns geöffnet. Schreiben Sie die folgende Konfiguration in die Datei:
version: '2.1'
services:
ipv6nat-mailcow:
image: bash:latest
restart: "no"
entrypoint: ["echo", "ipv6nat disabled in compose.override.yml"]
Im Protokoll dieses Containers mit dem Befehl:
docker logs -f ipv6nat-mailcow
Starten Sie das gesamte System, warten Sie, bis der gesamte Container abgerufen und erstellt wurde, und bereinigen Sie dann einen Teil der verbleibenden IPv6-Konfiguration:
cd /main/mail/mailcow-dockerized && docker compose up -d
Die Installation und die Überprüfung des gesamten Systems nehmen einige Zeit in Anspruch. Wenn der Vorgang jedoch abgeschlossen ist, müssen Sie die Datei öffnen, um die Einstellungen zu deaktivieren.
Ändern Sie die Konfigurationsdatei data/conf/unbound/unbound.conf durch Einstellen der doip6 parameter zu nicht:
nano cd /main/mail/mailcow-dockerized/data/conf/unbound/unbound.conf
Starten Sie nun den Container neu, den wir ändern:
docker compose restart unbound-mailcow
Gehen Sie zur nächsten Datei im Verzeichnis data/conf/postfix/ und Datei mit Einstellungen erstellen:
nano /main/mail/mailcow-dockerized/data/conf/postfix/extra.cf
Und geben Sie beim Speichern der benötigten Datei Folgendes ein:
smtp_address_preference = ipv4
inet_protocols = ipv4
Um neue Einstellungen anzuwenden, müssen Sie das gesamte System neu starten:
docker compose restart
Für den nächsten Schritt müssen wir alle erwähnten IPv6-Dateien in einem anderen löschen und dafür den folgenden Befehl eingeben:
sed -i '/::/d' ./data/conf/nginx/listen_*
sed -i '/::/d' ./data/conf/nginx/templates/listen*
sed -i '/::/d' ./data/conf/nginx/dynmaps.conf
sed -i 's/,\[::\]//g' ./data/conf/dovecot/dovecot.conf
sed -i 's/\[::\]://g' ./data/conf/phpfpm/php-fpm.d/pools.conf
Für die ordnungsgemäße Funktion wurden alle Systemprüfungen durchgeführt DNS aufnehmen von Linux Maschine, installieren dnsutils mit dem folgenden Befehl:
apt install dnsutils
Und stellen Sie eine Anfrage für den NS-Server, etwa so:
dig vdushu.space && dig test.vdushu.space
Standardmäßig stellt Ihnen dig verschiedene zur Verfügung DNS Informationen wie die Abfragezeit, die mit der Domain verknüpfte IP-Adresse und weitere DNS Aufzeichnungen. Für eine bestimmte Abfrage müssen Sie verwenden t Flagge wie folgt:
dig -t MX vdushu.space
Symbol @ bestimmen Sie welches DNS Der Server löst diesen Domänennamen auf:
dig vdushu.space @8.8.8.8
Die Antwort finden Sie im Abschnitt Antworten. Für eine sicherere Verbindungsaufbauumleitung im Nginx Konfiguration müssen wir in das Verzeichnis gehen Daten/conf/nginx/redirect.conf :
nano /main/mail/mailcow-dockerized/data/conf/nginx/redirect.conf
Bedeutsam! Vergessen Sie nicht die Kommentarzeile mit IPv6, für die es wichtig ist Nginx richtig funktionieren:
server {
root /web;
listen 80 default_server;
#listen [::]:80 default_server;
include /etc/nginx/conf.d/server_name.active;
if ( $request_uri ~* "%0A|%0D" ) { return 403; }
location ^~ /.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
}
location / {
return 301 https://$host$uri$is_args$args;
}
}
Dieser Code hilft dabei, den gesamten Datenverkehr umzuleiten https-Protokoll und verschlüsseln sie unabhängig von der Anfrage client!
Bußgeld! Wir installieren alle Systeme, in der nächsten Folge der Serie Anleitung Wir überlegen, wie man Anti konfiguriert spam Mail für vertrauenswürdigen E-Mail-Dienst und werde neue schreiben DNS Rekord für unsere Server!
Zusammenfassung
Der zweite Teil des Tutorials konzentrierte sich auf die Installation und Konfiguration des Mailservers mithilfe der Anwendungscontainerisierung anstelle einer manuellen Installation. Dabei wurden die Vorteile der manuellen Installation hervorgehoben, wie z. B. Flexibilität bei der Konfiguration, ein tieferes Verständnis der Serverkomponenten und eine potenziell geringere Größe. Allerdings wurden auch die Nachteile erwähnt, darunter die Komplexität der Konfiguration, die Schwierigkeit bei der Skalierung sowie der erhöhte Zeit- und Ressourcenbedarf.