{"id":917,"date":"2015-02-09T12:00:24","date_gmt":"2015-02-09T10:00:24","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=917"},"modified":"2016-09-10T21:38:58","modified_gmt":"2016-09-10T19:38:58","slug":"der-eigene-mailserver-teil-4","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/der-eigene-mailserver-teil-4\/","title":{"rendered":"Der eigene Mailserver &#8211; Teil 4"},"content":{"rendered":"<p>Herzlich willkommen zum vierten und letzten Teil dieser Artikelreihe. An dieser Stelle haben wir bereits einen voll funktionsf\u00e4higen und sicher konfigurierten E-Mail Server. E-Mailkonten k\u00f6nnen im MUA unserer Wahl eingerichtet und genutzt werden. Auf dem Server selbst k\u00f6nnen mit Leichtigkeit neue Benutzer, Mailboxen und Aliase angelegt werden. Was bleibt also noch zu tun?<\/p>\n<p>Dieser Artikel beschreibt wie man das System noch weiter h\u00e4rten kann. Es wird gezeigt, wie der Webmailer RoundCube eingerichtet wird und wie man den Zugriff auf diesen absichert. Der Artikel endet mit einem kleinen Ausblick, um welche Features der Server noch erweitert werden k\u00f6nnte.<\/p>\n<p>Und los geht&#8217;s!<\/p>\n<h2 id=\"dns_based_blackhole_list_dnsbl\">DNS-based Blackhole List (DNSBL)<\/h2>\n<p>DNS-based Blackhole Lists oder kurz <a href=\"https:\/\/de.wikipedia.org\/wiki\/DNS-based_Blackhole_List\" title=\"Wikipedia: DNS-based Blackhole List\" target=\"_blank\">DNSBL<\/a> sind Listen, welche von IP-Adressen oder Adressbereiche enthalten, von denen aus Spam versendet wurde.<\/p>\n<p>SpamAssassin, welches in Teil 3 eingerichtet wurde, pr\u00fcft bereits etliche dieser Listen und markiert eingehende E-Mails entsprechend. Dieser Artikel geht noch einen schritt weiter und beschreibt wie Postfix so konfiguriert werden kann, dass E-Mails auf Basis dieser Listen abgewiesen werden. Dazu wird in Postfix die Funktion Postscreen[1. <a href=\"http:\/\/www.postfix.org\/POSTSCREEN_README.html\" title=\"Postfix Postscreen Howto\" target=\"_blank\">Postfix Postscreen Howto<\/a>] aktiviert.<\/p>\n<p>Um Postscreen zu aktivieren, muss die Datei <em>\/etc\/postfix\/master.cf<\/em> bearbeitet werden. Zu Beginn der Datei sollten folgende Eintr\u00e4ge zu finden sein:<\/p>\n<pre>\r\n# ==========================================================================\r\n# service type  private unpriv  chroot  wakeup  maxproc command + args\r\n#               (yes)   (yes)   (yes)   (never) (100)\r\n# ==========================================================================\r\nsmtp      inet  n       -       -       -       -       smtpd\r\n#smtp      inet  n       -       -       -       1       postscreen\r\n#smtpd     pass  -       -       -       -       -       smtpd\r\n#dnsblog   unix  -       -       -       -       0       dnsblog\r\n#tlsproxy  unix  -       -       -       -       0       tlsproxy\r\nsubmission inet n       -       -       -       -       smtpd\r\n<\/pre>\n<p>Hier ist die erste Zeile aus- und die folgenden vier einzukommentieren, so dass die Zeilen anschlie\u00dfend wie folgt aussehen:<\/p>\n<pre>\r\n# ==========================================================================\r\n# service type  private unpriv  chroot  wakeup  maxproc command + args\r\n#               (yes)   (yes)   (yes)   (never) (100)\r\n# ==========================================================================\r\n#smtp      inet  n       -       -       -       -       smtpd\r\nsmtp      inet  n       -       -       -       1       postscreen\r\nsmtpd     pass  -       -       -       -       -       smtpd\r\ndnsblog   unix  -       -       -       -       0       dnsblog\r\ntlsproxy  unix  -       -       -       -       0       tlsproxy\r\nsubmission inet n       -       -       -       -       smtpd\r\n<\/pre>\n<p>Falls diese Zeilen fehlen sollten, m\u00fcssen sie am Anfang der <em>master.cf<\/em> eingef\u00fcgt werden. Durch diese Zeilen werden die ben\u00f6tigten lokalen Ports und Unix Sockets, f\u00fcr den Postscreen Prozess, ge\u00f6ffnet.<\/p>\n<p>Nach dieser \u00c4nderung ist die Datei <em>\/etc\/postfix\/main.cf<\/em> am Ende um folgende Eintr\u00e4ge zu erg\u00e4nzen. Hier wird Postfix mitgeteilt, dass Postscreen zu nutzen ist und welche DNSBLs verwendet werden sollen.<\/p>\n<pre>\r\npostscreen_greet_action = enforce\r\npostscreen_dnsbl_action = enforce\r\npostscreen_access_list = permit_mynetworks\r\npostscreen_dnsbl_sites = zen.spamhaus.org, b.barracudacentral.org, bl.spamcop.net\r\n<\/pre>\n<p>Die erste Zeile bewirkt, dass alle Server abgewiesen werden, die versuchen den Verbindungsaufbau in irgendeiner Form abzuk\u00fcrzen (um schneller Spam versenden zuk\u00f6nnen). In Zeile 2 wird die Pr\u00fcfung anhand von DNSBLs aktiviert. Zeile 3 f\u00fcgt den Inhalt der Variable &#8222;mynetworks&#8220; hinzu, um LAN Clients von der Pr\u00fcfung auszuschlie\u00dfen. In der vierten Zeile werden schlie\u00dflich drei DNSBLs angegeben, welche zur Pr\u00fcfung herangezogen werden.<\/p>\n<p>Es k\u00f6nnen nat\u00fcrlich auch mehr, als drei DNSBLS angegeben werden. Dar\u00fcber hinaus bietet Postscreen noch eine Reihe weiterer Konfigurationsparameter. F\u00fcr weitere Informationen zu diesen Parametern wird auf die Dokumentation verwiesen.[2. <a href=\"http:\/\/www.postfix.org\/postconf.5.html#postscreen_dnsbl_sites\" title=\"Postfix - Postscreen DNSBL Konfigurationsoptionen\" target=\"_blank\">Postfix &#8211; Postscreen DNSBL Konfigurationsoptionen<\/a>]<\/p>\n<p>Jetzt kann Postfix mit dem Befehl<\/p>\n<pre>\r\nsudo service postfix restart\r\n<\/pre>\n<p>neugestartet werden und schon ist die neue Konfiguration aktiv. Wer sehen m\u00f6chte wie Postscreen arbeitet, kann sich selbst eine E-Mail senden und das Log <em>\/var\/log\/mail.log<\/em> studieren.<\/p>\n<h2 id=\"webmail_mit_allem_was_dazugehoert\">Webmail mit allem was dazugeh\u00f6rt<\/h2>\n<p>Wenn es um Webmail geht, ist zuerst die Entscheidung zu f\u00e4llen wo Webmail gehosted werden soll und welche Anwendung man daf\u00fcr verwenden m\u00f6chte. F\u00fcr gro\u00dfe Umgebungen ist man gut beraten Webmail auf einem separaten Server zu installieren. F\u00fcr die eingene kleine Umgebung kann man Webmail jedoch auch mit auf dem E-Mailserver installieren, wenn der eigene Server \u00fcber gen\u00fcgend RAM und CPU Leistung verf\u00fcgt.<\/p>\n<p>Die im Folgenden beschriebene Webmail-Konfiguration setzt sich im wesentlichen aus diesen Anwendungen zusammen:<\/p>\n<ul>\n<li><a href=\"http:\/\/wiki.ubuntuusers.de\/Nginx\" title=\"Ubuntuusers Wiki: nginx\" target=\"_blank\">Nginx<\/a> als Webserver<\/li>\n<li><a href=\"http:\/\/php-fpm.org\/\" title=\"PHP-FPM - A simple and robust FastCGI Process Manager for PHP\" target=\"_blank\">PHP-FPM<\/a> f\u00fcr die PHP-Unterst\u00fctzung<\/li>\n<li><a href=\"http:\/\/wiki.ubuntuusers.de\/MySQL\" title=\"Ubuntuusers Wiki: MySQL\" target=\"_blank\">MySQL<\/a> f\u00fcr die SQL-Datenbank<\/li>\n<li><a href=\"http:\/\/de.wikipedia.org\/wiki\/Roundcube\" title=\"Wikipedia: Roundcube\" target=\"_blank\">RoundCube<\/a> als Webmail-Anwendung<\/li>\n<\/ul>\n<p>Jede der genannten Anwendungen ist so umfangreich, dass man ihnen einen eigenen Artikel oder gar eine eigene Artikelreihe widmen kann. Dieser Artikel beschr\u00e4nkt sich daher darauf, eine m\u00f6glichst sichere Webmail-Konfiguration zu erstellen.<\/p>\n<p>Wo m\u00f6glich verwende ich die Version einer Anwendung, welche \u00fcber die Paketquellen zur Vergf\u00fcgung gestellt wird. Da PHP-FPM nicht in den Paketquellen f\u00fcr Ubuntu 14.04.1 enthalten ist, greife ich hierbei auf ein <a href=\"http:\/\/wiki.ubuntuusers.de\/Paketquellen_freischalten\/PPA\" title=\"Ubuntuusers Wiki: PPA\" target=\"_blank\">PPA<\/a> zur\u00fcck.<\/p>\n<p>Als erstes werden Nginx und MySQL aus den Paketquellen installiert.<\/p>\n<pre>\r\nsudo apt-get install nginx-full mysql-server\r\n<\/pre>\n<p>Zusammen mit den Paketen werden alle ben\u00f6tigten Abh\u00e4ngigkeiten installiert. Nach einigen Minuten wird man aufgefordert ein Passwort f\u00fcr den MySQL-Benutzer &#8222;root&#8220; zu vergeben. F\u00fcr diesen Benutzer sollte ein m\u00f6glichst langes und komplexes Passwort vergeben werden.<\/p>\n<p>PHP-FPM ist in Trusty noch nicht in den Paketquellen enthalten. Daher wird zuerst ein PPA zur Paketverwaltung hinzugef\u00fcgt.<\/p>\n<pre>\r\nadd-apt-repository ppa:ondrej\/php5\r\napt-get update\r\napt-get install php5-fpm php5-mysqlnd php-pear php5-mcrypt php5-intl\r\n<\/pre>\n<p>Fall man beim Hinzuf\u00fcgen des PPA die folgende Fehlermeldung erh\u00e4lt, fehlt noch ein Paket, welches wie folgt nachinstalliert werden kann. Anschlie\u00dfend kann das PPA wie oben beschrieben hinzugef\u00fcgt werden.<\/p>\n<pre>\r\n:~$ sudo add-apt-repository ppa:ondrej\/php5\r\nsudo: add-apt-repository: command not found\r\n:~$ sudo apt-get install software-properties-common\r\nPaketlisten werden gelesen... Fertig\r\nAbh\u00e4ngigkeitsbaum wird aufgebaut.       \r\nStatusinformationen werden eingelesen.... Fertig\r\nDie folgenden zus\u00e4tzlichen Pakete werden installiert:\r\n  gir1.2-glib-2.0 libcurl3-gnutls libdbus-glib-1-2 libgirepository-1.0-1\r\n  librtmp0 python3-dbus python3-gi python3-pycurl python3-software-properties\r\nVorgeschlagene Pakete:\r\n  python-dbus-doc python3-dbus-dbg libcurl4-gnutls-dev python3-pycurl-dbg\r\nDie folgenden NEUEN Pakete werden installiert:\r\n  gir1.2-glib-2.0 libcurl3-gnutls libdbus-glib-1-2 libgirepository-1.0-1\r\n  librtmp0 python3-dbus python3-gi python3-pycurl python3-software-properties\r\n  software-properties-common\r\n0 aktualisiert, 10 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.\r\nEs m\u00fcssen 818 kB an Archiven heruntergeladen werden.\r\nNach dieser Operation werden 3.451 kB Plattenplatz zus\u00e4tzlich benutzt.\r\nM\u00f6chten Sie fortfahren? [J\/n] J\r\n<\/pre>\n<p>Im Anschluss an die Installation wird der PHP Interpreter konfiguriert. Dazu geh\u00f6rt, dass PHP-FPM statt \u00fcber TCP Sockets \u00fcber UNIX Sockets kommuniziert. Dazu wird in der Datei <em>\/etc\/php5\/fpm\/pool.d\/www.conf<\/em> folgende Zeile einkommentiert, bzw. hinzugef\u00fcgt, falls sie fehlt.<\/p>\n<pre>\r\nlisten = \/var\/run\/php5-fpm.sock\r\n<\/pre>\n<p>Anschlie\u00dfend werden die Zugriffsrechte f\u00fcr den Socket korrekt gesetzt.<\/p>\n<pre>\r\nlisten.owner = www-data\r\nlisten.group = www-data\r\n<\/pre>\n<p>Hier kann noch eine Menge mehr konfiguriert werden. Zum Beispiel kann PHP-FPM zur Nutzung von <code>memcached<\/code> konfiguriert werden, welches die Auslieferung von PHP-Anwendungen beschleunigt. Dies w\u00fcrde jedoch den Umfang dieser Artikelreihe sprengen. Steht gen\u00fcgend RAM zur Verf\u00fcgung, sei auf die Dokumentation zu PHP-FPM verwiesen, um <code>memcached<\/code> einzurichten.<\/p>\n<p>Wie nach allen \u00c4nderungen an Konfigurationsdateien, ist auch hier der betroffene Dienst neu zu starten.<\/p>\n<pre>\r\nservice php5-fpm restart\r\n<\/pre>\n<p>Nun geht es wieder um Nginx. Als erstes wird die Hauptkonfigurationsdatei <em>\/etc\/nginx\/nginx.conf<\/em> bearbeitet. Sie sollte anschlie\u00dfend wie folgt aussehen:<\/p>\n<pre>\r\nuser www-data;\r\nworker_processes 2;\r\npid \/run\/nginx.pid;\r\n\r\nevents {\r\n\tworker_connections 1024;\r\n\tmulti_accept on;\r\n}\r\n\r\nhttp {\r\n\tsendfile on;\r\n\ttcp_nopush on;\r\n\ttcp_nodelay on;\r\n\tkeepalive_timeout 10 10;\r\n\ttypes_hash_max_size 2048;\r\n\tserver_tokens off;\r\n\tport_in_redirect off;\r\n\tclient_max_body_size 4096k;\r\n\tclient_body_timeout 10;\r\n\tclient_header_timeout 10;\r\n\tsend_timeout 10;\r\n\r\n\tinclude \/etc\/nginx\/mime.types;\r\n\tdefault_type application\/octet-stream;\r\n\r\n\taccess_log \/var\/log\/nginx\/access.log;\r\n\terror_log \/var\/log\/nginx\/error.log;\r\n\r\n\t# Gzip Settings\r\n\tgzip on;\r\n\tgzip_disable \"msie6\";\r\n\tgzip_min_length 1100;\r\n\tgzip_vary on;\r\n\tgzip_proxied any;\r\n\tgzip_buffers 16 8k;\r\n\tgzip_types text\/plain text\/css application\/json application\/x-javascript text\/xml application\/xml application\/rss+xml text\/javascript image\/svg+xml application\/x-font-ttf font\/opentype application\/ vnd.ms-fontobject;\r\n\r\n\t# Sitewide SSL settings\r\n\tssl_session_cache shared:SSL:10m;\r\n\tssl_buffer_size 4k;\r\n\r\n\t# Sitewide proxy settings\r\n\tset_real_ip_from 127.0.0.1;\r\n\treal_ip_header X-Forwarded-For;\r\n\r\n\t# Virtual Host Configs\r\n\tinclude \/etc\/nginx\/conf.d\/*.conf;\r\n\tinclude \/etc\/nginx\/sites-enabled\/*;\r\n}\r\n<\/pre>\n<p>Der Wert von <code>worker_processes<\/code> ist auf die Anzahl der physikalisch vorhandenen CPU Cores zu setzen.<\/p>\n<p>Als n\u00e4chstes wird die Datei <em>\/etc\/nginx\/conf.d\/php5-fpm.conf<\/em> mit folgendem Inhalt erstellt.<\/p>\n<pre>\r\nupstream php5-fpm-sock {\r\n\tserver unix:\/var\/run\/php5-fpm.sock;\r\n}\r\n<\/pre>\n<p>Damit wird eine Variable namens &#8222;php5-fpm-sock&#8220; erstellt, welche auf den Unix Socket verweist.<\/p>\n<p>Nun wird die Datei <em>\/etc\/nginx\/sites-available\/roundcube<\/em> erstellt und mit folgendem Inhalt bef\u00fcllt.<\/p>\n<pre>\r\nserver {\r\n\tserver_name www.domainname.tld;\r\n        listen 80;\r\n\treturn 301 https:\/\/mail.domainname.tld$request_uri;\r\n}\r\n\r\nserver {\r\n\tserver_name mail.domainname.tld;\r\n        listen 80;\r\n\treturn 301 https:\/\/$host$request_uri;\r\n}\r\n\r\n# HTTPS server\r\nserver {\r\n\tlisten 443 ssl spdy default_server;\r\n\tserver_name mail.domainname.tld;\r\n\troot \/usr\/share\/nginx\/roundcube;\r\n\tindex index.html index.php;\r\n\tautoindex off;\r\n\r\n\tssl on;\r\n\tssl_certificate \/etc\/ssl\/private\/ssl-chain-mail-domainname.pem;\r\n\tssl_certificate_key \/etc\/ssl\/private\/domainname-private-ssl.key;\r\n\tssl_protocols TLSv1.2 TLSv1.1 TLSv1;\r\n\tssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!AECDH:!MD5:!DSS;\r\n\tssl_prefer_server_ciphers on;\r\n\tssl_ecdh_curve secp521r1;\r\n\r\n\t# Client auth via certs\r\n#\tssl_client_certificate \/etc\/ssl\/private\/yourdomain.crt;\r\n#\tssl_trusted_certificate \/etc\/ssl\/private\/yourdomain.crt;\r\n#\tssl_verify_client on;\r\n\r\n\tlocation \/ {\r\n#\t\tif ($ssl_client_s_dn !~* \"you@yourdomain.com\") {\r\n#\t\t\treturn 301 http:\/\/www.jurassicsystems.com\/;\r\n#\t\t}\r\n#\t\terror_page 403 @fallback;\r\n\t}\r\n\r\n\tlocation ~ ^\/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {\r\n\t\tdeny all;\r\n\t}\r\n\r\n\tlocation ~ ^\/(bin|SQL)\/ {\r\n\t\tdeny all;\r\n\t}\r\n\r\n\tlocation ~ ^\/.*\\.php {\r\n\t\ttry_files $uri =404;\r\n\t\tinclude fastcgi_params;\r\n\t\tfastcgi_pass php5-fpm-sock;\r\n\t\tfastcgi_param HTTPS on;\r\n\t\tfastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\r\n\t\tfastcgi_intercept_errors on;\r\n\t}\r\n\r\n\tlocation @fallback {\r\n\t\treturn 301 http:\/\/www.domainname.tld\/;\r\n\t}\r\n}\r\n<\/pre>\n<p>Ist die Datei erstellt wird ein symbolischer Link im Verzeichnis <em>\/etc\/nginx\/sites-enabled<\/em> erstellt und der Link auf die Standardseite gel\u00f6scht.<\/p>\n<pre>\r\nln -s \/etc\/nginx\/sites-available\/roundcube \/etc\/nginx\/sites-enabled\/roundcube\r\nrm \/etc\/nginx\/sites-enabled\/default\r\n<\/pre>\n<p>Anschlie\u00dfend ben\u00f6tigt Nginx einen Neustart.<\/p>\n<p>Sind Webserver und Interpreter funktionsf\u00e4hig, wird es Zeit sich um die MySQL Datenbank zu k\u00fcmmern.<\/p>\n<h3 id=\"erstellung_der_datenbank\">Erstellung der Datenbank<\/h3>\n<p>Zum Gl\u00fcck gibt es hier nicht viel zu tun. Der MySQL Server ist in der Standardkonfiguration bereits recht sicher konfiguriert. Mit dem hier beschriebenen Setup wird der MySQL Server nicht aus dem Internet erreichbar sein und diesen Umstand sollte man nicht \u00e4ndern.<\/p>\n<p>Als Erstes startet man das SQL Interfaces und verbindet sich mit dem root-Benutzer.<\/p>\n<pre>\r\nmysql -u root -p\r\n<\/pre>\n<p>Mit den folgenden Kommandos wird nun eine Datenbank f\u00fcr roundcube angelegt und ein Benutzer mit Zugriffsrechten auf diese Datenbank erstellt.<\/p>\n<pre>\r\ncreate database roundcubedb;\r\ngrant all on roundcubedb.* to 'roundcubedb'@'localhost' identified by 'enter-a-password-here';\r\nexit\r\n<\/pre>\n<p>Fertig. Webserver, PHP Interpreter und Datenbankserver inkl. Benutzer sind einsatzbereit. Jetzt fehlt nur noch die eigentliche Webmail Anwendung.<\/p>\n<h3 id=\"installation_von_roundcube\">Installation von Roundcube<\/h3>\n<p>Die Webmail Anwendung wird direkt von der <a href=\"http:\/\/roundcube.net\/download\/\" title=\"Download your version of Roundcube\" target=\"_blank\">Roundcube Download Seite<\/a> heruntergeladen. Auf dem Server k\u00f6nnen wir den Download direkt auf der Kommandozeile starten.<\/p>\n<pre>\r\nhttp:\/\/downloads.sourceforge.net\/project\/roundcubemail\/roundcubemail\/1.0.4\/roundcubemail-1.0.4.tar.gz\r\ntar -xzvf roundcubemail-1.0.4.tar.gz\r\n<\/pre>\n<p>Anschlie\u00dfend wird das entpackte Verzeichnis an die korrekte Stelle im Dateisystem man\u00f6vriert und die Zugriffsrechte korrekt gesetzt.<\/p>\n<pre>\r\nrm -rf \/usr\/share\/nginx\/roundcube\r\nmv \/usr\/share\/nginx\/roundcubemail-1.0.4 \/usr\/share\/nginx\/roundcube\r\nchown -R www-data:www-data \/usr\/share\/nginx\/roundcube\r\n<\/pre>\n<p>Nun wird die URL <code>https:\/\/mail.domainname.tld\/installer<\/code> im Webbrowser aufgerufen und der Webinstaller gestartet.<\/p>\n<div id=\"attachment_924\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube-Webmail-Installer.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-924\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube-Webmail-Installer.png\" alt=\"roundcube-webmail-installer\" width=\"620\" height=\"760\" class=\"size-full wp-image-924\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube-Webmail-Installer.png 620w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube-Webmail-Installer-245x300.png 245w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><p id=\"caption-attachment-924\" class=\"wp-caption-text\">Start des Roundcube Webmail Installationsprogramms<\/p><\/div>\n<p>Auf der Startseite des Installationsprogramms wird gepr\u00fcft, ob alle Voraussetzungen f\u00fcr die Installation erf\u00fcllt sind. Hier sollte alles OK sein, au\u00dfer bei den nicht installierten <a href=\"http:\/\/de.wikipedia.org\/wiki\/Datenbank\" title=\"Wikipedia: Datenbank\" target=\"_blank\">DBMSs<\/a> und der Datums- und Zeitkonfiguration ganz am Ende der Seite.<\/p>\n<p>Auf der zweiten Seite sind die Optionsfelder mit den individuellen Werten der eigenen Installation auszuf\u00fcllen. Das Feld <code>product_name<\/code> sollte auf einen Wert gesetzt werden, der beschreibt, um wessen Webmailer es sich hierbei handelt. Die Checkbox <code>ip_check<\/code> sollte aktiviert werden, um Roundcube&#8217;s Session-Sicherheit zu steigern. Des Weiteren sollte der Wert des Felds <code>identities_level<\/code> auf &#8222;many identities with possibility to edit all params but not email address&#8220; gesetzt werden. Damit sind Benutzer in der Lage alle Optionen in Roundcube anzupassen, ohne die eigene E-Mail Adresse \u00e4ndern zu k\u00f6nnen. Damit ist es ihnen m\u00f6glich ihr eigenes Passwort zu \u00e4ndern.<\/p>\n<p>Anschlie\u00dfend werden die Angaben zur eigenen Datenbank gemacht. Das Feld <code>db_prefix<\/code> kann leer gelassen werden.<\/p>\n<p>Abschlie\u00dfend wird mit einem Klick auf <code>Create Config<\/code> die Konfigurationsdatei <em>\/usr\/share\/nginx\/roundcube\/config.inc.php<\/em> erstellt. Die folgende Seite kann mit einem Klick auf <code>Continue<\/code> best\u00e4tigt werden.<\/p>\n<div id=\"attachment_925\" style=\"width: 635px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube_Config_created.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-925\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube_Config_created-800x344.png\" alt=\"Roundcube_Config_created\" width=\"625\" height=\"269\" class=\"size-large wp-image-925\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube_Config_created-800x344.png 800w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube_Config_created-300x129.png 300w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube_Config_created-624x268.png 624w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/Roundcube_Config_created.png 814w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><p id=\"caption-attachment-925\" class=\"wp-caption-text\">Die Roundcube Konfiguration wurde erstellt.<\/p><\/div>\n<p>Auf der letzten Seite des Installers wird mit einem Klick die Datenbank initialisiert. Dar\u00fcber hinaus k\u00f6nnen hier noch weitere Tests ausgef\u00fchrt werden. Verlaufen alle Tests erfolgreich, so ist es geschafft. Bevor man den eigenen Roundcube Webmailer nutzt, sollte man noch das Verzeichnis des Webinstallers entfernen.<\/p>\n<pre>\r\nrm -rf \/usr\/share\/nginx\/roundcube\/installer\r\n<\/pre>\n<p>Herzlich willkommen im eigenen Webmail-Interface.<br \/>\n<div id=\"attachment_926\" style=\"width: 635px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/roundcube-webmail-interface.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-926\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/roundcube-webmail-interface-800x403.png\" alt=\"roundcube-webmail-interface\" width=\"625\" height=\"315\" class=\"size-large wp-image-926\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/roundcube-webmail-interface-800x403.png 800w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/roundcube-webmail-interface-300x151.png 300w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/roundcube-webmail-interface-624x315.png 624w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2015\/01\/roundcube-webmail-interface.png 1430w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><p id=\"caption-attachment-926\" class=\"wp-caption-text\">Roundcube Webmail Interface<\/p><\/div><\/p>\n<p>Damit sind wir am Ende der vierteiligen Artikelreihe angelangt. Nach einem langen Weg ist der eigene E-Mail Server fertig. Er kann E-Mails empfangen und versenden. Und dies von Desktop Mailclients, Smartphones, Tablets oder via Webmail. Der Server ist sicher konfiguriert und es wurde alles getan, damit die eigenen Mails nicht von fremden Spamfiltern herausgefischt werden.<\/p>\n<h2 id=\"persoenliches_fazit\">Pers\u00f6nliches Fazit<\/h2>\n<p>Zuerst m\u00f6chte ich <a href=\"http:\/\/arstechnica.com\/author\/lee-hutchinson\/\" title=\"Editor Site of Lee Hutchinson\" target=\"_blank\">Lee Hutchinson<\/a> danken, dessen hervorragende, englischsprachige Artikelreihe[3. <a href=\"http:\/\/arstechnica.com\/information-technology\/2014\/04\/taking-e-mail-back-part-4-the-finale-with-webmail-everything-after\/1\/\" title=\"Taking e-mail back, part 4: The finale, with webmail &#038; everything after\" target=\"_blank\">Taking e-mail back, part 4: The finale, with webmail &#038; everything after<\/a>] mich dazu angeregt hat, mich selbst an einem E-Mail Server Projekt zu versuchen.<\/p>\n<p>Am Ende dieser Artikelreihe habe ich viel \u00fcber E-Mail im allgemeinen sowie MTAs, MDAs und MUAs im speziellen erfahren. Dar\u00fcber hinaus konnte ich mich mit etlichen Techniken besch\u00e4ftigen, die helfen, einen Server zu h\u00e4rten und vor den Gefahren des Internets zu sch\u00fctzen. Allein das war es wert, den ganzen Konfigurationsaufwand auf sich zu nehmen. Und hey, ich habe jetzt meinen eigenen Mailserver. :-)<\/p>\n<p>Ich kann mir vorstellen, zuk\u00fcnftig auf dem bisher erreichten aufzubauen. So ist es denkbar eine zertifikatbasierte Webmail-Anmeldung zu implementieren oder einen Kalenderserver zu integrieren. Mehr dazu in folgenden Artikeln.<\/p>\n<p>Ein paar Worte noch zum Schluss. <strong>Haltet euer System stets Up-to-Date!<\/strong><\/p>\n<p>Ihr k\u00f6nnt euch die Arbeit ein klein wenig erleichtern, in dem ihr die Installation von Sicherheitsupdates auf dem Server <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/automatische-installation-von-sicherheitsupdates\/\" title=\"Automatische Installation von Sicherheitsupdates\">automatisiert<\/a>.<\/p>\n<p>Ihr seid f\u00fcr die Sicherheit eures Servers verantwortlich. Pflegt ihn und haltet ihn aktuell. Nichts ist schlimmer als veraltete Systeme, die im Internet vor sich hin gammeln.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Herzlich willkommen zum vierten und letzten Teil dieser Artikelreihe. An dieser Stelle haben wir bereits einen voll funktionsf\u00e4higen und sicher konfigurierten E-Mail Server. E-Mailkonten k\u00f6nnen im MUA unserer Wahl eingerichtet und genutzt werden. Auf dem Server selbst k\u00f6nnen mit Leichtigkeit neue Benutzer, Mailboxen und Aliase angelegt werden. Was bleibt also noch zu tun? Dieser Artikel<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/der-eigene-mailserver-teil-4\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[51],"tags":[6,75,58,305,230,35,60],"class_list":["post-917","post","type-post","status-publish","format-standard","hentry","category-linux","tag-anleitung","tag-e-mail","tag-linux","tag-planet","tag-postfix","tag-server","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=917"}],"version-history":[{"count":9,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/917\/revisions"}],"predecessor-version":[{"id":1557,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/917\/revisions\/1557"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}