SOGo Installation Docevot+Sieve

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Weitere Dienste ‹ 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)