Diese Seite beschreibt die Installation des Citadel BBS unter Debian. Anstelle der üblichen Debianpakete (citadel-suite) wird jedoch der Easy Install-Weg gewählt, um Konflikte mit einem bestehenden Mailsetup zu umgehen. Die Debianpakete hingegen setzen voraus, dass Citadel das Mailsystem selbst bereitstellt und verlangen daher, das Postfix / Exim / usw. deinstalliert werden. Mein Ziel ist es jedoch, Citadel parallel zu einem bereits vorhandenen Mailserver zu betreiben.
Dokumentation: http://www.citadel.org/doku.php?id=installation:easyinstall:prereq-debian.html
Die benötigten Pakete können einfach mit apt-get installiert werden:
$ apt-get install build-essential curl g++ gettext shared-mime-info libssl-dev
Dokumentation: http://www.citadel.org/doku.php?id=installation:easyinstall:easyinstall
Dokumentation: http://www.citadel.org/doku.php?id=installation:getting_started
Dokumentation: http://www.citadel.org/doku.php?id=documentation:system_administration_manual#configuringcitadelforinternete-mail
Jetzt kann das Skript heruntergeladen und ausgeführt werden. Falls bei den Benutzereingaben eine Meldung wie ./install-citadel.sh: 608: [: unexpected operator erscheint, kann sie einfach ignoriert werden.
Stand Februar 2012 ist das Skript nicht mit Debian Unstable kompatibel, da libcurl nicht kompiliert werden kann. Hierfür muss das Skript angepasst werden, um die aktuelle Version 7.24.0 von curl zu verwenden. Die gepatchte Version kann hier heruntergeladen werden. (Ok, der Patch ist nicht gerade schön, aber er funktioniert.)
$ curl http://easyinstall.citadel.org/install > install-citadel.sh
$ chmod +x install-citadel.sh
$ sudo ./install-citadel.sh
Die Installation kann losgehen:
Welcome to Citadel Easy Install
Running on: Linux Debian wheezy/sid ( 3.0.0-1-486 i686)
We will perform the following actions:
Installation:
* Download/install supporting libraries (if needed)
* Download/install Citadel (if needed)
* Download/install WebCit (if needed)
Configuration:
* Configure Citadel
* Configure WebCit
Perform the above installation steps now? Y [ENTER]
...
Do you accept the terms of this license?
If you do not accept the General Public License, Easy Install will exit.
Enter Y or Yes to accept: Y [ENTER]
Jetzt legt das Script los und lädt alle benötigten Programmteile hinterunter, kompiliert und installiert sie. Dabei passiert für längere Zeit nichts auf dem Bildschirm, in /tmp/citadel-install-log.txt kann man aber den Fortschritt der Installation beobachten. Alle Kommandoausgaben werden in dieser Datei gesammelt.
Anschließend werden verschiedene Fragen gestellt:
Admin Benutzer: | root |
Admin Passwort: | ... |
Neuer System-Benutzer: | citadel |
Listen IP-Address: | keine |
Listen TCP-Port: | 504 |
User Authentication Mode: | 1 = Systembenutzer |
db-Modul deaktivieren: | Ja |
Citadel automatisch starten: | Ja |
WebCit automatisch starten: | Ja |
Locale für WebCit-Login: | 6 = Deutsch |
TCP-Ports für WebCit: | 81 und 444 (wegen Apache) |
Allerdings schafft es der citadel-Server bis jetzt noch nicht zu starten, die die SMTP/IMAP-Ports ja schon vergeben sind.
Message from syslogd@hermes at Feb 26 23:06:01 ...
citserver[22558]: Citadel had trouble on starting up. We couldn't bind all ports you configured to be provided by citadel server.#012 This means, citadel won't be the service provider for a specific service you configured it to.#012#012If you don't want citadel to provide these services, turn them off in WebCit via: "Admin->System Preferences->Network".#012#012The failed ports and sockets are: TCP port *:143: (IMAP) ;TCP port *:993: (IMAPS) ;TCP port *:25: (SMTP-MTA) #012#012If you want citadel to provide you with that functionality, check the output of "netstat -lnp" on linux Servers or "netstat -na" on *BSD and stop the program that binds these ports.#012 You should eventually remove their initscripts in /etc/init.d so that you won't get this trouble once more.#012 After that goto "Administration -> Shutdown Citadel" to make Citadel restart & retry to bind this port.#012#012#012To make both ways actualy take place restart the citserver with "sendcommand down"#012#012The errors returned by the system were:#012Can't bind: Address already in use; Can't bind: Address already in use; Can't bind: Address already in use#012#012You can recheck the above if you follow this faq item:#012http://www.citadel.org/doku.php/faq:mastering_your_os:net#netstat
Message from syslogd@hermes at Feb 26 23:06:01 ...
citserver[22558]: Startup Problems
Man kann aber trotzdem die Weboberfläche starten, um darin die entsprechende Konfiguration zu ändern.
$ /etc/init.d/webcit restart
Dann loggt man sich auf der Weboberfläche als root ein und ändert die Optionen unter Administration -> Site-Wide -> Network. Hier kann man entweder alle Mail-Services mit -1 deaktivieren, oder einfach andere als die vom System belegten Ports angeben. Egal für welche Variante man sich entscheidet, POP3 heutzutage kann man eigentlich immer deaktivieren. Administration -> Site-Wide -> Pop3 und einfach alle Ports mit -1 belegen. Anschließend sollte der Server neugestartet werden: Administration -> Restart Now.
Einstelung | Default | Neu |
---|---|---|
SMTP MTA Port | 25 | -1 |
IMAP Listener Port | 143 | 144 |
SMTP MSA Port | 587 | -1 |
IMAP over SSL Port | 993 | 994 |
SMTP over SSL Port | 465 | 466 |
ManageSieve Port | 2020 | 2021 |
Diese Einstellungen ermöglichen es, mit abweichenden Ports weiterhin auf die IMAP-Postfächer zuzugreifen. E-Mails können ohnehin immer verschickt werden, da hierfür keine Ports reserviert werden müssen. Und via LMTP kann auch der Empfang von Mails wiederhergestellt werden. Hierfür bietet Citadel unter /usr/local/citadel/lmtp.socket einen Socket an, mit dem sich der lokale MTA verbinden kann.
Um LMTP für Exim zu aktivieren, muss erst ein Transport konfiguriert werden:
$ nano /etc/exim4/conf.d/transport/999_exim4-conifg_DES-citadel_lmtp
citadel_lmtp:
debug_print = "T: citadel_lmtp for $local_part@$domain"
driver = lmtp
socket = /usr/local/citadel/lmtp.socket
batch_max = 20
user = Debian-exim
Dann muss noch ein Router konfiguriert werden, der alle nicht zustellbaren Mails an Citadel weiterreicht. Hierfür muss der Router der letzte in der Kette sein.
$ nano /etc/exim4/conf.d/router/999_exim4-congif_DES-citadel_user
citadel_user:
debug_print = "R: citadel_user for $local_part@$domain"
driver = accept
domains = +local_domains
local_parts = ! root
transport = citadel_lmtp
cannot_route_message = Unable to forward message to Citadel
Damit die veränderte Konfiguration aktiv wird, muss die Eximkonfigurationsdatei neugeneriert und der Mailserver durchgestartet werrden:
$ update-exim4.conf
$ exim4 -bV
$ /etc/init.d/exim4 restart
Mobile Endgeräte: http://www.citadel.org/doku.php?id=faq:generalquestions:mobile#how.do.i.support.mobile.devices.and.push.e-mail.with.the.citadel.system
citmail MDA: http://www.citadel.org/doku.php?id=faq:installation:is_it_necessary_to_use_the_citmail_mda#is.it.necessary.to.use.the.citmail.mda
Neben Citadel ist vielleicht noch der Einsatz von Tine 2.0 interessant. Die Open Source-GroupWare setzt vollständig auf PHP/JavaScript auf und sollte daher noch einfacher zu installieren sein (Apache + MySQL + PHP vorausgesetzt). Seine Funktionen orientieren sich vornehmlich an modernen GroupWares, was von Bedeutung sein kann, wenn man ein Mail/Kalender-System für "Enterprise"-Benutzer einrichten möchte.
Kurze Einführung: http://luki.org/2011/07/android-sync-ohne-google-mit-opensource/
Offizielle Webseite: http://www.tine20.org