SOGo Installation Docevot+Sieve
Installationsvoraussetzungen
Ich setze vorraus das folgende Komponenten installiert und lauffähig sind:
Apache-Webserver mit PHP: Apache 2, PHP 5 Mailserver: POP- und IMAP-Server wie z.B. Postfix
Apache als root noch wie folgt ergänzen:
a2enmod proxy proxy_http headers
root@debian:~# /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:
root@debian:~# apt-get update
root@debian:~# apt-get install sogo
Für Debian Squeeze trägt man squeeze anstatt lenny in die /etc/apt/sources.list ein.
WEBMIN Konfigurationstool
Ich persönlich benutze Webmin als Konfigurationstool, dafür gibt es ein Addon unter: http://www.inverse.ca/downloads/SOGo/sogo.wbm.gz
LDAP
Für die Benutzerdatenbank wird openldap benötigt, also
root@debian:~# apt-get install slapd
root@debian:~# apt-get install ldap-utils
MYSQL
Dann braucht man noch Mysql
root@debian:~# apt-get install mysql-server
root@debian:~# apt-get install php5-mysql
In der root-Konsole das Passwort setzen:
root@debian:~# mysqladmin -u root -p password "WUNSCHPASSWORT"
Konfiguration LDAP
Nun muss LDAP eingerichtet werden. Zuerst die Grundkonfiguration von LDAP:
root@debian:~# 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.
Konfiguration MYSQL
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:
root@debian:~# 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
Konfiguration SOGo
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
root@debian:~# 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
root@debian:~# /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 = massoth.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 = ( ting, master ); (Benutzer die ACLs ändern dürfen) SOGoVacationEnabled = YES; (Vacation Mail Support einschalten (braucht Sieve))
Dovecot Installation
root@debian:~# apt-get install dovecot-common
root@debian:~# apt-get install dovecot-imapd
root@debian:~# 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
root@debian:~# /etc/init.d/dovecot restart
und einem
root@debian:~# /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:
Zuerst als root einloggen
root@debian:~# su someuser
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.
--sysoptiger 18:55, 10. Dez. 2011 (CET)