Dies ist das neue Wiki von debianforum.de. Der bisherige Wiki-Inhalt ist unter http://oldwiki.debianforum.de noch eine Zeit lang verfügbar.
SOGo Installation Docevot+Sieve
Aus DebianforumWiki
| |
Review: Dieser Artikel ist für das Review freigegeben.
|
Inhaltsverzeichnis |
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 /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 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
apt-get install slapd
apt-get install ldap-utils
MYSQL
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"
Konfiguration LDAP
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:
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:
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 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 = 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
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:
Zuerst als root einloggen
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)