Debian Open-Xchange: Unterschied zwischen den Versionen
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
Open-Xchange (http://www.open-xchange.com) ist ein sehr umfangreicher und sehr komfortabler Groupware-Server. Dank massivem Ajax- und Java-Einsatzes, ist dieser in der Bedienung einem Standalone Programm sehr ähnlich. | Open-Xchange (http://www.open-xchange.com) ist ein sehr umfangreicher und sehr komfortabler Groupware-Server. Dank massivem Ajax- und Java-Einsatzes, ist dieser in der Bedienung einem Standalone Programm sehr ähnlich. | ||
{{Rechteck3|'''Hinweis:''' | |||
:Der Server sollte mindestens 1GB Ram, besser 2GB Ram haben, damit Open-Xchange sinnvoll eingesetzt werden kann. Die Ajax- und Java basierte Oberfläche hat einen relativ großen Ressourcen-Verbrauch zur Folge.}} | |||
Voraussetzungen: | Voraussetzungen: | ||
Zeile 35: | Zeile 37: | ||
Nach dem Download aller Pakete erscheint das Java Licence Agreement. Dieses mit OK bestätigen: '''''Tab+Enter''''' | Nach dem Download aller Pakete erscheint das Java Licence Agreement. Dieses mit OK bestätigen: '''''Tab+Enter''''' | ||
Die Java Einverständnis-Frage mit ja beantworten: '''''Cursor links/rechts + Enter''''' | Die Java Einverständnis-Frage mit ja beantworten: '''''Cursor links/rechts + Enter''''' | ||
===Apache konfigurieren=== | |||
Damit Open-Xchange korrekt funktioniert, müssen einige Module aktiviert und Optionen von Apache angepasst werden. | |||
a2enmod proxy | |||
a2enmod proxy_ajp | |||
a2enmod expires | |||
a2enmod deflate | |||
a2enmod headers | |||
vi /etc/apache2/conf.d/proxy_ajp.conf | |||
Folgenden Inhalt einfügen: | |||
<Proxy *> | |||
Order deny,allow | |||
allow from all | |||
</Proxy> | |||
ProxyPass /axis2 ajp://127.0.0.1:8009/axis2 smax=0 ttl=60 retry=5 | |||
ProxyPass /ajax ajp://127.0.0.1:8009/ajax smax=0 ttl=60 retry=5 | |||
ProxyPass /servlet ajp://127.0.0.1:8009/servlet smax=0 ttl=60 retry=5 | |||
ProxyPass /infostore ajp://127.0.0.1:8009/infostore smax=0 ttl=60 retry=5 | |||
vi /etc/apache2/sites-enabled/000-default | |||
Folgende Zeilen am Ende '''(vor der Zeile </VirtualHost>)''' einfügen: | |||
<Directory /var/www/ox6> | |||
AllowOverride None | |||
Order allow,deny | |||
allow from all | |||
</Directory> | |||
ExpiresActive On | |||
ExpiresByType image/gif "access plus 23 hours" | |||
ExpiresByType image/png "access plus 23 hours" | |||
ExpiresByType image/jpg "access plus 23 hours" | |||
ExpiresByType image/jpeg "access plus 23 hours" | |||
ExpiresByType text/javascript "access plus 23 hours" | |||
ExpiresByType text/css "access plus 23 hours" | |||
ExpiresByType text/html "access plus 23 hours" | |||
ExpiresByType application/x-javascript "access plus 23 hours" | |||
<Files ~ "\.(js|css|gif|jpe?g|png)$"> | |||
Header append Cache-Control "public" | |||
</Files> | |||
DeflateFilterNote ratio | |||
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript | |||
BrowserMatch ^Mozilla/4 gzip-only-text/html | |||
BrowserMatch ^Mozilla/4\.0[678] no-gzip | |||
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html | |||
Header append Vary User-Agent env=!dont-vary | |||
sodass das Ende des Files /etc/apache2/sites-enabled/000-default folgendermaßen aussieht: | |||
... | |||
BrowserMatch ^Mozilla/4 gzip-only-text/html | |||
BrowserMatch ^Mozilla/4\.0[678] no-gzip | |||
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html | |||
Header append Vary User-Agent env=!dont-vary | |||
</VirtualHost> | |||
Webserver neu starten um die Änderungen zu übernehmen: | |||
/etc/init.d/apache2 restart | |||
===Datenbank anlegen=== | ===Datenbank anlegen=== | ||
Zeile 76: | Zeile 136: | ||
./createcontext -A oxadminmaster -P '''''admin_pwd''''' -c 1 -u oxadmin -d "Context Admin" -g Admin -s User \ | ./createcontext -A oxadminmaster -P '''''admin_pwd''''' -c 1 -u oxadmin -d "Context Admin" -g Admin -s User \ | ||
-p '''''admin_pwd''''' -L defaultcontext -e oxadmin@'''''domain.org''''' -q 1024 --access-combination-name=all | -p '''''admin_pwd''''' -L defaultcontext -e oxadmin@'''''domain.org''''' -q 1024 --access-combination-name=all | ||
Setzen der korrekten Eigentümerrechte: | |||
chown -R open-xchange.open-xchange /opt/open-xchange/ | |||
Starten des Groupware-Servers: | Starten des Groupware-Servers: | ||
Zeile 191: | Zeile 254: | ||
URL-Eingeben, unter der Oüpen-Xchange erreichbar ist. Hier zwei Beispiele (nur eine eintragen): | URL-Eingeben, unter der Oüpen-Xchange erreichbar ist. Hier zwei Beispiele (nur eine eintragen): | ||
URL=http://'''''IP_Des_Servers'''''/ox6/admingui/login.php?u=%u&p=%p | URL=http://'''''IP_Des_Servers'''''/ox6/admingui/login.php?u=%u&p=%p | ||
URL=https://'''''Domain.org'''''/admingui/login.php?u=%u&p=%p | URL=https://'''''Domain.org'''''/ox6/admingui/login.php?u=%u&p=%p | ||
Open-Xchange neustarten: | Open-Xchange neustarten: | ||
Zeile 213: | Zeile 276: | ||
Für die MySQL-basierte authorisierung von User sind die beiden folgenden Module erforderlich: | Für die MySQL-basierte authorisierung von User sind die beiden folgenden Module erforderlich: | ||
apt-get install libnss-mysql libpam-mysql | apt-get install libnss-mysql libpam-mysql | ||
{{Rechteck3|'''Hinweis:''' | |||
:Bei zwei Testinstallationen wurde festgestellt, dass die Datenbank von Open-Xchange nicht immer den selben Namen trägt. Einmal war dieser oxdatabase_6 und einmal oxdatabase_7. Deshalb sollte vor der Fortsetzung der Konfiguration mittels phpmyadmin (siehe [[Debian_MySQL|→ siehe auch hier]]) der exakte Datenbankname -> '''''OX-DB''''' ermittelt werden und in folgenden Einstellungen enstprechend angepasst werden.}} | |||
vi /etc/pam.d/imap | vi /etc/pam.d/imap | ||
Alle vorhandenen Einträge auskommentieren (#-Zeichen davor setzen) und folgende Zeilen einfügen | Alle vorhandenen Einträge auskommentieren (#-Zeichen davor setzen) und folgende Zeilen einfügen | ||
Zeile 218: | Zeile 285: | ||
:Sämtliche Einträge hinter ''auth'' in eine Zeile und hinter ''accout'' in eine Zeile. Die Zeilenumbrüche sind nur zur Erhöhung der Übersichtlichkeit eingefügt.}} | :Sämtliche Einträge hinter ''auth'' in eine Zeile und hinter ''accout'' in eine Zeile. Die Zeilenumbrüche sind nur zur Erhöhung der Übersichtlichkeit eingefügt.}} | ||
auth optional pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd='''''ox_pwd''''' db= | auth optional pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd='''''ox_pwd''''' db='''''OX-DB''''' | ||
[table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] [where=user.cid=1] | [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] [where=user.cid=1] | ||
usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1 | usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1 | ||
account required pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd='''''ox_pwd''''' db= | account required pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd='''''ox_pwd''''' db='''''OX-DB''''' | ||
[table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] [where=user.cid=1] | [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] [where=user.cid=1] | ||
usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1 | usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1 | ||
Zeile 253: | Zeile 320: | ||
AND login2user.uid='%1$s'; | AND login2user.uid='%1$s'; | ||
host localhost | host localhost | ||
database | database '''''OX-DB''''' | ||
username openexchange | username openexchange | ||
password '''''ox_pwd''''' | password '''''ox_pwd''''' | ||
Zeile 286: | Zeile 353: | ||
===Neuen User anlegen=== | ===Neuen User anlegen=== | ||
Um einen komplett neuen User '''''Tux_neu''''' anzulegen müssen folgende Schritte ausgeführt werden: | Um einen komplett neuen User '''''Tux_neu''''' anzulegen müssen folgende Schritte ausgeführt werden: | ||
* User '''''Tux_neu''''' in der Open-Xchange Datenbank anlegen ([[Debian_Open-Xchange#User anlegen|→ siehe hier]]) | * User '''''Tux_neu''''' in der Open-Xchange Datenbank anlegen ([[Debian_Open-Xchange#User anlegen|→ siehe hier mittels Befehl]] oder [[Debian_Open-Xchange#Open-Xchangen Admin Oberfläche|→ siehe hier mittels Adminoberfläche]]) | ||
* Postfach anlegen ([[Debian_Postfix_und_Cyrus_Imapd#Mailuser anlegen|→ siehe auch hier]]): | * Postfach anlegen ([[Debian_Postfix_und_Cyrus_Imapd#Mailuser anlegen|→ siehe auch hier]]): | ||
cyradm --user cyrus localhost | cyradm --user cyrus localhost |
Version vom 12. April 2009, 18:56 Uhr
Allgemein
Open-Xchange (http://www.open-xchange.com) ist ein sehr umfangreicher und sehr komfortabler Groupware-Server. Dank massivem Ajax- und Java-Einsatzes, ist dieser in der Bedienung einem Standalone Programm sehr ähnlich.
- Der Server sollte mindestens 1GB Ram, besser 2GB Ram haben, damit Open-Xchange sinnvoll eingesetzt werden kann. Die Ajax- und Java basierte Oberfläche hat einen relativ großen Ressourcen-Verbrauch zur Folge.
Voraussetzungen:
Installation
Installation der Pakete
Zunächst muß das Open-Xchange Repository zur Liste der apt-get Sources angelegt werden:
vi /etc/apt/sources.list
Folgende Zeile anhängen:
deb http://download.opensuse.org/repositories/server:/OX:/ox6/DebianLenny/ /
- Folgende Zeilen stellen einen Befehl dar, der sich über mehrere Zeilen erstreckt.
apt-get install open-xchange-admin-client open-xchange-admin-soap \ open-xchange-admin-doc open-xchange-admin-plugin-hosting-doc \ open-xchange-admin-plugin-hosting open-xchange-admin open-xchange-axis2 \ open-xchange-authentication-database open-xchange-cache \ open-xchange-charset open-xchange-common open-xchange-configjump-generic \ open-xchange-configread open-xchange-control open-xchange-data-conversion-ical4j \ open-xchange-conversion-engine open-xchange-conversion-servlet \ open-xchange-global open-xchange-group-managerequest open-xchange-gui \ open-xchange-i18n open-xchange-imap open-xchange-jcharset open-xchange-mailfilter \ open-xchange-management open-xchange-monitoring open-xchange-online-help-de \ open-xchange-passwordchange-database open-xchange-passwordchange-servlet \ open-xchange-push-udp open-xchange-resource-managerequest open-xchange-server \ open-xchange-sessiond open-xchange-settings-extensions open-xchange-smtp \ open-xchange-spamhandler-default open-xchange open-xchange-contactcollector
Nach dem Download aller Pakete erscheint das Java Licence Agreement. Dieses mit OK bestätigen: Tab+Enter Die Java Einverständnis-Frage mit ja beantworten: Cursor links/rechts + Enter
Apache konfigurieren
Damit Open-Xchange korrekt funktioniert, müssen einige Module aktiviert und Optionen von Apache angepasst werden.
a2enmod proxy a2enmod proxy_ajp a2enmod expires a2enmod deflate a2enmod headers
vi /etc/apache2/conf.d/proxy_ajp.conf
Folgenden Inhalt einfügen:
<Proxy *> Order deny,allow allow from all </Proxy> ProxyPass /axis2 ajp://127.0.0.1:8009/axis2 smax=0 ttl=60 retry=5 ProxyPass /ajax ajp://127.0.0.1:8009/ajax smax=0 ttl=60 retry=5 ProxyPass /servlet ajp://127.0.0.1:8009/servlet smax=0 ttl=60 retry=5 ProxyPass /infostore ajp://127.0.0.1:8009/infostore smax=0 ttl=60 retry=5
vi /etc/apache2/sites-enabled/000-default
Folgende Zeilen am Ende (vor der Zeile </VirtualHost>) einfügen:
<Directory /var/www/ox6> AllowOverride None Order allow,deny allow from all </Directory> ExpiresActive On ExpiresByType image/gif "access plus 23 hours" ExpiresByType image/png "access plus 23 hours" ExpiresByType image/jpg "access plus 23 hours" ExpiresByType image/jpeg "access plus 23 hours" ExpiresByType text/javascript "access plus 23 hours" ExpiresByType text/css "access plus 23 hours" ExpiresByType text/html "access plus 23 hours" ExpiresByType application/x-javascript "access plus 23 hours" <Files ~ "\.(js|css|gif|jpe?g|png)$"> Header append Cache-Control "public" </Files> DeflateFilterNote ratio AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html Header append Vary User-Agent env=!dont-vary
sodass das Ende des Files /etc/apache2/sites-enabled/000-default folgendermaßen aussieht:
... BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html Header append Vary User-Agent env=!dont-vary </VirtualHost>
Webserver neu starten um die Änderungen zu übernehmen:
/etc/init.d/apache2 restart
Datenbank anlegen
Open-Xchange bringt ein umfangreiches Script mit, um die Datenbank anzulegen und einzurichten. Dieses funktioniert allerdings nur, wenn dem MySQL-Superuser root kein Paswort zugeordnet ist. Zum Entfernen des Paswortes folgenden Befehl eingeben:
mysqladmin -u root -p password ' ' (Kein Leerzeichen zwischen den zwei ' Zeichen)
Das alte root_pwd eingeben, um das Paswort endgültig zu löschen.
Einrichten der Datenbank (ox_pwd mit einem sinnvollen Passwort für die Datenbank ersetzen):
/opt/open-xchange/sbin/initconfigdb --configdb-pass=ox_pwd -a
- Unbedingt wieder das Root-Passwort für den MySQL-Datenbankserver vergeben, da ansonsten jeder Datenbanken und weitere User anlegen, löschen oder sich Rechte erteilen könnte:
mysqladmin -u root password root_pwd
Abschließen der Installation
Starten des Adminservers:
/etc/init.d/open-xchange-admin start
Vergeben eines Passwortes für den Administrator: admin_pwd
cd /opt/open-xchange/sbin ./oxinstaller --servername=oxserver --configdb-pass=ox_pwd --master-pass=admin_pwd --ajp-bind-port=localhost
Adminserver neustarten, um die Änderungen des oxinstallers zu übernehmen.
/etc/init.d/open-xchange-admin restart
Registrieren des Servers bei der Datenbank:
./registerserver -n oxserver -A oxadminmaster -P admin_pwd
Anlegen eines lokalen Filestore:
mkdir /var/opt/filestore chown open-xchange:open-xchange /var/opt/filestore ./registerfilestore -A oxadminmaster -P admin_pwd -t file:///var/opt/filestore
Registrieren der Groupware Datenbank:
./registerdatabase -A oxadminmaster -P admin_pwd -n oxdatabase -p ox_pwd -m true
Context anlegen (Befehl besteht aus zwei Zeilen ; domain.org durch reale Domain ersetzen):
./createcontext -A oxadminmaster -P admin_pwd -c 1 -u oxadmin -d "Context Admin" -g Admin -s User \ -p admin_pwd -L defaultcontext -e oxadmin@domain.org -q 1024 --access-combination-name=all
Setzen der korrekten Eigentümerrechte:
chown -R open-xchange.open-xchange /opt/open-xchange/
Starten des Groupware-Servers:
/etc/init.d/open-xchange-groupware start
User anlegen
User die auf Open-Xchange Zugriff erhalten sollen müssen zuvor in der Datenbank angelegt werden. Damit später Imap-User gegen die Open-Xchange Datenbank authorisiert werden können (|→ siehe hier) , muß noch das Passwort-Hashing-Verfahren auf CRYPT geändert werden:
vi /opt/open-xchange/etc/admindaemon/User.properties
Den Eintrag DEFAULT_PASSWORD_MECHANISM von SHA auf CRYPT abändern:
DEFAULT_PASSWORD_MECHANISM=CRYPT
createuser kennt folgende Optionen:
Long Parameter | Short Parameter | Bedeutung |
---|---|---|
--adminuser | -A | Adminuser der zur Authorisierung nötig ist. Normalerweise oxadmin |
--adminpass | -P | Passwort admin_pwd des Users oxadmin |
--contextid | -c | Context-ID. Normalerweise 1 |
--username | -u | Username (Loginname) |
--displayname | -d | Displayname: In Open-Xchange angezeigter Name |
--password | -p | Passwort des neu anzulegenden Users |
-e | Emailadresse des neuen Users | |
--givenname | -g | Givenname: Z.B. Vorname des Users |
--surname | -s | Nachname des Users |
--language | -l | Defaultsprache der Open-Xchange Oberfläche des neuen Users. Kann auch in den Optionen später vom Nutzer selbst geändert werden. |
--department | -x | Abteilung |
--company | -z | Firma |
--imaplogin | Loginname des Nutzers auf dem Imap-Server | |
--imapserver | Hostadresse des Imap-Servers. Normalerweise localhost | |
--smtpserver | Hostadresse des SMTP-Servers. Normalerweise localhost |
Anlegen des Users Tux (Befehl besteht aus zwei Zeilen):
./createuser -c 1 -A oxadmin -P admin_pwd -u tux -d "User Tux" -g tux -s Tux_Vorname \ -p tux_pwd -e tux@domain.org --imaplogin tux --imapserver localhost --smtpserver localhost
Funktionscheck
Webbrowser öffnen und Adresse http://IP_Des_Servers/ox6 eingeben. Der Login-Bildschirm von Open-Exchange erscheint.
Mit den Login-Daten des User Tux einloggen. Die Open-Xchange Weboberfläche erscheint.
In den Bereich Einstellungen wechseln, um diese dem persönlichen Geschmack anzupassen. Z.B. Einstellen der Sprache auf Deutsch, Zeit-und Datumsformat, Userdaten, usw.
Open-Xchangen Admin Oberfläche
Mit Hilfe der Adminoberfläche können neue User bzw. bestehende User, auf sehr viel elegantere und einfachere Art und Weise via Weboberfläche anstatt der ellenlangen createuser bzw. changeuser Befehle, angelegt bzw. bearbeitet werden.
cd /usr/local/src (evtl. mit mkdir anlegen, falls Verzeichnis nicht existiert) wget http://www.kess.cc/ox-admin-gui/at_download/file mv file ox-admingui.tar.gz tar xvf ox-admingzu.tar.gz chown -R www-data:www-data admingui vi admingui/config.php
Folgende Änderungen durchführen:
$oxadminpass = 'admin_pwd'; $domains = array("domain.org"); $adminusers = array("oxadmin", "Tux");
Mit dem Eintrag $adminusers können mehrere User die Berechtigung erhalten, die Adminoberfläche zu benutzen. Die User jeweils durch Komma getrennt angeben, wie oben im Beispiel für die User oxadmin und Tux.
Auf den Webserver verschieben:
mv admingui /var/www/ox6/
Open-Xchange Konfig anpassen, damit die Adminoberfläche ansprechbar ist:
vi /opt/open-xchange/etc/groupware/configjump.properties
URL-Eingeben, unter der Oüpen-Xchange erreichbar ist. Hier zwei Beispiele (nur eine eintragen):
URL=http://IP_Des_Servers/ox6/admingui/login.php?u=%u&p=%p URL=https://Domain.org/ox6/admingui/login.php?u=%u&p=%p
Open-Xchange neustarten:
/etc/init.d/open-xchange-admin restart /etc/init.d/open-xchange-groupware restart
Webbrowser öffnen und als Adminuser (oxadmin bzw. User, die als $adminusers eingetragen wurden) einloggen → wie hier beschrieben. Einstellungen öffnen Auf den Link Extras klicken. Ein neues Fenster mit der Adminoberfläche sollte sich öffnen. Hier können neue User angelegt bzw. bestehende bearbeitet werden.
- Es ist derzeit nicht möglich, die emailadresse und den Usernamen (Loginname) zu ändern. Dies ist für eine zukünftige Version geplant.
Optional: Imap User gegen Open-Xchange authorisieren
Nachdem Open-Xchange eine komplette Userverwaltung mitbringt, empfiehlt es sich die Imap-user gegen die Open-Xchange Datenbank zu authorisieren. Dies hat den Vorteil, dass die Passwörter nur einmal gepflegt werden müssen. Weiterhin kann jeder User sein Passwort in der Open-Xchange Weboberfläche sehr einfach ändern.
Konfiguration
Für die MySQL-basierte authorisierung von User sind die beiden folgenden Module erforderlich:
apt-get install libnss-mysql libpam-mysql
- Bei zwei Testinstallationen wurde festgestellt, dass die Datenbank von Open-Xchange nicht immer den selben Namen trägt. Einmal war dieser oxdatabase_6 und einmal oxdatabase_7. Deshalb sollte vor der Fortsetzung der Konfiguration mittels phpmyadmin (siehe → siehe auch hier) der exakte Datenbankname -> OX-DB ermittelt werden und in folgenden Einstellungen enstprechend angepasst werden.
vi /etc/pam.d/imap
Alle vorhandenen Einträge auskommentieren (#-Zeichen davor setzen) und folgende Zeilen einfügen
- Sämtliche Einträge hinter auth in eine Zeile und hinter accout in eine Zeile. Die Zeilenumbrüche sind nur zur Erhöhung der Übersichtlichkeit eingefügt.
auth optional pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd=ox_pwd db=OX-DB [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] [where=user.cid=1] usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1 account required pam_mysql.so host=/var/run/mysqld/mysqld.sock user=openexchange passwd=ox_pwd db=OX-DB [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] [where=user.cid=1] usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1
cp /etc/pam.d/imap /etc/pam.d/sieve
vi /etc/libnss-mysql.cfg
Folgende Zeilen einfügen:
- Einträge, die ganz links beginnen in eine Zeile schreiben. Die Zeilenumbrüche und Einrückungen wurden nur zur Erhöhung der Übersichtlichkeit eingefügt.
getpwnam SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,prg_contacts.field01,user.homeDirectory,user.loginShell FROM login2user,user,prg_contacts WHERE login2user.cid=1 AND login2user.id=user.id AND login2user.id=prg_contacts.userid AND login2user.uid='%1$s' LIMIT 1 getpwuid SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,prg_contacts.field01,user.homeDirectory,user.loginShell FROM login2user,user,prg_contacts WHERE user.cid=1 AND login2user.id=user.id AND prg_contacts.userid=user.id AND user.uidNumber='%1$u' LIMIT 1 getspnam SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,user.shadowLastChange,0,0,-1,-1,'A' FROM login2user,user WHERE login2user.cid=1 AND login2user.id=user.id AND login2user.uid='%1$s' LIMIT 1 getpwent SELECT login2user.uid,'x',user.uidNumber,user.gidNumber,prg_contacts.field01,user.homeDirectory,user.loginShell FROM login2user,user,prg_contacts WHERE login2user.cid=1 AND login2user.id=user.id AND login2user.id=prg_contacts.userid getspent SELECT login2user.uid,user.userPassword,user.shadowLastChange,0,0,-1,-1,'A' FROM login2user,user WHERE login2user.cid=1 AND login2user.id=user.id; getgrnam SELECT identifier,'x',gidNumber FROM groups WHERE groups.cid=1 AND identifier='%1$s' LIMIT 1 getgrgid SELECT identifier,'x',gidNumber FROM groups WHERE groups.cid=1 AND gidNumber='%1$u' LIMIT 1 getgrent SELECT identifier,'x',gidNumber FROM groups WHERE groups.cid=1 memsbygid SELECT login2user.uid FROM login2user,groups,groups_member WHERE groups.cid=1 AND groups.id=groups_member.id AND groups_member.member=login2user.id AND groups.gidNumber='%1$u' gidsbymem SELECT groups.gidNumber FROM groups,groups_member,user,login2user WHERE groups.cid=1 AND groups_member.member=user.id AND user.id=login2user.id AND groups.id=groups_member.id AND login2user.uid='%1$s'; host localhost database OX-DB username openexchange password ox_pwd
vi /etc/libnss-mysql-root.cfg
Folgende Zeilen einfügen:
username openexchange password ox_pwd
vi /etc/nsswitch.conf
Alle vorhandenen Zeilen auskommentieren (#Zeichen davor setzen) und folgende Zeilen einfügen:
passwd: files mysql group: files mysql hosts: files dns
Rechte anpassen, um das Datenbank-Passwort im File libnss-mysql-root.cfg vor fremdem Zugriff zu schützen:
chmod 600 /etc/libnss-mysql-root.cfg chmod 600 /etc/libnss-mysql.cfg chmod 600 /etc/pam.d/imap chmod 600 /etc/pam.d/sieve
Saslauth Daemon neustarten, um die Änderungen zu übernehmen.
/etc/init.d/saslauthd restart
Cyrus-User anlegen
Nachdem die User nun gegen die Open-Xchange Datenbank authorisiert werden, muß auch der Cyrus-User, der für die Administration des Imap-Servers verantwortlich ist, in der Open-Xchange Datenbank angelegt werden. Dies kann entweder via Adminoberfläche (→ siehe hier) oder mittels folgendem Befehl erfolgen:
cd /opt/open-xchange/sbin ./createuser -c 1 -A oxadmin -P admin_pwd -u cyrus -d "Cyrus Admin" -g cyrus -s Admin \ -p CYRUS_PWD -e cyrus@domain.org --imaplogin cyrus --imapserver localhost --smtpserver localhost
Neuen User anlegen
Um einen komplett neuen User Tux_neu anzulegen müssen folgende Schritte ausgeführt werden:
- User Tux_neu in der Open-Xchange Datenbank anlegen (→ siehe hier mittels Befehl oder → siehe hier mittels Adminoberfläche)
- Postfach anlegen (→ siehe auch hier):
cyradm --user cyrus localhost
Passwort CYRUS_PWD eingeben Folgende cm Befehle (create Mailbox) eingeben
cm user.Tux_neu cm user.Tux_neu.Drafts cm user.Tux_neu.Outbox cm user.Tux_neu.Sent cm user.Tux_neu.Trash
Die Adminoberfläche mit folgenden Befehlen verlassen:
quit
Funktionscheck
Wie unter → Funktionscheck beschrieben.