Links zu den Projekten
Zimbra, Zimbra WikiGroupware Migration
audriga Groupware MigrationNavigation:
Zero Effort Groupware einrichten
Installation
Konfiguration
sonstiges
SOGo Links:
Download SOGo
VM Images (Zero Effort Groupware)
Webmin SOGo Modul
Webmin StressFree Theme
SOGo Mailinglists
SOGo Community
SOGo Community Mail Archiv
SOGo BugTracking
sonstige Anleitungen:
Anleitung ZEG
ubuntu Wiki SOGo
Debian Wiki SOGo
OpenLDAP ubuntu Wiki
Admin-World SOGo mit Sieve und Dovecot
SOGo mit Dovecot
SOGo ist ein Ableger von OGo (OpenGroupware.org)
- Tastaturbelegung der VM auf der Konsole einrichten
apt-get install console-common language-pack-de-base locale-gen update-locale LANG="de_DE.UTF-8" localedef -v -i de_DE -c -f UTF-8 de_DE.UTF-8 dpkg-reconfigure locales dpkg-reconfigure keyboard-configuration
echo LANGUAGE="de_DE.UTF-8" >> /etc/environment echo LC_ALL="de_DE.UTF-8" >> /etc/environment
https://<IP-Adresse>:10000
Benutzernamen: sogo
Passwort: sogo
- Webmin konfigurieren
Webmin | Webmin-Konfiguration | Vertraute Verweise | Überprüfung des Verweisenden aktivieren:nein
Hardware | Systemzeit | Ändere Zeitzone: Europa/Berlin
- Admin Account Passwort ändern
System | Benutzer und Gruppen | Benutzer sogo Passwort ändern
- Benutzer einrichten
Server | LDAP Server | Browse Database
Browsing: dc=example,dc=com
es gibt drei Objekte
cn=admin,dc=example,dc=com
ou=people,dc=example,dc=com
ou=service,dc=example,dc=com
unter ou=people,dc=example,dc=com sind die Benutzer angelegt, mit Add new sub-object einen neuen Benutzer erstellen
New object DN:uid=user1
Object classes:
inetOrgPerson organizationalPerson person
Andere Attribute
cn:Max Mustermann
sn:Mustermann
givenName:Max
mail:user1@example.com
uid:user1
userPassword:user1
- unter Cyrus den Benutzer auch noch neu anlegen
Server | Cyrus IMAP server | Mailbox tree
create mailbox: user/user1
user's mailbox: deaktivieren
auf der Konsole
cyradm --auth plain --user cyrus localhost
Passwort: sogo
cm - Benutzer anlegen
lm - Benutzer anzeigen
cm user/user1 lm
http://<IP-Adresse>/SOGo
Benutzername: user1
Passwort: user1
- OpenSource Komponenten die benötigt werden
SOGo
OpenChange/Samba4 (Outlook compatibility)
MySQL (database server)
OpenLDAP (LDAP directory)
Cyrus (IMAP server)
Postfix (SMTP server)
Apache (Web server)
- Erweitern der PaketQuellen
# /etc/apt/sources.list.d/SOGo.list # SOGo Groupware Erweiterung deb http://inverse.ca/ubuntu precise precise deb-src http://inverse.ca/ubuntu precise precise # aktuellste Version (kann Fehler enthalten) # deb http://inverse.ca/ubuntu-nightly precise precise
- Key importieren
gpg --keyserver subkeys.pgp.net --recv 19CDA6A9810273C4 gpg --export --armor 19CDA6A9810273C4 | sudo apt-key add -
- Installation starten
apt-get update apt-get install mysql-common mysql-server apache2-mpm-prefork \ postfix sasl2-bin cyrus-imapd-2.4 cyrus-admin-2.4 \ samba4 sogo sogo-dbg openchangeserver sogo-openchange \ openchangeproxy openchange-ocsmanager openchange-rpcproxy \ ldap-utils libsasl2-modules-ldap postfix-ldap slapd \ imapproxy libnet-ldap-perl memcached
MySQL
Apache
OpenLDAP
SASL
Postfix
Cyrus
Samba
Webmin
SOGo
Cron
Dateien/Befehle | Beschreibung |
---|---|
/home/sogo/GNUstep/Defaults/.GNUstepDefaults | Konfigurationsdatei |
/var/log/sogo/sogo.log | LOG Datei |
service sogo start | SOGo starten |
service sogo status | SOGo Status |
service sogo stop | SOGo stop |
su - sogo | als Benutzer sogo anmelden |
http://<SOGO-Server>/SOGo
- Zugriff Webmail Anmeldung
http://<SOGO-Server>:10000/
- Webmin Administration
- um alle LOG Files in der Übersicht zu haben, am einfachsten einen Alias anlegen
# /etc/profile.d/aliase.sh alias tailsogo='tail -f /var/log/syslog /var/log/mysql.log /var/log/mail.log \ /var/log/sogo/sogo.log /var/log/ocsmanager/ocsmanager.log /var/log/samba/log.samba'
Zeichensatz für die Datenbank festlegen
# /etc/mysql/my.cnf ... [client] default-character-set = utf8 ... [mysqld] character_set_server = utf8 character_set_client = utf8 ... [mysql] default-character-set = utf8 ...
- am MySQL Server anmelden als root
mysql -u root -p
- Datenbank erstellen und Benutzer sogo Zugriff gewähren.
CREATE DATABASE `sogo`; CREATE USER 'sogo'@'localhost' IDENTIFIED BY 'sogo_UserPasswort'; GRANT ALL PRIVILEGES ON `sogo`.* TO 'sogo'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; exit
- die SOGo.conf wie folgt anpassen
# /etc/apache2/conf.d/SOGo.conf ... <Proxy http://127.0.0.1:20000/SOGo> ## adjust the following to your configuration RequestHeader set "x-webobjects-server-port" "80" # RequestHeader set "x-webobjects-server-port" "443" # RequestHeader set "x-webobjects-server-name" "yourhostname" # RequestHeader set "x-webobjects-server-url" "https://yourhostname" ## When using proxy-side autentication, you need to uncomment and ## adjust the following line: # RequestHeader set "x-webobjects-remote-user" "%{REMOTE_USER}e" RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0" RequestHeader set "x-webobjects-remote-host" %{REMOTE_HOST}e env=REMOTE_HOST ...
- Module Proxy, Headers und Rewrite aktivieren
a2enmod proxy proxy_http headers rewrite include wsgi service apache2 restart
- wenn noch eine Startseite vor der Webmail Anmeldung läuft noch folgende anpassungen vornehmen, index.shtml
als Indexsite aktivieren und SSI aktivieren
# /etc/apache2/mods-enabled/dir.conf <IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm index.shtml </IfModule>
# /etc/apache2/sites-enabled/000-default ... <Directory /var/www/> Options Indexes FollowSymLinks MultiViews +Includes AllowOverride None ...
Grundkonfiguration
- Port auf dem OpenLDAP läuft auf 3389 ändern, da Samba4 schon 389 benutzt.
# /etc/default/slapd ... SLAPD_SERVICES="ldap://127.0.0.1:3389/" ...
- LDAP Daten zurücksetzen
dpkg-reconfigure slapd
DNS-Domainname:domain.tld
Name der Organisation:domain.tld
# domain.tld dn: dc=domain,dc=tld objectClass: top objectClass: dcObject objectClass: organization o: domain.tld dc: domain # admin, domain.tld dn: cn=admin,dc=domain,dc=tld objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator
ldapsearch -h localhost -p 3389 -x -b dc=domain,dc=tld
Ausgabe aufs wesentliche beschränkt
ldapsearch -h localhost -p 3389 -xLLL -b dc=domain,dc=tld
- OUs hinzufügen
# sogo.ldif # Zweite Stufe - Organisationseinheiten dn: ou=benutzer,dc=domain,dc=tld objectclass: organizationalunit ou: benutzer description: Benutzer OU dn: ou=service,dc=domain,dc=tld objectclass: organizationalunit ou: service description: Service OU
OUs ins LDAP importieren
ldapadd -h localhost -p 3389 -x -W -D 'cn=admin, dc=domain,dc=tld' -f sogo.ldif
- Benutzer hinzufügen
# user.ldif # Dritte Stufe - Benutzer dn: uid=user1,ou=benutzer,dc=domain,dc=tld cn:Max Mustermann sn:Mustermann givenName:Max mail:user1@domain.tld uid:user1 userPassword: {SSHA}OR5F+XAEoQ+3mlzZnE6XguqEo4s8G8hn objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person
Benutzer ins LDAP importieren
ldapadd -h localhost -p 3389 -x -W -D 'cn=admin, dc=domain,dc=tld' -f user.ldif
als Admin, Passwort für einen User setzen
ldappasswd -h localhost -p 3389 -xWD cn=admin,dc=domain,dc=tld uid=user1,ou=benutzer,dc=domain,dc=tld -s NewUserPasswd
- Cyrus Service registrieren
# cyrus.ldif # cyrus Service dn: cn=cyrus,ou=service,dc=domain,dc=tld cn: cyrus sn: cyrus objectClass: person objectClass: top userPassword: sogo
ldapadd -h localhost -p 3389 -x -W -D 'cn=admin, dc=domain,dc=tld' -f cyrus.ldif
- Daemon Start aktivieren
# /etc/default/saslauthd START=yes MECHANISMS="ldap" ...
# /etc/saslauthd.conf ldap_servers: ldap://localhost:3389/ ldap_version: 3 ldap_auth_method: bind ldap_search_base: dc=domain,dc=tld ldap_filter: (|(uid=%U)(cn=%U)) ldap_scope: sub
- Daemon starten
service saslauthd start
- SASL Auth testen
testsaslauthd -u <Benutzer> -p <Passwort>
# /etc/postfix/main.cf # smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # myhostname = sogo.domain.tld alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = sogo mydestination = localhost, $myhostname, $mydomain relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all virtual_alias_maps = ldap:/etc/postfix/people.ldap mailbox_transport = lmtp:127.0.0.1:24
# /etc/postfix/people.ldap # version = 3 server_port = 3389 timeout = 60 search_base = ou=benutzer,dc=domain,dc=tld query_filter = (mail=%s) result_attribute = uid bind = no
# /etc/cyrus.conf # START { recover cmd="/usr/sbin/cyrus ctl_cyrusdb -r" delprune cmd="/usr/sbin/cyrus expire -E 3" tlsprune cmd="/usr/sbin/cyrus tls_prune" } SERVICES { imap cmd="imapd -U 30" listen="imap" prefork=0 maxchild=100 pop3 cmd="pop3d -U 30" listen="pop3" prefork=0 maxchild=50 lmtp cmd="lmtpd -a" listen="127.0.0.1:24" prefork=0 maxchild=20 sieve cmd="timsieved" listen="localhost:sieve" prefork=0 maxchild=100 notify cmd="notifyd" listen="/var/run/cyrus/socket/notify" proto="udp" prefork=1 } EVENTS { checkpoint cmd="/usr/sbin/cyrus ctl_cyrusdb -c" period=30 delprune cmd="/usr/sbin/cyrus expire -E 3" at=0401 tlsprune cmd="/usr/sbin/cyrus tls_prune" at=0401 }
# /etc/imapd.conf altnamespace: yes unixhierarchysep: yes admins: cyrus sasl_mech_list: PLAIN sasl_pwcheck_method: alwaystrue # # ubuntu defaults allowanonymouslogin: no allowplaintext: yes autocreatequota: 0 configdirectory: /var/lib/cyrus defaultpartition: default hashimapspool: true idlesocket: /var/run/cyrus/socket/idle lmtp_downcase_rcpt: yes lmtpsocket: /var/run/cyrus/socket/lmtp mboxname_lockpath: /var/lib/cyrus/lock newsspool: /var/spool/news notifysocket: /var/run/cyrus/socket/notify partition-default: /var/spool/cyrus/mail partition-news: /var/spool/cyrus/news popminpoll: 1 proc_path: /var/run/cyrus/proc sasl_auto_transition: no sievedir: /var/spool/sieve sieveusehomedir: false syslog_prefix: cyrus tls_ca_path: /etc/ssl/certs tls_cipher_list: TLSv1+HIGH:!aNULL:@STRENGTH tls_session_timeout: 1440 umask: 077
- unter Cyrus die Mailbenutzer anlegen (Passwort zum cyradm
wurde mit dem LDAP Eintrag definiert)
cyradm --auth plain --user cyrus localhost Passwort: sogo cm user/user1
#/etc/samba/smb.conf # # Global parameters [global] workgroup = OPENCHANGE realm = domain.tld netbios name = SOGO server role = active directory domain controller passdb backend = samba4 dcerpc endpoint servers = epmapper, mapiproxy dcerpc_mapiproxy:server = true dcerpc_mapiproxy:interfaces = exchange_emsmdb, exchange_nsp, exchange_ds_rfr [netlogon] path = /var/lib/samba/sysvol/domain.tld/scripts read only = No [sysvol] path = /var/lib/samba/sysvol read only = No
- Webmin laden und Paket installieren
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.600_all.deb dpkg --install webmin_1.600_all.deb aptitude install webmin
- Zugriff Webmin Konfiguration
http://<Webmin-Server>:10000/
- Webmin starten / stoppen
service webmin start service webmin status service webmin stop
- Anpassung OpenLDAP an Port 3389
Webmin unter Server | LDAP Server | Modulkonfiguration
LDAP Server Port - 3389
Passwort für LDAP-Server - <OpenLDAP Server Kennwort>
- Anmelden als SOGo Benutzer
sudo su - sogo
- SOGo KonfigurationsScript erstellen sogo.script
, mit dem Script wird die Datei /home/sogo/GNUstep/Defaults/.GNUstepDefaults
konfiguriert
touch sogo.script chmod +x sogo.script
# sogo.script defaults write sogod SOGoACLsSendEMailNotifications YES defaults write sogod OCSEMailAlarmsFolderURL "mysql://sogo:sogo@localhost:3306/sogo/sogo_alarms_folder" defaults write sogod OCSFolderInfoURL "mysql://sogo:sogo@localhost:3306/sogo/sogo_folder_info" defaults write sogod OCSSessionsFolderURL "mysql://sogo:sogo@localhost:3306/sogo/sogo_sessions_folder" defaults write sogod SOGoAppointmentSendEMailNotifications YES defaults write sogod SOGoEnableEMailAlarms YES defaults write sogod SOGoIMAPServer mail.domain.tld defaults write sogod SOGoMailingMechanism smtp defaults write sogod SOGoProfileURL "mysql://sogo:sogo@localhost:3306/sogo/sogo_user_profile" defaults write sogod SOGoSMTPServer mail.domain.tld defaults write sogod SOGoSieveScriptsEnabled YES defaults write sogod SOGoSieveServer sieve://127.0.0.1:4190 defaults write sogod SOGoTimeZone "Europe/Berlin" defaults write sogod SOGoUserSources '({CNFieldName = cn;IDFieldName = uid;UIDFieldName = uid; baseDN = "ou=benutzer,dc=domain,dc=tld"; bindDN = "cn=admin,dc=domain,dc=tld"; bindPassword = sogo; canAuthenticate = YES; displayName = "Shared Addresses"; hostname = "127.0.0.1"; port = 3389; id = public; isAddressBook = YES; type = ldap;})' defaults write sogod SOGoVacationEnabled YES defaults write sogod SOGoSupportedLanguages '("German","English")'
weitere möglicheParameter (!!! Liste nicht vollständig)
defaults write sogod SOGoMailDomain "domain.tld" defaults write sogod SOGoLanguage German defaults write sogod SOGoFoldersSendEMailNotifications YES defaults write sogod SOGoCalendarDefaultRoles '("PublicViewer","ConfidentialDAndTViewer")' defaults write sogod SOGoMemcachedHost 127.0.0.1
- Abwesenheitsnotiz und eMail Benachrichtigung aktivieren
# /etc/cron.d/sogo 0 0 * * * sogo /usr/sbin/sogo-tool expire-autoreply authname:authpassword * * * * * sogo /usr/sbin/sogo-ealarms-notify
Fehlermeldung: im LOG /var/log/sogo/sogo.log
sogod [2943]: <0x0xaa90c0[SOGoProductLoader]> AdministrationUI.SOGo, MailPartViewers.SOGo, SchedulerUI.SOGo, Mailer.SOGo, MainUI.SOGo, ContactsUI.SOGo, PreferencesUI.SOGo, Contacts.SOGo, CommonUI.SOGo, MailerUI.SOGo, Appointments.SOGo
sogod[2943] Assertion failed in UIxComponent(instance), method initialize. invalid superclass (SoComponent) version 0 !
/usr/sbin/sogod: Uncaught exception NSInternalInconsistencyException, reason: UIxComponent.m:77 Assertion failed in UIxComponent(instance), method initialize. invalid superclass (SoComponent) version 0 !
Lösung:
Versionen der Pakete prüfen
libsope-core4.9 libsope-gdl1-4.9 libsope-ldap4.9 libsope-mime4.9 libsope-xml4.9 sope4.9-gdl1-mysql sope4.9-libxmlsaxdriver
dpkg -l | grep sope dpkg -P --force-all libsope-core4.9 libsope-gdl1-4.9 libsope-ldap4.9 libsope-mime4.9 \ libsope-xml4.9 sope4.9-gdl1-mysql sope4.9-libxmlsaxdriver apt-get install libsope-core4.9 libsope-gdl1-4.9 libsope-ldap4.9 libsope-mime4.9 \ libsope-xml4.9 sope4.9-gdl1-mysql sope4.9-libxmlsaxdriver