b1gMailServer:Vollständige Installation unter Ubuntu Server

Aus b1gMail Wiki
Wechseln zu: Navigation, Suche

Die folgende Seite beschreibt, wie man b1gMailServer und b1gMail auf empfohlene Art und Weise auf einem dedizierten Ubuntu-Server installiert. Im Beispiel wird Ubuntu Server 16.04 in Minimalvariante verwendet auf einer Hetzner-Cloud-Instanz.

Schritt 1: Domain/DNS vorbereiten

Falls noch nicht geschehen, muss die Domain vorbereitet werden. Es handelt sich hier nur um Empfehlungen.

  1. Domain so konfigurieren, dass A-Records für domain.xy., mail.domain.xy. und www.domain.xy. auf den Server zeigen.
  2. MX-Record anlegen, falls noch nicht vorhanden: domain.xy. IN MX 10 mail.domain.xy.
  3. Reverse-DNS des Servers beim Server-Provider einstellen auf mail.domain.xy

Schritt 2: Server vorbereiten

Im Folgenden werden benötigte Pakete auf dem Server installiert.

  1. Deutsches locale aktivieren:
    1. Datei /etc/locale.gen mit einem Texteditor öffnen
    2. Zeilen
      # de_DE ISO-8859-1
      # de_DE.UTF-8 UTF-8
      suchen und das Kommentarzeichen # entfernen
    3. Locales neu generieren:
      $ locale-gen
  2. Apache, PHP, MySQL, xinetd und Tools installieren:
    $ apt-get update
    $ apt-get install apache2 libapache2-mod-php php-mysqli php-gd php-xml \
          php-intl php-sqlite3 php-pdo-sqlite php-opcache php-mbstring \
          php-iconv php-cli mysql-server xinetd zip unzip
    Auf Anfrage ein Root-Passwort für MySQL vergeben und merken (wird später benötigt).
  3. Sicherstellen, dass Dienste automatisch starten:
    $ systemctl enable xinetd
    $ systemctl enable apache2
    $ systemctl enable mysql
  4. Apache einmalig neu starten um sicherzustellen, dass alle PHP-Module geladen sind:
    $ systemctl restart apache2

Zwischen-Check: Auf http://(server-ip)/ sollte man nun die Ubuntu Default Page sehen können.

Schritt 3: MySQL vorbereiten

Im Folgenden werden Nutzer und Datenbank für b1gMail angelegt.

  1. MySQL-Konsole aufrufen:
    $ mysql -uroot -p
    Auf Anfrage das MySQL-Root-Passwort eingeben.
  2. b1gMail-Datenbank erstellen:
    CREATE DATABASE b1gmail;
  3. b1gMail-User anlegen und Rechte zuteilen:
    GRANT ALL ON b1gmail.* TO b1gmail@localhost IDENTIFIED BY 'password';
    Dabei password durch ein selbst gewähltes Passwort (z.B. zufällig generiert) ersetzen und das Passwort merken.
  4. Rechte anwenden und MySQL-Konsole beenden:
    FLUSH PRIVILEGES;
    quit;

Schritt 4: b1gMail installieren

Im Folgenden wird das b1gMail-Web-Interface installiert.

  1. Apache-Default-Seite entfernen:
    $ rm /var/www/html/index.html
  2. b1gMail herunterladen, entpacken und den Inhalt des upload-Ordners den Server nach /var/www/html/ kopieren.
  3. Rechte setzen:
    $ chown -R www-data:www-data /var/www/html/*
  4. Im Web-Browser http://(server-ip)/ bzw. http://(server-domain)/ aufrufen. Man sollte nun den b1gMail-Installationsassistenten sehen. Den Anweisungen folgen, dabei folgendes beachten:
    • MySQL-Login: Server localhost, User b1gmail, Datenbank b1gmail, Passwort wie im GRANT ALL ...-Befehl oben festgelegt)
    • Empfangs-Methode: b1gMailServer oder Pipe-/Transportmap-Gateway
    • Versand-Methode: SMTP, SMTP-Server: localhost
    Nach fertiggestellter Installation sollte man b1gMail und den Admin-Bereich aufrufen können.
  5. setup-Ordner entfernen:
    $ rm -r /var/www/html/setup/

Schritt 5: b1gMailServer Admin-Plugin installieren

  1. b1gMailServer im Kundencenter herunterladen (i.d.R. Linux, x86_64) und entpacken.
  2. In den b1gMail-Adminbereich einloggen.
  3. Nach Plugins - Plugins wechseln und Tab Installieren auswählen.
  4. b1gMailServer-Admin-Plugin (.bmplugin-Datei aus heruntergeladenem b1gMailServer-ZIP-Archiv) auswählen und Installieren klicken, dann mit Installieren bestätigen.

Zwischen-Check: Menüpunkt Plugins - b1gMailServer sollte nun sichtbar sein.

Schritt 6: b1gMailServer installieren

  1. .run-Datei aus entpacktem b1gMailServer-ZIP-Archiv auf den Server kopieren, z.B. nach /root.
  2. Datei ausführbar machen und starten:
    $ chmod +x /root/b1gmailserver-*.run
    $ /root/b1gmailserver-*.run
  3. Sprachauswahl mit Enter-Taste quittieren.
  4. Nun sieht man eine Meldung mit HTTP-Adresse zum Setup sowie Logininformationen. Die angegeben HTTP-Adresse aufrufen und mit den Zugangsdaten legitimieren.
  5. Setup-Anweisungen folgen:
    1. Lizenz akzeptieren, Weiter.
    2. Lizenz-Key aus Kundencenter eingeben, Weiter.
    3. Häkchen bei allen Komponenten gesetzt lassen und Standard-Einstellungen für Interface und Port belassen. Verfügbar-Spalte sollte nur grüne Häkchen enthalten. Weiter.
    4. MySQL-Login eingeben: Server localhost, User b1gmail, Datenbank b1gmail, Passwort wie bei b1gMail-Setup, Socket-Pfad leeer lassen. Weiter.
    5. Benutzer-Name und Gruppe sollte automatisch erkannt worden sein (jeweils www-data). Weiter.
    6. Zusammenfassung mit Installieren bestätigen.
  6. Nach erfolgter Installation xinetd neu starten:
    $ systemctl restart xinetd

Zwischen-Check: Im Adminbereich unter Plugins - b1gMailServer sollte nun ein grünes Häkchen beim Warteschleifen-Dienst stehen sowie der Lizenz-Status Gültig sein.

Schritt 7: Empfohlene Einstellungen

  • Einstellungen - Allgemein: Hostname prüfen und ggf. korrigieren. Der hier angegebene Hostname sollte dringend dem Reverse-DNS-Hostnamen des Servers entsprechen und eindeutig zurück auf die Server-IP auflösen. In unserem Beispiel wäre das mail.domain.xy. Nach Änderung den Warteschleifendienst neu starten:
    $ /etc/init.d/bms-queue restart
  • Benutzer & Gruppen - Gruppen: Standard-Gruppe editieren und POP3, IMAP und SMTP nach Belieben aktivieren
  • Einstellungen - Toolbox: Toolbox-Version erstellen und freigeben. (Falls gewünscht.)
  • Plugins - b1gMailServer - SMTP - Verbindungs-Verzögerung: 1 Sekunde.
  • Plugins - b1gMailServer - SMTP - DNSBL-Regeln: Neuen Eintrag ix.dnsbl.manitu.net anlegen, Klassifizierung Dial-Up-Host, Typ IPv4 - damit wird man schon einen Großteil an eingehendem Spam los.

Kurz-Test

  • Mails von außen (z.B. Google Mail) an b1gMail-Accounts sollten eingehen.
  • Mails von innen nach innen (b1gMail-Account an b1gMail-Account) sollten korrekt versendet werden und eingehen.
  • Mails von innen nach außen (b1gMail-Account an z.B. Google Mail) sollten korrekt versendet werden und eingehen.
  • Falls in den Gruppeneinstellungen erlaubt, sollten IMAP/POP3/SMTP mit externem Mail-Client funktionieren.

Weiterführendes (optional)

  • Anleitung zur optionalen Aktivierung des TLS-Supports zum verschlüsseltem Zugriff per POP3/IMAP/SMTP
  • Anleitung zur optionalen Aktivierung von DNSSEC/DANE
  • Anleitung zur optionalen Einrichtung von Autodiscover und Autoconfig zur vereinfachten Einrichtung von E-Mail-Accounts in Clients wie Outlook und Thunderbird
  • Anleitung zur optionalen Integration von OpenDKIM zwecks Aktivierung von DKIM-Support
  • Anleitung zur optionalen Integration von Anti-Virus-Software: BitDefender Security for Mail Servers