Debian Open-Xchange

Aus Wiki
Zur Navigation springen Zur Suche springen

Allgemein

Voraussetzungen:

Installation

Installation der Pakete

Hinweis: Folgende Zeilen stellen einen Befehl dar, der sich über mehrere Zeilen erstreckt.
apt-get install mysql-server open-xchange-admin-client \
open-xchange-admin-doc open-xchange-admin-plugin-hosting-doc \
open-xchange-admin-plugin-hosting open-xchange-admin \
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-online-help-en open-xchange-online-help-fr \
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

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 

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


Achtung:
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

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

User anlegen

User die auf Open-Xchange Zugriff erhalten sollen müssen zuvor in der Datenbank mittels folgendem Befehl angelegt werden (Befehl besteht aus zwei Zeilen) - hier als Beispiel für den User tux:

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


Groupwarestart und Funktionscheck

Zunächst muß der Groupware-Server gestartet werden:

/etc/init.d/open-xchange-groupware start

Webbrowser öffnen und Adresse http://IP_Des_Servers/ox6 eingeben. Der Login-Bildschirm von Open-Exchange erscheint.


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-Xchangen Weboberfläche sehr einfach ändern.

apt-get install libnss-mysql
vi /etc/pam.d/imap 

Alle vorhandenen Einträge auskommentieren (#-Zeichen davor setzen) und folgende Zeilen einfügen {{Rechteck3:Hinweis:

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=secret db=open-xchange-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=secret db=open-xchange-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:

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  open-xchange-db
username  openexchange
password  secret
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