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.

Vorausgesetzte Pakete installieren

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

Citadel installieren

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.

EinstelungDefaultNeu
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

Nützliche Dokumentationen

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

Alternative CRM

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


attachments

imageappend Append an Image
>