Dieser Commit ist enthalten in:
milkmaker 2022-02-07 16:49:58 +00:00
Ursprung 90a09704ec
Commit 5d667a0937
8 geänderte Dateien mit 27 neuen und 27 gelöschten Zeilen

Datei anzeigen

@ -2278,7 +2278,7 @@ systemctl enable --now docker
</code></pre></div></p>
</li>
<li>
<p>Docker-Zusammenstellung</p>
<p>Docker-Compose</p>
</li>
</ul>
<div class="admonition warning">
@ -2308,9 +2308,9 @@ chmod +x /usr/local/bin/docker-compose
}
</code></pre></div>
<p>Starten Sie den Docker-Daemon neu und überprüfen Sie, ob SELinux nun aktiviert ist.</p>
<p>Dieser Schritt ist erforderlich, um sicherzustellen, dass die Mailcows-Volumes richtig gekennzeichnet sind, wie in der Compose-Datei angegeben.
<p>Dieser Schritt ist erforderlich, um sicherzustellen, dass die mailcows-Volumes richtig gekennzeichnet sind, wie in der Compose-Datei angegeben.
Wenn Sie daran interessiert sind, wie das funktioniert, können Sie sich die Readme-Datei von <a href="https://github.com/containers/container-selinux">https://github.com/containers/container-selinux</a> ansehen, die auf viele nützliche Informationen zu diesem Thema verweist.</p>
<p><strong>2.</strong> Klonen Sie den Master-Zweig des Repositorys und stellen Sie sicher, dass Ihre umask gleich 0022 ist. Bitte klonen Sie das Repository als root-Benutzer und kontrollieren Sie auch den Stack als root. Wir werden die Attribute - wenn nötig - ändern, während wir die Container automatisch boosten und sicherstellen, dass alles gesichert ist. Das update.sh-Skript muss daher ebenfalls als root ausgeführt werden. Es kann notwendig sein, den Besitz und andere Attribute von Dateien zu ändern, auf die Sie sonst keinen Zugriff haben. <strong>Wir geben die Berechtigungen für jede exponierte Anwendung</strong> auf und führen einen exponierten Dienst nicht als root aus! Wenn Sie den Docker-Daemon als Nicht-Root-Benutzer steuern, erhalten Sie keine zusätzliche Sicherheit. Der unprivilegierte Benutzer wird die Container ebenfalls als root spawnen. Das Verhalten des Stacks ist identisch.</p>
<p><strong>2.</strong> Klonen Sie den Master-Zweig des Repositorys und stellen Sie sicher, dass Ihre umask gleich 0022 ist. Bitte klonen Sie das Repository als root-Benutzer und kontrollieren Sie auch den Stack als root. Wir werden die Attribute - wenn nötig - ändern, während wir die Container automatisch bereitstellen und sicherstellen, dass alles gesichert ist. Das update.sh-Skript muss daher ebenfalls als root ausgeführt werden. Es kann notwendig sein, den Besitzer und andere Attribute von Dateien zu ändern, auf die Sie sonst keinen Zugriff haben. <strong>Wir geben die Berechtigungen für jede exponierte Anwendung</strong> auf und führen einen exponierten Dienst nicht als root aus! Wenn Sie den Docker-Daemon als Nicht-Root-Benutzer steuern, erhalten Sie keine zusätzliche Sicherheit. Der unprivilegierte Benutzer wird die Container ebenfalls als root spawnen. Das Verhalten des Stacks ist identisch.</p>
<div class="highlight"><pre><span></span><code>$ su
# umask
0022 # &lt;- Überprüfen, dass es 0022 ist
@ -2318,20 +2318,20 @@ Wenn Sie daran interessiert sind, wie das funktioniert, können Sie sich die Rea
# git clone https://github.com/mailcow/mailcow-dockerized
# cd mailcow-dockerized
</code></pre></div>
<p><strong>3.</strong> Erzeugen Sie eine Konfigurationsdatei. Verwende einen FQDN (<code>host.domain.tld</code>) als Hostname, wenn du gefragt wirst.
<p><strong>3.</strong> Erzeugen Sie eine Konfigurationsdatei. Verwenden Sie einen FQDN (<code>host.domain.tld</code>) als Hostname, wenn Sie gefragt werden.
<div class="highlight"><pre><span></span><code>./generate_config.sh
</code></pre></div></p>
<p><strong>4.</strong> Ändern Sie die Konfiguration, wenn Sie das wollen oder müssen.
<div class="highlight"><pre><span></span><code>nano mailcow.conf
</code></pre></div>
Wenn Sie planen, einen Reverse Proxy zu verwenden, können Sie zum Beispiel HTTPS an 127.0.0.1 auf Port 8443 und HTTP an 127.0.0.1 auf Port 8080 binden.</p>
<p>Möglicherweise müssen Sie einen vorinstallierten MTA stoppen, der Port 25/tcp blockiert. Siehe <a href="../../post_installation/firststeps-local_mta/">dieses Kapitel</a>, um zu erfahren, wie man Postfix rekonfiguriert, um nach einer erfolgreichen Installation neben mailcow zu laufen.</p>
<p>Möglicherweise müssen Sie einen vorinstallierten MTA stoppen, der Port 25/tcp blockiert. Siehe <a href="../../post_installation/firststeps-local_mta/">dieses Kapitel</a>, um zu erfahren, wie man Postfix rekonfiguriert, um nach einer erfolgreichen Installation neben mailcow laufen zu lassen.</p>
<p>Einige Updates modifizieren mailcow.conf und fügen neue Parameter hinzu. Es ist schwer, in der Dokumentation den Überblick zu behalten. Bitte überprüfen Sie deren Beschreibung und fragen Sie, wenn Sie unsicher sind, in den bekannten Kanälen nach Rat.</p>
<p><strong>4.1.</strong> Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack):</p>
<p><strong>Wenn Sie auf Probleme und seltsame Phänomene stoßen, überprüfen Sie bitte Ihre MTU.</strong></p>
<p>Bearbeiten Sie <code>docker-compose.yml</code> und ändern Sie die Netzwerkeinstellungen entsprechend Ihrer MTU.
Fügen Sie den neuen Parameter driver_opts wie folgt hinzu:
<div class="highlight"><pre><span></span><code>Netzwerke:
<div class="highlight"><pre><span></span><code>networks:
mailcow-network:
...
driver_opts:
@ -2340,8 +2340,8 @@ Fügen Sie den neuen Parameter driver_opts wie folgt hinzu:
</code></pre></div></p>
<p><strong>4.2.</strong> Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem:</p>
<p><strong>Einschalten von IPv6. Endlich.</strong></p>
<p>Wenn Sie kein IPv6-fähiges Netzwerk auf Ihrem Host haben und Sie sich nicht um ein besseres Internet kümmern (hehe), ist es empfehlenswert, <a href="../../post_installation/firststeps-disable_ipv6/">IPv6 zu deaktivieren</a> für das mailcow-Netzwerk, um unvorhergesehene Probleme zu vermeiden.</p>
<p><strong>5.</strong> Ziehen Sie die Images und führen Sie die Compose-Datei aus. Der Parameter <code>-d</code> wird mailcow starten: dockerized detached:
<p>Wenn Sie kein IPv6-fähiges Netzwerk auf Ihrem Host haben und Sie sich nicht um ein besseres Internet kümmern (hehe), ist es empfehlenswert, IPv6 für das mailcow-Netzwerk zu <a href="../../post_installation/firststeps-disable_ipv6/">deaktivieren</a>, um unvorhergesehene Probleme zu vermeiden.</p>
<p><strong>5.</strong> LAden Sie die Images herunter und führen Sie die Compose-Datei aus. Der Parameter <code>-d</code> wird mailcow: dockerized starten:
<div class="highlight"><pre><span></span><code>docker-compose pull
docker-compose up -d
</code></pre></div></p>
@ -2359,7 +2359,7 @@ docker-compose up -d
<small>
Letztes Update:
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-02 15:31:51</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-07 16:48:42</span>
</small>

Datei anzeigen

@ -2417,8 +2417,8 @@
<h1 id="_1">🐮 + 🐋 = 💕<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
<h2 id="hilf-dem-mailcow-projekt">Hilf dem mailcow Projekt<a class="headerlink" href="#hilf-dem-mailcow-projekt" title="Permanent link">&para;</a></h2>
<p>Bitte erwägen Sie einen Supportvertrag gegen eine geringe monatliche Gebühr unter <a href="https://www.servercow.de/mailcow?#support">Servercow</a>, um die weitere Entwicklung zu unterstützen. <em>Wir</em> unterstützen <em>Dich</em>, während <em>Du</em> <em>uns</em> unterstützt. :)</p>
<p>Wenn du super toll bist und ohne Vertrag unterstützen möchtest, kannst du eine SAL-Lizenz bekommen, die deine Tollheit bestätigt (eine flexible Einmalzahlung) bei <a href="https://www.servercow.de/mailcow#sal">Servercow</a>.</p>
<p>Bitte erwägen Sie einen Supportvertrag gegen eine geringe monatliche Gebühr unter <a href="https://www.servercow.de/mailcow?#support">Servercow</a>, um die weitere Entwicklung zu unterstützen. <em>Wir</em> unterstützen <em>Dich</em>, während <em>Sie</em> <em>uns</em> unterstützen. :)</p>
<p>Wenn Sie super toll sind und ohne Vertrag unterstützen möchten, können Sie eine SAL-Lizenz bekommen, die Ihre Tollheit bestätigt (eine flexible Einmalzahlung) bei <a href="https://www.servercow.de/mailcow#sal">Servercow</a>.</p>
<h2 id="support-erhalten">Support erhalten<a class="headerlink" href="#support-erhalten" title="Permanent link">&para;</a></h2>
<p>Es gibt zwei Möglichkeiten, Support für Ihre mailcow-Installation zu erhalten.</p>
<h3 id="kommerzieller-support">Kommerzieller Support<a class="headerlink" href="#kommerzieller-support" title="Permanent link">&para;</a></h3>
@ -2489,18 +2489,18 @@ Jeder Container repräsentiert eine einzelne Anwendung.</p>
<li><a href="https://www.rspamd.com/">Rspamd</a></li>
<li><a href="https://sogo.nu/">SOGo</a></li>
<li><a href="https://solr.apache.org/">Solr</a> (optional)</li>
<li><a href="https://unbound.net/">Ungebunden</a></li>
<li><a href="https://unbound.net/">Unbound</a></li>
<li>Ein Watchdog für die grundlegende Überwachung</li>
</ul>
<p><strong>Docker-Volumes</strong> zur Aufbewahrung dynamischer Daten - kümmern Sie sich um sie!</p>
<ul>
<li>krypt-vol-1</li>
<li>crypt-vol-1</li>
<li>mysql-socket-vol-1</li>
<li>mysql-vol-1</li>
<li>postfix-vol-1</li>
<li>redis-vol-1</li>
<li>rspamd-vol-1</li>
<li>sogo-benutzerdaten-backup-vol-1</li>
<li>sogo-userdata-backup-vol-1</li>
<li>sogo-web-vol-1</li>
<li>solr-vol-1</li>
<li>vmail-index-vol-1</li>
@ -2512,7 +2512,7 @@ Jeder Container repräsentiert eine einzelne Anwendung.</p>
<small>
Letztes Update:
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-01-30 14:28:48</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-07 16:48:42</span>
</small>

Datei anzeigen

@ -2492,7 +2492,7 @@ autoconfig IN CNAME mail.example.org. (Ihr ${MAILCOW_HOSTNAME})
@ IN MX 10 mail.example.org. (Ihr ${MAILCOW_HOSTNAME})
</code></pre></div>
<h2 id="dkim-spf-und-dmarc">DKIM, SPF und DMARC<a class="headerlink" href="#dkim-spf-und-dmarc" title="Permanent link">&para;</a></h2>
<p>Im folgenden Beispiel für eine DNS-Zonendatei wird ein einfacher <strong>SPF</strong> TXT-Eintrag verwendet, um nur DIESEM Server (dem MX) zu erlauben, E-Mails für Ihre Domäne zu senden. Jeder andere Server ist nicht zugelassen, kann es aber tun ("<code>~all</code>"). Weitere Informationen finden Sie im [SPF-Projekt] (<a href="http://www.open-spf.org/">http://www.open-spf.org/</a>).</p>
<p>Im folgenden Beispiel für eine DNS-Zonendatei wird ein einfacher <strong>SPF</strong> TXT-Eintrag verwendet, um nur DIESEM Server (dem MX) zu erlauben, E-Mails für Ihre Domäne zu senden. Jeder andere Server ist nicht zugelassen, kann es aber tun ("<code>~all</code>"). Weitere Informationen finden Sie im <a href="http://www.open-spf.org/">SPF-Projekt</a>.</p>
<div class="highlight"><pre><span></span><code># Name Typ Wert
@ IN TXT &quot;v=spf1 mx a -all&quot;
</code></pre></div>
@ -2505,7 +2505,7 @@ dkim._domainkey IN TXT &quot;v=DKIM1; k=rsa; t=s; s=email; p=...&quot;
_dmarc IN TXT &quot;v=DMARC1; p=reject; rua=mailto:mailauth-reports@example.org&quot;
</code></pre></div>
<h2 id="die-erweiterte-dns-konfiguration">Die erweiterte DNS-Konfiguration<a class="headerlink" href="#die-erweiterte-dns-konfiguration" title="Permanent link">&para;</a></h2>
<p><strong>SRV</strong>-Einträge geben den/die Server für ein bestimmtes Protokoll in Ihrer Domäne an. Wenn Sie einen Dienst explizit als nicht bereitgestellt ankündigen wollen, geben Sie "." als Zieladresse an (statt "mail.example.org."). Bitte beachten Sie [RFC 2782] (<a href="https://tools.ietf.org/html/rfc2782">https://tools.ietf.org/html/rfc2782</a>).</p>
<p><strong>SRV</strong>-Einträge geben den/die Server für ein bestimmtes Protokoll in Ihrer Domäne an. Wenn Sie einen Dienst explizit als nicht bereitgestellt ankündigen wollen, geben Sie "." als Zieladresse an (statt "mail.example.org."). Bitte beachten Sie <a href="https://tools.ietf.org/html/rfc2782">RFC 2782</a>.</p>
<div class="highlight"><pre><span></span><code># Name Typ Priorität Gewicht Port Wert
_autodiscover._tcp IN SRV 0 1 443 mail.example.org. (Ihr ${MAILCOW_HOSTNAME})
_caldavs._tcp IN SRV 0 1 443 mail.example.org. (Ihr ${MAILCOW_HOSTNAME})
@ -2535,7 +2535,7 @@ _submission._tcp IN SRV 0 1 587 mail.example.org. (Ihr ${MAILCOW_HOSTNAME})
<div class="admonition tipp">
<p class="admonition-title">Tipp</p>
</div>
<p>Es ist zu bedenken, dass wenn Sie DMARC-Statistik-Berichte an Ihren Mailcow-Server anfordern und Ihr Mailcow-Server nicht korrekt für den Empfang dieser Berichte konfiguriert ist, Sie möglicherweise keine genauen und vollständigen Ergebnisse erhalten. Bitte erwägen Sie die Verwendung einer alternativen E-Mail-Domain für den Empfang von DMARC-Berichten.</p>
<p>Es ist zu bedenken, dass wenn Sie DMARC-Statistik-Berichte an Ihren mailcow-Server anfordern und Ihr mailcow-Server nicht korrekt für den Empfang dieser Berichte konfiguriert ist, Sie möglicherweise keine genauen und vollständigen Ergebnisse erhalten. Bitte erwägen Sie die Verwendung einer alternativen E-Mail-Domain für den Empfang von DMARC-Berichten.</p>
<p>Es ist erwähnenswert, dass die folgenden Vorschläge keine umfassende Liste aller verfügbaren Dienste und Tools sind, sondern nur eine kleine Auswahl der vielen Möglichkeiten.</p>
<ul>
<li><a href="https://gmail.com/postmaster">Postmaster Tool</a></li>
@ -2580,7 +2580,7 @@ Einzelheiten:
<small>
Letztes Update:
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-01-29 18:47:33</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-07 16:48:42</span>
</small>

Datei anzeigen

@ -2497,7 +2497,7 @@
</tbody>
</table>
<p>Wir empfehlen, jede Distribution zu verwenden, die von Docker CE unterstützt wird (siehe <a href="https://docs.docker.com/install/">https://docs.docker.com/install/</a>). Wir testen auf CentOS 7, Debian 10/11 und Ubuntu 18.04/20.04.</p>
<p>ClamAV und Solr können gierig nach RAM sein. Du kannst sie in <code>mailcow.conf</code> durch die Einstellungen <code>SKIP_CLAMD=y</code> und <code>SKIP_SOLR=y</code> deaktivieren.</p>
<p>ClamAV und Solr können gierig nach RAM sein. Sie können diese in der <code>mailcow.conf</code> durch die Einstellungen <code>SKIP_CLAMD=y</code> und <code>SKIP_SOLR=y</code> deaktivieren.</p>
<p><strong>Info</strong>: Wir sind uns bewusst, dass ein reiner MTA auf 128 MiB RAM laufen kann. mailcow ist eine ausgewachsene und gebrauchsfertige Groupware mit vielen Extras, die das Leben einfacher machen. mailcow kommt mit einem Webserver, Webmailer, ActiveSync (MS), Antivirus, Antispam, Indexierung (Solr), Dokumentenscanner (Oletools), SQL (MariaDB), Cache (Redis), MDA, MTA, verschiedenen Webdiensten etc.</p>
<p>Ein einzelner SOGo-Worker <strong>kann</strong> ~350 MiB RAM belegen, bevor er geleert wird. Je mehr ActiveSync-Verbindungen Sie verwenden möchten, desto mehr RAM wird benötigt. In der Standardkonfiguration werden 20 Arbeiter erzeugt.</p>
<h4 id="beispiele-fur-die-verwendung">Beispiele für die Verwendung<a class="headerlink" href="#beispiele-fur-die-verwendung" title="Permanent link">&para;</a></h4>
@ -2544,7 +2544,7 @@ Da mailcow im Docker-Modus läuft, haben INPUT-Regeln keinen Effekt auf die Besc
<td><code>${SMTPS_PORT}</code></td>
</tr>
<tr>
<td>Postfix Einreichung</td>
<td>Postfix Submission</td>
<td align="center">TCP</td>
<td align="left">587</td>
<td align="left">postfix-mailcow</td>
@ -2670,7 +2670,7 @@ Vielleicht möchten Sie <a href="https://wiki.hetzner.de/index.php/Cloud_IP_stat
<small>
Letztes Update:
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-01-30 14:54:10</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-07 16:48:42</span>
</small>

Datei anzeigen

@ -2310,7 +2310,7 @@ chmod +x /usr/local/bin/docker-compose
<p>Restart the docker daemon and verify SELinux is now enabled.</p>
<p>This step is required to make sure mailcows volumes are properly labeled as declared in the compose file.
If you are interested in how this works, you can check out the readme of <a href="https://github.com/containers/container-selinux">https://github.com/containers/container-selinux</a> which links to a lot of useful information on that topic.</p>
<p><strong>2.</strong> Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while boostrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. <strong>We drop permissions for every exposed application</strong> and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.</p>
<p><strong>2.</strong> Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while bootstrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. <strong>We drop permissions for every exposed application</strong> and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.</p>
<div class="highlight"><pre><span></span><code>$ su
# umask
0022 # &lt;- Verify it is 0022
@ -2359,7 +2359,7 @@ docker-compose up -d
<small>
Last update:
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-02 15:31:51</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-07 16:48:42</span>
</small>

Datei anzeigen

@ -2310,7 +2310,7 @@ chmod +x /usr/local/bin/docker-compose
<p>Restart the docker daemon and verify SELinux is now enabled.</p>
<p>This step is required to make sure mailcows volumes are properly labeled as declared in the compose file.
If you are interested in how this works, you can check out the readme of <a href="https://github.com/containers/container-selinux">https://github.com/containers/container-selinux</a> which links to a lot of useful information on that topic.</p>
<p><strong>2.</strong> Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while boostrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. <strong>We drop permissions for every exposed application</strong> and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.</p>
<p><strong>2.</strong> Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while bootstrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. <strong>We drop permissions for every exposed application</strong> and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.</p>
<div class="highlight"><pre><span></span><code>$ su
# umask
0022 # &lt;- Verify it is 0022
@ -2359,7 +2359,7 @@ docker-compose up -d
<small>
Last update:
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-02 15:31:51</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-02-07 16:48:42</span>
</small>

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Binäre Datei nicht angezeigt.