Ich setze vorraus das folgende Komponenten installiert und lauffähig sind:

Apache als root noch wie folgt ergänzen:

a2enmod proxy proxy_http headers /etc/init.d/apache2 restart

Zum installieren unter Debian Lenny fügt man folgende Zeile in die apt source list (/etc/apt/sources.list) hinzu:

deb http://inverse.ca/debian lenny lenny

Für die nightly builds wird das eingetragen:

deb http://inverse.ca/debian-nightly lenny lenny

Danach ein:

apt-get update apt-get install sogo

Für Debian Squeeze benutzt man squeeze anstatt lenny. Ich persönlich benutze webmin als Konfigurationstool, dafür gibt es ein Addon unter: http://www.inverse.ca/downloads/SOGo/sogo.wbm.gz Für die Benutzerdatenbank wird openldap benötigt, also

apt-get install slapd

apt-get install ldap-utils

 

Dann braucht man noch Mysql

apt-get install mysql-server

apt-get install php5-mysql

 

In der root-Konsole das Passwort setzen:

mysqladmin -u root -p password "WUNSCHPASSWORT" 

Nun muss LDAP eingerichtet werden. Zuerst die Grundkonfiguration von LDAP:

dpkg-reconfigure slapd

Domain angeben: domain.de

Passwort setzen, sonst Standardeinstellungen belassen.

via Webmin im Punkt ldap sollte man gleich ein Admin Passwort setzen.

 

Benutzer anlegen, ich benutze hierzu dieses Tool:

 

http://jxplorer.org/

Grad: Benutzer+Kennwort

Benutzer-DN: cn=admin,dc=domain,dc=de

 

Auf Punkt Domain mit rechter Maustaste und NEU

RDN: ou=users

Gewählte Klassen raus und Punkt OrganizationalUnit hinzufügen.

Auf Abschicken klicken

 

Dann die Benutzer hinzufügen:

Auf Punkt users mit rechter Maustaste und NEU

RDN: uid=Benutzername

Gewählte Klassen raus und folgende hinzufügen:

top

inetOrgPerson

person

organizationalPerson

Danach rechts im Tabelleneditor alle Fettgedruckten Felder ausfüllen

cn= Voller Benutzername

sn= Loginname

Weitere Benutzer kann man vom bestehenden kopieren (Zweig kopieren) und abändern.

Nach jedem Benutzer Absenden nicht vergessen.

 

Sind alle Benutzer angelegt werden in der Konsole die Passwörter gesetzt.

ldappasswd -h localhost -x -w ldappasswort -D cn=admin,dc=domain,dc=com

uid=benutzer,ou=users,dc=domain,dc=com -s benutzerpasswort

 

Das für alle Benutzer wiederholen.

 

Jetzt MYSQL vorbereiten in der Konsole als root:

Über die folgenden Befehle werden sowohl eine Datenbank als auch ein Datenbankbenutzer sogo eingerichtet.

Der Benutzer erhält vollen Zugriff auf die Datenbank:

mysql -u root -p
mysql> CREATE DATABASE `sogo`;
mysql> CREATE USER 'sogo'@'localhost' IDENTIFIED BY 'sogo_passwd';
mysql> GRANT ALL PRIVILEGES ON `sogo`.* TO 'sogo'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit

Damit ist alles installiert für die Konfiguration von SOGo.

 

Das Konfig File von Sogo findet sich unter /home/sogo/GNUstep/Defaults/.GNUstepDefaults

Ab in die Konsole als root dann su ?sogo

Dann folgende Werte in die Datei schreiben mit

defaults write sogod SOGoTimeZone „Europe/Berlin“

defaults write sogod SOGoMailDomain „domain.com“ (Mail-Domain eintragen)

defaults write sogod SOGoLanguage German

defaults write sogod SOGoAppointmentSendEMailNotifications YES

defaults write sogod SOGoFoldersSendEMailNotifications YES

defaults write sogod SOGoACLsSendEMailNotifications YES

defaults write sogod SOGoCalendarDefaultRoles '("PublicViewer","ConfidentialDAndTViewer")'

defaults write sogod SOGoMemcachedHost = 127.0.0.1

Dann die Daten für LDAP

 

defaults write sogod SOGoUserSources ‚({CNFieldName = cn;

IDFieldName = uid; UIDFieldName = uid; IMAPHostFieldName = mailHost;

baseDN = „ou=users,dc=domain,dc=com“;

bindDN = „cn=admin,dc=acme,dc=com“;

bindPassword = adminpasswort; canAuthenticate = YES; displayName =

„Shared Addresses“; hostname = „localhost“; id = public;

isAddressBook = YES; port=389})‘

 

defaults write sogod SOGoMailingMechanism smtp
defaults write sogod SOGoSMTPServer mail.example.com
defaults write sogod SOGoIMAPServer mail.example.com
defaults write sogod SOGoMemcachedHost 127.0.0.1
defaults write sogod SOGoEnableEMailAlarms YES
defaults write sogod OCSFolderInfoURL "mysql://sogo:sogopasswd@localhost:3306/sogo/sogo_folder_info"
defaults write sogod SOGoProfileURL "mysql://sogo:sogopasswd@localhost:3306/sogo/sogo_user_profile"
defaults write sogod OCSEMailAlarmsFolderURL "mysql://sogo:sogopasswd@localhost:3306/sogo/sogo_alarms_folder"
defaults write sogod OCSSessionsFolderURL "mysql://sogo:sogopasswd@localhost:3306/sogo/sogo_sessions_folder"
Mit exit den Benutzer sogo verlassen

Nun wird noch als root ein Cronjob angelegt, für die E-Mail basierte Erinnerungs- und Weckfunktion

 

Mit crontab -e den Editor öffnen und diese Zeile anfügen:
* *     * * *   sogo    /usr/sbin/sogo-ealarms-notify
Nun sollte man mit /etc/init.d/sogo start den Dienst starten und via Browser auf 
http://Server-IP/SOGo auf das Interface zugreifen können.
Finetuning:
Die Konfigurationsdatei von sogo findet man unter /home/sogo/GNUstep/Defaults/.GNUstepDefaults
Folgende Werte kann man noch eintragen:

SOGoEnablePublicAccess = YES; (z.B. um Kalender freizugeben ohne Authentifizierung)

SOGoFirstDayOfWeek = 1; (Erster Tag der Woche, hier Montag)

SOGoFoldersSendEMailNotifications = YES; (Mail Erinnerung von Kalender o. Adressbuch)

SOGoForwardEnabled = NO; (Mail Forwarding aktivieren)

SOGoIMAPServer = „imaps://serverip:993“; (Adresse des imap servers)

SOGoLanguage = German; (Sprache)

SOGoLoginModule = Calendar; (Standardmodul bei Login wenn nicht von User gesetzt)

SOGoMailAuxiliaryUserAccountsEnabled = YES; (Kann Benutzer andere IMAP Accounts anlegen?)

SOGoMailDomain = domain.de; (Mail Domain)

SOGoMailShowSubscribedFoldersOnly = YES; (Zeigt nur abonnierte Ordner an)

SOGoMailingMechanism = smtp; (wie werden Mails gesendet)

SOGoSMTPServer = localhost; (Wo ist der SMTP Server)

SOGoSieveScriptsEnabled = YES; (Sieve Script einschalten)

SOGoSieveServer = „sieve://localhost“; (Ort des Sieve Servers)

SOGoSuperUsernames = ( benutzer, master ); (Benutzer die ACLs ändern dürfen)

SOGoVacationEnabled = YES; (Vacation Mail Support einschalten (braucht Sieve))

 

Dovecot Installation

apt-get install dovecot-common

apt-get install dovecot-imapd

apt-get install dovecot-pop3d

Sieve funktioniert nur ab Version 1.2!

Auch hierfür gibt es ein Webmin Modul, das man aktivieren kann.

 

In /etc/postfix/main.conf folgendes eintragen

 

mailbox_command = /usr/lib/dovecot/deliver

home_mailbox = Maildir/

 

Damit werden die Mails im Maildir Format abgeliefert, war vorher das Mbox Format eingestellt, erkläre ich später die Konvertierung der Mailboxen.

 

Nun wird die Datei /etc/dovecot/dovecot.conf editiert

protocols = imap imaps managesieve lda

protocol lda { postmaster_address = master@server.domain mail_plugins = sieve }

plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/mails/sieve }

 

nach einem /etc/init.d/dovecot restart und einem /etc/init.d/postfix restart sollte alles laufen.

 

Wandlung Mailboxformat von MBOX zu Maildir

 

Mann muss sich von der Seite

http://wiki2.dovecot.org/Migration/MailFormat

das Tool mb2md.pl herunterladen, dieses kopiert man auf den Server.

 

Die Umwandlung geschieht nach folgender Syntax:

cd ~someuser
mb2md.pl -s mail -R
mb2md.pl -m -s /var/mail/someuser 
mv mail mail.old
Dies muss für jeden Benutzer gemacht werden.
Wenn alles funktioniert kann dann der Ordner mail.old gelöscht werden.