{"id":1238,"date":"2014-12-16T17:11:48","date_gmt":"2014-12-16T16:11:48","guid":{"rendered":"http:\/\/www.dirk-hagedorn.de\/?page_id=1238"},"modified":"2020-10-28T10:29:10","modified_gmt":"2020-10-28T09:29:10","slug":"zarafa-auf-ubuntu-14-04-1-lts","status":"publish","type":"page","link":"https:\/\/www.dirk-hagedorn.de\/?page_id=1238","title":{"rendered":"Zarafa auf Ubuntu 14.04.1 LTS"},"content":{"rendered":"<p>Vor etwa 18 Monaten hatte ich mich erstmalig daran versucht, einen Zarafa-Server aufzusetzen, und ich hatte dies auch <a title=\"Zarafa auf Ubuntu 12.04 LTS\" href=\"\/?page_id=841\">in einem kleinen Tutorial dokumentiert<\/a>. Dabei war es aber auch geblieben, benutzt wurde die Installation nie. Das soll sich nun \u00e4ndern. Ein dummer und langsamer NAS soll in K\u00fcrze durch einen kleinen, verbrauchsarmen aber dennoch vern\u00fcnftig nutzbaren &#8222;richtigen&#8220; Linux-Server ersetzt werden.<\/p>\n<p>F\u00fcr die Installation habe ich Ubuntu Server 14.04.1 LTS 64-bit sowie Zarafa 7.1.11 OpenSource verwendet. Wer die Installation Schritt f\u00fcr Schritt nachvollziehen m\u00f6chte, lade bitte das Ubuntu-CD-Image sowie das Zarafa-Installationsarchiv herunter:<\/p>\n<ul>\n<li><a href=\"http:\/\/releases.ubuntu.com\/14.04.1\/ubuntu-14.04.1-server-amd64.iso\">Ubuntu Server 14.04.1 LTS 64-bit<\/a> (ISO Image)<\/li>\n<li><a href=\"http:\/\/download.zarafa.com\/community\/final\/7.1\/7.1.11-46050\/zcp-7.1.11-46050-ubuntu-14.04-x86_64-opensource.tar.gz\">Zarafa Collaboration Platform 7.1.11 final (OpenSource) f\u00fcr Ubuntu 14.04.<\/a><\/li>\n<\/ul>\n<p>Zu Testzwecken habe ich den Server erst einnmal als virtualisierten Server unter <a href=\"https:\/\/de.wikipedia.org\/wiki\/Citrix#XenServer\" target=\"_blank\" rel=\"noopener noreferrer\">Citrix XenServer<\/a> aufgesetzt. Beim ersten Mal hat es ein wenig l\u00e4nger gedauert, mittlerweile geht das Aufsetzen von Ubuntu und dem Nachinstallieren von Zarafa recht flott von der Hand; in gut einer Stunde sollte das Thema durch sein.<\/p>\n<h2>Vorbereitungen<\/h2>\n<ul>\n<li>Wer XenServer, VirtualBox oder VMWare verwendet, erzeuge bitte eine neue virtuelle Maschine und stelle eine virtuelle Festplatte mit mindestens 4 GB, besser 8 GB bereit. Das Ubuntu-ISO-Image lege man in sdas virtuelle CD-Laufwerk ein.<\/li>\n<li>Wer physikalische, 64-bit-f\u00e4hige Hardware nutzen m\u00f6chte, brenne das ISO-Image auf eine CD bzw. erzeuge einen bootf\u00e4higen USB-Stick. Dazu noch eine Festplatte, die komplett plattgemacht werden kann (sprich auf der alle vorhandenen Daten gel\u00f6scht werden k\u00f6nnen): je gr\u00f6\u00dfer und schneller die Festplatte ist, desto besser. Ab 2 GB RAM und 40 GB HDD f\u00e4ngt es wohl an, gut zu funktionieren, ab 4 GB und 250 GB dann auch Spa\u00df zu machen.<\/li>\n<li>Wer kein DHCP benutzt sondern die IP-Adresse manuell konfigurieren m\u00f6chte, sollte sich die bereits jetzt \u00fcberlegen und die IP-Adresse des Gateways kennen. Wem das nichts sagt, m\u00f6ge bitte hier aufh\u00f6ren zu lesen.<\/li>\n<li>Einen sch\u00f6nen Rechnernamen sollte man sich ebenfalls vorher \u00fcberlegen. Diesen wichtigen Entscheidungs-Prozess schlie\u00dfe man am ab, bevor das Herunterladen des Ubuntu-ISO-Images abgeschlossen ist. \ud83d\ude09<\/li>\n<\/ul>\n<h2>Ubuntu-Installation<\/h2>\n<p>Wir installieren nun erst einmal einen rudiment\u00e4ren Ubuntu Server. CD einlegen, Rechner einschalten, im BIOS die Bootreihenfolge auf &#8222;CD, HDD, &#8230;&#8220; \u00e4ndern, w\u00e4hlen &#8222;Deutsch&#8220; und sehen dann diesen Bildschirm:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-001.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1241\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-001-480x360.jpg\" alt=\"zaus-001\" width=\"480\" height=\"360\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-001-480x360.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-001-240x180.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-001.jpg 640w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Wir dr\u00fccken RETURN und beginnen die Installation.<\/p>\n<ul>\n<li>Zun\u00e4chst meckert Ubuntu, dass die gew\u00e4hlte Sprache f\u00fcr die Installation nicht ganz vollst\u00e4ndig sei und fragt nach, ob wir dennoch weitermachen wollen. <em>Ja<\/em>, wir wollen fortsetzen.<\/li>\n<li>Als Standort w\u00e4hlen wir <em>Deutschland<\/em><\/li>\n<li>Tastaturmodell erkennen? <em>Nein<\/em><\/li>\n<li>Tastatur konfugurieren? <em>Deutsch<\/em><\/li>\n<li>Tastaturbelegung: <em>Deutsch<\/em><\/li>\n<\/ul>\n<p>Nun beginnt die Hardwareerkennung und Ubuntu l\u00e4dt ein paar f\u00fcr die Installation ben\u00f6tigte Komponenten. Die Netzwerkkarte wird zu erkennen versucht, eine IP-Adresse wird vom DHCP-Server angefordert. In meinem Falle &#8211; kein DHCP-Server vorhanden &#8211; schl\u00e4gt die automatische Netzwerkkonfiguration fehl und ich konfiguriere das Netzwerk manuell: IP-Adresse 192.168.0.26, Netzmaske 255.255.255.0, Gateway 192.168.0.200 (IP-Adresse meines DSL-Routers), Adresse DNS-Server 192.168.0.200 (dito).<\/p>\n<p>Anschlie\u00dfend geben wir unserem Baby einen schicken Namen. Ich w\u00e4hle &#8222;zaus&#8220; (<strong>Z<\/strong>arafa <strong>a<\/strong>uf <strong>U<\/strong>buntu <strong>S<\/strong>erver), weil mir nichts Besseres einfiel.<\/p>\n<p>Als letzter Teil der Netzwerkeinrichtung folgt die Eingabe des Domain-Namens:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-002.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1243\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-002-480x151.jpg\" alt=\"zaus-002\" width=\"480\" height=\"151\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-002-480x151.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-002-240x75.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-002.jpg 769w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Wir w\u00e4hlen der Einfachheit &#8222;example.test&#8220;.<\/p>\n<p>Es folgt die Angabe des ersten und wichtigsten Benutzers des Servers, mit dem wir alle Administrationst\u00e4tigkeiten durchf\u00fchren werden. Ich verwende hier unter Ubuntu aus nicht n\u00e4her begr\u00fcndeten, historischen Gr\u00fcnden als vollst\u00e4ndigen Namen &#8222;Dirk Hagedorn&#8220;, als Benutzernamen f\u00fcr das Konto &#8222;dirk&#8220;.<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-003.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1244\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-003-480x154.jpg\" alt=\"zaus-003\" width=\"480\" height=\"154\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-003-480x154.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-003-240x77.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-003.jpg 744w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Wir geben noch das Passwort zweimalig ein und entscheiden uns mit &#8222;<em>nein<\/em>&#8220; gegen das Verschl\u00fcsseln des pers\u00f6nlichen Ordners. Abschlie\u00dfend best\u00e4tigen wir, dass &#8222;Europe\/Berlin&#8220; die korrekte Zeitzone f\u00fcr unseren neuen Server ist.<\/p>\n<p>Weiter geht es mit der Partitionierung der Festplatte. Wir verwenden die gesamte Festplatte (Achtung: Alle etwaigen vorhandenen Daten werden unwiderruflich gel\u00f6scht!) ohne LVM:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-004.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1245\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-004-480x214.jpg\" alt=\"zaus-004\" width=\"480\" height=\"214\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-004-480x214.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-004-240x107.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-004.jpg 782w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Nach Best\u00e4tigung &#8222;\u00c4nderungen schreiben?&#8220; mit <em>Ja<\/em> wird die Festplatte partitioniert, formatiert und mit der Installation des Systems begonnen.<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-005.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1246\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-005-480x90.jpg\" alt=\"zaus-005\" width=\"480\" height=\"90\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-005-480x90.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-005-240x45.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-005.jpg 788w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Nach wenigen Minuten werden wir gefragt, ob wir einen Proxy verwenden, um auf das Internet zuzugreifen &#8211; in der Regel ist das zu Hause nicht der Fall, das Eingabefeld also leer lassen und einfach RETURN dr\u00fccken. F\u00fcr die Installation ben\u00f6tigte Bestandteile werden ab hier aus dem Internet nachgeladen.<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-006.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1248\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-006-480x110.jpg\" alt=\"zaus-006\" width=\"480\" height=\"110\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-006-480x110.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-006-240x55.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-006.jpg 787w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Nach weiteren wenigen Sekunden\/Minuten (je nach Internetanbindung) fragt uns der Installer, ob wir Systemaktualisierungen automatisch herunterladen wollen, oder nicht, oder nur manchmal. Wer wie ich immer gerne wei\u00df, wann was wo wie passiert, w\u00e4hle auch &#8222;<em>Keine automatischen Aktualisierungen<\/em>&#8222;.<\/p>\n<p>Anschlie\u00dfend werden wir gefragt, welche Server-Bestandteile wir direkt installieren m\u00f6chten. Mittels Cursor-Hoch\/Runter und der Leertaste w\u00e4hlen wir lediglich &#8222;<em>OpenSSH server<\/em>&#8222;, den Rest installieren wir sp\u00e4ter nach.<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-0061.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1249\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-0061-480x242.jpg\" alt=\"zaus-006\" width=\"480\" height=\"242\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-0061-480x242.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-0061-240x121.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-0061.jpg 759w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Jetzt werden ruckzuck 183 Softwarepakete geladen, installiert und konfiguriert. Je nach Hardware reicht die Zeit aber durchaus, sich eine neue Tasse Kaffee kochen zu k\u00f6nnen&#8230;<\/p>\n<p>Zum Abschluss der rudiment\u00e4ren Installation muss nun noch der Bootsektor auf die Festplatte geschrieben werden, damit Ubuntu nach dem Einschalten auch brav bootet. Wer nur eine Festplatte bzw. kein Multi-OS-Setup verwendet, sollte einfach &#8222;<em>Ja<\/em>&#8220; antworten:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-008.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1251\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-008-480x180.jpg\" alt=\"zaus-008\" width=\"480\" height=\"180\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-008-480x180.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-008-240x90.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-008.jpg 767w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Das war es schon! Nach einem letzten &#8222;weiter&#8220; bootet unser Ubuntu Server und der Anmeldeprompt erscheint:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-010.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1252\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-010.jpg\" alt=\"zaus-010\" width=\"258\" height=\"93\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-010.jpg 258w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-010-240x86.jpg 240w\" sizes=\"auto, (max-width: 258px) 100vw, 258px\" \/><\/a><\/p>\n<h2>Weitere Pakete installieren<\/h2>\n<p>Nach der ersten Anmeldung mit dem oben angelegten Benutzer installieren wir sofort einen ganzen Schwung an Paketen nach, die wir in K\u00fcrze sowieso ben\u00f6tigen werden oder einsetzen wollen.<\/p>\n<p>F\u00fcr Zarafa ben\u00f6tigen wir Apache2 (Webserver), MySQL (Datenbank) und Postfix (Mailtransfer). Da ich den Server zudem als Fileserver einsetzen m\u00f6chte, installiere ich auch Samba f\u00fcr den Zugriff von Windows-Rechnern.<\/p>\n<pre>sudo apt-get install apache2 mysql-server postfix samba\r\n<\/pre>\n<p>Es m\u00fcssen 19,2 MB heruntergeladen werden. Gerne best\u00e4tigen wir mit RETURN. Die Pakete werden nun alle heruntergeladen, installiert und konfiguriert. Los geht&#8217;s mit dem Kennwort f\u00fcr den MySQL-Datenbank-Administrator\/&#8220;root&#8220;-Benutzer:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-011.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1256\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-011-480x165.jpg\" alt=\"zaus-011\" width=\"480\" height=\"165\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-011-480x165.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-011-240x82.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-011.jpg 704w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Hier gibt man ein sinnvolles Kennwort ein, merkt sich dieses; wir werden es bald w\u00e4hrend der Zarafa-Installation wieder eingeben m\u00fcssen. Sagen wir mal, wir vergeben als Kennwort &#8222;<em>my-secret<\/em>&#8222;. Auf der folgenden Seite gebe man das Kennwort ein zweites Mal ein (wer sich hier vertippt, erh\u00e4lt den Hinweis erst Sekunden sp\u00e4ter).<\/p>\n<p>Es folgt die Konfiguration von Postfix. Hier w\u00e4hlen wir &#8222;Internet mit Smarthost&#8220;. Was dies bedeutet, lesen wir auf dem Bildschirm:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-012.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1257\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-012-480x318.jpg\" alt=\"zaus-012\" width=\"480\" height=\"318\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-012-480x318.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-012-240x159.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-012.jpg 769w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Den folgenden System-E-Mail-Name (&#8222;zaus.example.test&#8220;) \u00fcbernehmen wir, den SMTP-Relay-Server (&#8222;smtp.example.test&#8220;) ebenfalls &#8211; den werden wir bald umkonfigurieren.<\/p>\n<p>Wir installieren nun noch ein paar weitere Pakete. PHP5 wird ebenfalls f\u00fcr Zarafa ben\u00f6tigt, den Midnight Commander (mc) kann man auf der Commandline immer gebrauchen, emacs und xterm sowieso, und synaptic als grafisches apt-get-Frontend ebenfalls (macht 72,2 MB):<\/p>\n<pre>sudo apt-get install php5 mc emacs xterm synaptic\r\n<\/pre>\n<h2>Zarafa-Installation<\/h2>\n<p>Ab sp\u00e4testens diesem Zeitpunkt empfehle ich, mit einem anderen Rechner per SSH auf den Ubuntu-Server zuzugreifen und die Kommandos nicht direkt in die Konsole zu tippen. Grund: Per Copy&amp;Paste lassen sich Dateinamen so wunderbar in ein Terminalfenster kopieren, Abtippen an der Konsole ist doof. Als Terminal-Anwendung empfehle ich das Rundumsorglospaket <a href=\"http:\/\/mobaxterm.mobatek.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">MobaXterm<\/a>.<\/p>\n<p>Wenn wir das zarafa-Installations-Archiv bereits heruntergeladen haben, kopieren wir es nun per SCP ins \/tmp-Verzeichnis. Falls nicht, laden wir es per wget (sudo apt-get install wget) herunter, entpacken das Archiv, wechseln ins erzeugte Verzeichnis und starten die Zarafa-Installation:<\/p>\n<pre>cd \/tmp\r\nwget <a href=\"http:\/\/download.zarafa.com\/community\/final\/7.1\/7.1.11-46050\/zcp-7.1.11-46050-ubuntu-14.04-x86_64-opensource.tar.gz\">http:\/\/download.zarafa.com\/community\/final\/7.1\/7.1.11-46050\/zcp-7.1.11-46050-ubuntu-14.04-x86_64-opensource.tar.gz<\/a>\r\ntar xvfz zcp-7.1.11-46050-ubuntu-14.04-x86_64-opensource.tar.gz\r\ncd zcp-7.1.11-46050-ubuntu-14.04-x86_64\/\r\nsudo bash install.sh\r\n<\/pre>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-013.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1258\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-013-480x225.jpg\" alt=\"zaus-013\" width=\"480\" height=\"225\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-013-480x225.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-013-240x112.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-013.jpg 644w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Es rauschen nun reichlich Fehlermeldungen durch, die uns nicht weiter beunruhigen d\u00fcrfen. Das Installationsscript versucht zu ermitteln, welche Pakete noch alle nachinstalliert werden m\u00fcssen und welche bereits vorhanden sind. Nach ein paar Seiten Fehlermeldungen stehen die noch zu installierenden Pakete fest, was in etwa so aussehen sollte:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-014.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1259\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-014-480x240.jpg\" alt=\"zaus-014\" width=\"480\" height=\"240\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-014-480x240.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-014-240x120.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-014.jpg 636w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Das \u00fcbliche Spiel wiederholt sich &#8211; mit RETURN best\u00e4tigen, die Pakete werden heruntergeladen und installiert.<\/p>\n<p>Im Anschluss wird es spannend &#8211; oder auch nicht. Das Installationsscript verlangt von uns nun die noch f\u00fcr Zarafa notwendigen Angaben, die wir &#8211; bis auf das root-Passwort des MySQL-Datenbankadministrators &#8211; alle einfach mit RETURN best\u00e4tigen k\u00f6nnen:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-015.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1260\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-015-353x480.jpg\" alt=\"zaus-015\" width=\"353\" height=\"480\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-015-353x480.jpg 353w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-015-176x240.jpg 176w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-015.jpg 606w\" sizes=\"auto, (max-width: 353px) 100vw, 353px\" \/><\/a><\/p>\n<p>Anschlie\u00dfend dr\u00fccken wir noch ein paar Mal RETURN, tja, und dann war es das auch schon: Der Zarafa-Server l\u00e4uft.<\/p>\n<h2>Was noch fehlt<\/h2>\n<p>Wir haben nun einen Ubuntu-Server mit einem installierten Zarafa-Server, der aber noch nicht benutzbar ist. Ja, und wir haben auch noch Postfix, der auch noch nicht brauchbar l\u00e4uft. Folgendes m\u00fcssen wir nun noch erledigen:<\/p>\n<ul>\n<li>Zarafa-Administrator anlegen<\/li>\n<li>Zarafa-Benutzer anlegen<\/li>\n<li>Zarafa-Web-Access erm\u00f6glichen<\/li>\n<li>Mailversand per SMTP erm\u00f6glichen (Postfix konfigurieren)<\/li>\n<li>Zugriff f\u00fcr Mail-Client mittels POP3\/IMAP erm\u00f6glichen<\/li>\n<li>Mailabholdienst per POP3 installieren (z.B. per fetchmail)<\/li>\n<\/ul>\n<h2>Zarafa-Administrator anlegen<\/h2>\n<p>Das Kommandozeilen-Tool &#8222;zarafa-admin&#8220; ist unser Freund. Mit folgendem Befehl legen wir den Zarafa-Benutzer &#8222;admin&#8220; mit dem Passwort &#8222;secret&#8220; mit dem Vollnamen &#8222;Zarafa Administrator&#8220; und der E-Mail-Adresse &#8222;postmaster@zaus.example.test&#8220; an. Mit der Option &#8222;-a 1&#8220; bestimmen wir, dass dieser Zarafa-Benutzer ein Administrator ist.<\/p>\n<pre>sudo zarafa-admin -c \"admin\" \\\r\n                  -p \"secret\" \\\r\n                  -f \"Zarafa Administrator\" \\\r\n                  -e \"postmaster@zaus.example.test\" \\\r\n                  -a 1\r\n<\/pre>\n<h2>Zarafa-Benutzer anlegen<\/h2>\n<p>Normalen Zarafa-Benutzer (ohne Administratorrechte) legen wir ganz analog an. Die E-Mail-Adresse hinter -e soll die sein, \u00fcber die der Benutzer sp\u00e4ter extern erreichbar sein soll bzw. welche Zarafa beim Versand vom E-Mail als Absenderadresse verwenden wird. Ich verwende in den Beispielen weiterhin &#8222;example.test&#8220;, wer &#8222;meine-domain.de&#8220; reserviert hat, setze dies dann dort entsprechend ein.<\/p>\n<pre>sudo zarafa-admin -c \"erika\" \\\r\n                  -p \"Geheim\" \\\r\n                  -f \"Erika Mustermann\" \\\r\n                  -e \"erika.mustermann@example.test\"\r\n\r\nsudo zarafa-admin -c \"max\" \\\r\n                  -p \"AuchGeheim\" \\\r\n                  -f \"Max Mustermann\" \\\r\n                  -e \"max.mustermann@example.test\"\r\n<\/pre>\n<p>Frau Erika Mustermann wird sich in K\u00fcrze als Benutzer &#8222;erika&#8220; mit Passwort &#8222;Geheim&#8220; im Web-Frontend anmelden k\u00f6nnen, der Herr Max Mustermann als Benutzer &#8222;max&#8220; mit Passwort &#8222;AuchGeheim&#8220;.<\/p>\n<h2>Zarafa-Web-Access erm\u00f6glichen<\/h2>\n<p>Apache2 wurde installiert, PHP5 und MySQL ebenso. Es fehlt nur noch die Aktivierung des WebAccess-Teils von Zarafa.<\/p>\n<p>Wir f\u00fcgen dazu einen Apache-Alias hinzu, konfigurieren PHP5 einmal leicht um und starten Apache2 dann neu. Zun\u00e4chst legen wir im Config-Verzeichnis des Apache eine neue Konfiguration an.<\/p>\n<pre>cd \/etc\/apache2\/conf-available\r\nsudo vi zarafa-webaccess.conf\r\n<\/pre>\n<blockquote><p>Alias \/webaccess \/usr\/share\/zarafa-webaccess\/<br \/>\n&lt;Directory \/usr\/share\/zarafa-webaccess\/&gt;<br \/>\nAllowOverride None<br \/>\nOrder allow,deny<br \/>\nAllow from all<br \/>\n&lt;\/Directory&gt;<\/p><\/blockquote>\n<p>Nun wechseln wir ins Verzeichnis der aktivierten Konfigurationen, setzen einen symbolischen Link:<\/p>\n<pre>cd ..\/conf-enabled\/\r\nsudo ln -s ..\/conf-available\/zarafa-webaccess.conf .\r\n<\/pre>\n<p>Anschlie\u00dfend starten wir den Apache2-Webserver neu und versuchen, auf den Zarafa-WebAccess \u00fcber <a href=\"http:\/\/zaus\/webaccess\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/zaus\/webaccess\/<\/a> zuzugreifen<\/p>\n<pre>sudo service apache2 restart\r\n<\/pre>\n<p>Nach dem Zugriff erhalten wir prompt folgende Fehlermeldung:<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-016.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1263\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-016.jpg\" alt=\"zaus-016\" width=\"384\" height=\"169\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-016.jpg 384w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-016-240x105.jpg 240w\" sizes=\"auto, (max-width: 384px) 100vw, 384px\" \/><\/a><\/p>\n<blockquote><p>PHP Config error: short_open_tag must be &#8218;on&#8216;<br \/>\nModify this setting in &#8218;\/etc\/php5\/apache2\/php.ini&#8216;<br \/>\nZarafa WebAccess can&#8217;t start because of incompatible configuration.<\/p><\/blockquote>\n<p>Das ist nicht schwer: Wir editieren also die php.ini und ersetzen ein Off durch ein On, speichern die \u00c4nderung und stoppen\/starten den Apache erneut. Es ist immer eine gute Idee, die alten Einstellungen auskommentiert zur\u00fcck zu lassen. Wir kommentieren also die aktuelle Einstellung &#8222;short_open_tag = Off&#8220; mit einem f\u00fchrenden Semikolon aus und schreiben die neue Variante darunter.<\/p>\n<pre>sudo vi \/etc\/php5\/apache2\/php.ini\r\n<\/pre>\n<blockquote><p>; short_open_tag = Off<br \/>\nshort_open_tag = On<\/p><\/blockquote>\n<p>Speichern und den Apache2 neu starten:<\/p>\n<pre>sudo service apache2 restart\r\n<\/pre>\n<p>Erneuter Zugriff auf den Zarafa WebAccess: Bingo! \ud83d\ude42<\/p>\n<p><a href=\"\/wp-content\/uploads\/2014\/12\/zaus-017.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1264\" src=\"\/wp-content\/uploads\/2014\/12\/zaus-017-480x460.jpg\" alt=\"zaus-017\" width=\"480\" height=\"460\" srcset=\"https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-017-480x460.jpg 480w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-017-240x230.jpg 240w, https:\/\/www.dirk-hagedorn.de\/wp-content\/uploads\/2014\/12\/zaus-017.jpg 606w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Unsere oben angelegten Zarafa-Benutzer k\u00f6nnen sich nun anmelden, k\u00f6nnen auch bereits Daten anlegen\/ver\u00e4ndern\/l\u00f6schen, sie k\u00f6nnen E-Mails verfassen.<\/p>\n<p>Dummerweise gehen die noch nicht raus, es kommen auch noch keine E-Mails herein. F\u00fcr den erfolgreichen Versand m\u00fcssen wir nun erst einmal Postfix konfigurieren.<\/p>\n<h2>Postfix konfigurieren<\/h2>\n<p>Postfix ist f\u00fcr den Mailversand zust\u00e4ndig. Diese Anleitung geht davon aus, dass wir eine eigene Domain reserviert haben. Das folgende Beispiel funktioniert f\u00fcr Strato. Zun\u00e4chst tragen wir den Strato-SMTP-Server und -Port ein, aktivieren TLS und ignorieren Zertifikats-Fehler:<\/p>\n<pre>cd \/etc\/postfix\r\nsudo vi main.cf\r\n<\/pre>\n<blockquote><p>relayhost = smtp.strato.de:587<\/p>\n<p>smtp_sasl_auth_enable = yes<br \/>\nsmtp_sasl_password_maps = hash:\/etc\/postfix\/sasl\/sasl_passwd<br \/>\nsmtp_sasl_security_options = noanonymous<\/p>\n<p>smtp_use_tls = yes<br \/>\nsmtp_enforce_tls = yes<br \/>\nsmtp_tls_security_level = may<\/p>\n<p>inet_protocols = ipv4<\/p><\/blockquote>\n<p>Erl\u00e4uterungen:<\/p>\n<ul>\n<li>Strato verlangt (f\u00fcr neue Postf\u00e4cher) den Zugriff auf den SMTP-Server mittels TLS (Port 587)<\/li>\n<li>Unseren Benutzernamen f\u00fcr den Zugriff packen wir in die Datei \/etc\/postfix\/sasl\/sasl_passwd<\/li>\n<li>Wir verwenden und erzwingen TLS (&#8222;&#8230;tls = yes&#8220;)<\/li>\n<li>Zertifikatsprobleme interessieren uns nicht (&#8222;smtp_tls_security_level = may&#8220;)<\/li>\n<li>Den Zugriff beschr\u00e4nken wir auf IPv4 &#8211; zumindest mein aktueller Router ist zu bl\u00f6d f\u00fcr IPv6 und die Zugriffe auf den SMTP-Server scheiterten immer bei IPv6<\/li>\n<\/ul>\n<p>Nun tragen wir noch unseren Benutzernamen und das Passwort ein, \u00fcber den wir auf den SMTP-Server zugreifen wollen.<\/p>\n<pre>cd \/etc\/postfix\/sasl\/\r\nvi sasl_passwd\r\n<\/pre>\n<blockquote><p>smtp.strato.de webmaster@example.test:PASSWORT<\/p><\/blockquote>\n<p>&#8222;smtp.strato.de&#8220; ist klar, &#8222;webmaster@example.test&#8220; ist eine g\u00fcltige E-Mail-Adresse eines der Postf\u00e4cher bei Strato, &#8222;PASSWORT&#8220; das vergebene Passwort f\u00fcr diese Adresse. Wenn man &#8222;meine-domain.de&#8220; reserviert hat, als Passwort &#8222;123456geheim&#8220; vergeben hat und als E-Mail-Benutzer den &#8222;webmaster&#8220; angelegt hat, w\u00fcrde die Zeile entsprechend so lauten:<\/p>\n<blockquote><p>smtp.strato.de webmaster@meine-domain.de:123456geheim<\/p><\/blockquote>\n<p>Die \u00c4nderungen an der Datei m\u00fcssen Postfix nun bekannt gemacht werden. Dies geht mit folgendem Kommando:<\/p>\n<pre>sudo postmap \/etc\/postfix\/sasl\/sasl_passwd\r\n<\/pre>\n<p>Postfix selber muss nach der ganzen Konfigurationsorgie auch noch neu gestartet werden. Anschlie\u00dfend werfen wir gleich einen Blick auf das Logfile, um zu schauen, was passiert. \u00dcber den WebAccess am besten mal eine E-Mail versenden und schauen, was das Logfile so ausspuckt:<\/p>\n<pre>sudo service postfix restart\r\nsudo tail -f \/var\/log\/mail.log\r\n<\/pre>\n<p><b>Andere Hoster<\/b>: Bei anderen Hostern entsprechend den passenden smtp-Server eintragen. Wenn dieser auch TLS einsetzt, m\u00fcsste es passen, wenn nicht, dann Port 587 (&#8222;:587&#8220;) entfernen und die tls-Zeilen auskommentieren.<\/p>\n<h2>Zugriff f\u00fcr Mail-Client mittels POP3\/IMAP erm\u00f6glichen<\/h2>\n<p>E-Mails k\u00f6nnen nun bereits \u00fcber den WebAccess verfasst werden und \u00fcber das Zarafa-Gateway mittels Postfix auch \u00fcber den SMTP-Relay-Server des Webhosters verschickt werden. Wer statt den Webbrowser lieber einen normalen E-Mail-Client wie Mozilla Thunderbird verwenden m\u00f6chte, muss den Zugriff \u00fcber POP3\/IMAP auf den Zarafa-Server erm\u00f6glichen.<\/p>\n<p>Und das geht ganz einfach: Wir ver\u00e4ndern eine Zeile in der Server-Konfiguration und starten Zarafa neu.<\/p>\n<pre>cd \/etc\/zarafa\r\nsudo vi server.cfg\r\n<\/pre>\n<p>Hier suchen wir nun nach &#8222;imap&#8220; und finden folgende Zeilen:<\/p>\n<blockquote><p># Disable features for users. Default all features are disabled. This<br \/>\n# list is space separated. Currently valid values: imap<br \/>\ndisabled_features = imap pop3<\/p><\/blockquote>\n<p>POP3 und IMAP sind als standardm\u00e4\u00dfig deaktiviert. Wir deaktivieren im folgenden Beispiel nun die Deaktivierung von IMAP, sprich wir aktivieren IMAP (alte Zeile wieder auskommentieren, neue hinzuf\u00fcgen):<\/p>\n<blockquote><p># Disable features for users. Default all features are disabled. This<br \/>\n# list is space separated. Currently valid values: imap<br \/>\n# disabled_features = imap pop3<br \/>\ndisabled_features = pop3<\/p><\/blockquote>\n<p>Wer gleichzeitig IMAP und POP3 erm\u00f6glichen m\u00f6chte, entferne auch &#8222;pop3&#8220; hinter dem Gleichheitszeichen. Nun noch die \u00c4nderungen speichern und den Zarafa-Server neu starten:<\/p>\n<pre>sudo service zarafa-server restart\r\n<\/pre>\n<p>Nun k\u00f6nnen die im Zarafa-Server gespeicherten E-Mails auch \u00fcber IMAP und\/oder POP3 abgerufen werden.<\/p>\n<h2>Fetchmail<\/h2>\n<p>hier fehlt noch etwas&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vor etwa 18 Monaten hatte ich mich erstmalig daran versucht, einen Zarafa-Server aufzusetzen, und ich hatte dies auch in einem kleinen Tutorial dokumentiert. Dabei war es aber auch geblieben, benutzt wurde die Installation nie. Das soll sich nun \u00e4ndern. Ein dummer und langsamer NAS soll in K\u00fcrze durch einen kleinen, verbrauchsarmen aber dennoch vern\u00fcnftig nutzbaren <a class=\"more-link\" href=\"https:\/\/www.dirk-hagedorn.de\/?page_id=1238\">Weiterlesen\u00a0\u2026<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":785,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1238","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=\/wp\/v2\/pages\/1238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1238"}],"version-history":[{"count":18,"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=\/wp\/v2\/pages\/1238\/revisions"}],"predecessor-version":[{"id":1923,"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=\/wp\/v2\/pages\/1238\/revisions\/1923"}],"up":[{"embeddable":true,"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=\/wp\/v2\/pages\/785"}],"wp:attachment":[{"href":"https:\/\/www.dirk-hagedorn.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}