Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:openxchange

Howto zur Installation OpenXchange5 + Lighttpd 1.50

Autor: sledge0303

Erstellt auf: Debian 4.0 (Etch)
getestet auf: Rootserver mit 256MB RAM


Es gelten die allgemeinen Bedingungen des Rootwikies. Vervielfältigung dieses Howtos nur mit Zustimmung des Autors erlaubt!!!
Ziel der Installation:
Installation von OpenXchange5, Version 0.8.8-0 mit Lighttpd 1.5.0 als Webdaemon
Gestützt wird OpenXchange durch eine PgSQL Datenbank und OpenLDAP für die Verwaltung von Benutzeraccounts.

Bei OpenXchange handelt es sich um eine auf Java basierende Groupware. Wer vor der Installation mehr Informationen haben möchte, sollte sich auf die Homepage des Herstellers erkundigen.

Die Installation erfolgt in folgenden Schritten:

0. Erstellung Lighttpd als Debianpaket
1. Installation und Konfiguration Lighttpd + SSL + PHP5 als spawn-fcgi
2. Download benötigter Software und Installation von Abhängigkeiten
3. Installation & Konfiguration OpenXchange
4. PgSQL und OpenLDAP
5. Installation Mailserver

Bevor ihr loslegt, bitte lesen

0. Erstellung Lighttpd als Debianpaket

Solltet ihr bereits ein funktionsfähiges Lighttpd 1.5.0 erstellt haben, bitte weiter zu Punkt 1

Alternativ kann der Lighty als fertiges deb runtergeladen werden.
Zur Zeit noch nicht verfügbar FIXME

0.1 Installation der Abhängigkeiten

apt-get install -y zlib1g libpcre3-dev zlib1g-dev libbz2-dev \
libssl-dev debhelper libgtkhtml2-0 libgtkhtml2-dev gcc g++ flex libcurl3-dev libxpm-dev

0.2 Download Quellpakete Lighttpd 1.5.0 und 1.4.7

cd /usr/src

wget http://www.lighttpd.net/download/lighttpd-1.5.0-r1992.tar.gz
wget http://download.nixhelp.de/sonstiges/lighttpd-1.4.7.tar.gz
tar zxf lighttpd-1.5.0-r1857.tar.gz
tar zxf lighttpd-1.4.7.tar.gz
cp -R lighttpd-1.4.7/debian lighttpd-1.5.0/
cd lighttpd-1.5.0/
nano debian/changelog

Jetzt bearbeitest du die Changelog Datei, indem du den oberen Block nach unten stehendem Muster bearbeitest

lighttpd (1.5.0) unstable; urgency=low
  
* updated to 1.5.0
  
-- Dein Name <deine@mail.de>  Sun, 09 May 2007 22:48:00 +0200

Sind die Änderungen vorgenommen worden, kann jetzt endlich der Lighty als Debianpaket gebaut werden

dpkg-buildpackage
cd ..

Läuft alles ohne Fehlermeldungen durch, findet man diese Datei:

lighttpd_1.5.0_i386.deb

Diese wird jetzt installiert

dpkg -i lighttpd_1.5.0_i386.deb

Hinweis, für den Fall ihr wollt/müsst OpenXchange erneut installieren, sichert dieses Paket zu Hause oder in einem
Verzeichnis auf dem Server, welches selbst nach einer Neuinstallation nicht gelöscht wird. Dann kann man sich
diesen Schritt zukünftig ersparen.

1. Installation und Konfiguration Lighttpd + SSL + PHP5 als spawn-fcgi

1.1 Verzeichnisse werden erstellt

mkdir -p /usr/ox
mkdir -p /var/www/ox/htdocs
mkdir -p /var/www/ox/cgi-bin
mkdir -p /var/www/domain/htdocs
mkdir -p /etc/lighttpd/ssl

1.2 Benötigte Pakete installieren

Für die Grundinstallation des LDAP Servers wird temporär irgendein Passwort erstellt, egal welches.
Der Domainname für LDAP wird nicht korrekt erstellt, dies werden wir später manuell berichtigen:
Du kannst überall, mit Ausnahme von der Passworteingabe, alles mit <ENTRER> blind bestätigen.
Die Lizenzbedingungen für Java müssen akzeptiert werden

apt-get install -y postgresql-8.1 libnet-ssleay-perl libio-socket-ssl-perl libxml-namespacesupport-perl \
libxml-sax-perl libauthen-sasl-perl libconvert-asn1-perl libnet-ldap-perl \
ldap-utils libldap2 slapd db4.2-util sudo cpp g++ unzip sun-java5-jdk sun-java5-bin \
ant ant-optional openssl ssl-cert libglib2.0-0 libpcre3 lynx

1.3 Zertifikat

openssl req -new -nodes -x509 -keyout /etc/lighttpd/ssl/lighttpd.pem -out /etc/lighttpd/ssl/lighttpd.pem -days 365

Der Kontext sieht in etwa so aus:

Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]: <dein Bundesland>
Locality Name (eg, city) []: <deine Stadt>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<Musterfirma>
Organizational Unit Name (eg, section) []:<Musterabteilung>
Common Name (eg, YOUR name) []:<www.deinedomain.de>
Email Address []:mailadmin@deinedomain.de

Anschließend noch kleine Änderung an den Dateirechten für das Zertifikat

chown www-data:www-data /etc/lighttpd/ssl/lighttpd.pem
chmod 600 /etc/lighttpd/ssl/lighttpd.pem

1.4 Konfiguration Lighttpd

Bitte denkt daran, den Servernamen anzupassen. Trotzdem legen wir noch eine Sicherheitskopie der alten lighttpd.conf an

mv /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.OLD
|lighttpd.conf
cat > /etc/lighttpd/lighttpd.conf << "EOF"
server.username = "www-data"
server.groupname = "www-data"
server.document-root = "/var/www/domain/htdocs/"
server.pid-file = "/var/run/lighttpd.pid"
server.errorlog = "/var/log/lighttpd/error.log"
accesslog.filename = "/var/log/lighttpd/access.log"
server.stat-cache-engine = "fam"
server.event-handler = "linux-sysepoll"
server.name = "domain.tld"
server.max-fds = 2048
evasive.max-conns-per-ip = 10
server.follow-symlink = "enable"
server.max-keep-alive-idle = 10
server.modules  = (
     "mod_access", 
     "mod_status", 
     "mod_cgi",
     "mod_alias",
     "mod_auth",
     "mod_evasive",
     "mod_proxy_core",
     "mod_proxy_backend_fastcgi",
     "mod_proxy_backend_ajp13",
     "mod_deflate",
     "mod_accesslog" )
server.indexfiles = (
     "index.xhtml",
     "index.html",
     "index.htm",
     "index.php",
 )
mimetype.assign = (
    ".pdf"     => "application/pdf",
    ".sig"     => "application/pgp-signature",
    ".spl"     => "application/futuresplash",
    ".class"   => "application/octet-stream",
    ".ps"      => "application/postscript",
    ".torrent" => "application/x-bittorrent",
    ".dvi"     => "application/x-dvi",
    ".pac"     => "application/x-ns-proxy-autoconfig",
    ".swf"     => "application/x-shockwave-flash",
    ".tgz"     => "application/x-tgz",
    ".mp3"     => "audio/mpeg",
    ".m3u"     => "audio/x-mpegurl",
    ".wma"     => "audio/x-ms-wma",
    ".wax"     => "audio/x-ms-wax",
    ".ogg"     => "application/ogg",
    ".wav"     => "audio/x-wav",
    ".xbm"     => "image/x-xbitmap",
    ".xpm"     => "image/x-xpixmap",
    ".xwd"     => "image/x-xwindowdump",
    ".asc"     => "text/plain",
    ".c"       => "text/plain",
    ".h"       => "text/plain",
    ".cc"      => "text/plain",
    ".cpp"     => "text/plain",
    ".hh"      => "text/plain",
    ".hpp"     => "text/plain",
    ".conf"    => "text/plain",
    ".log"     => "text/plain",
    ".text"    => "text/plain",
    ".txt"     => "text/plain",
    ".diff"    => "text/plain",
    ".patch"   => "text/plain",
    ".ebuild"  => "text/plain",
    ".eclass"  => "text/plain",
    ".rtf"     => "application/rtf",
    ".bmp"     => "image/bmp",
    ".tif"     => "image/tiff",
    ".tiff"    => "image/tiff",
    ".ico"     => "image/x-icon",
    ".mpeg"    => "video/mpeg",
    ".mpg"     => "video/mpeg",
    ".mov"     => "video/quicktime",
    ".qt"      => "video/quicktime",
    ".avi"     => "video/x-msvideo",
    ".asf"     => "video/x-ms-asf",
    ".asx"     => "video/x-ms-asf",
    ".wmv"     => "video/x-ms-wmv",
    ".tbz"     => "application/x-bzip-compressed-tar",
    ".tar.bz2" => "application/x-bzip-compressed-tar",
    ".tar.gz"  => "application/x-tgz",
    ".bz2"     => "application/x-bzip",
    ".gz"      => "application/x-gzip",
    ".tar"     => "application/x-tar",
    ".zip"     => "application/zip",
    ".jpeg"    => "image/jpeg",
    ".jpg"     => "image/jpeg",
    ".png"     => "image/png",
    ".gif"     => "image/gif",
    ".xhtml"   => "text/html",
    ".html"    => "text/html",
    ".htm"     => "text/html",
    ".dtd"     => "text/xml",
    ".xml"     => "text/xml",
    ".css"     => "text/css",
    ".js"      => "text/javascript",
    ".deb"     => "application/x-deb",
    ".php"     => "application/x-httpd-php",
    ""         => "text/plain",
)
static-file.exclude-extensions = (
    ".pl",
    ".cgi",
    ".fcgi",
    ".php",
)
url.access-deny = (
    "~",
    ".ini",
    ".inc",
    ".cfg",
    ".tpl",
    ".bak",
    ".dist",
    ".orig",
    ".htaccess",
    ".htpasswd",
    ".example",
    ".sample",
    ".lang",
)
$SERVER["socket"] == ":443" {
  ssl.engine = "enable"
  ssl.pemfile = "/etc/lighttpd/ssl/lighttpd.pem"
  server.document-root = "/var/www/ox/htdocs/"
alias.url += ( "/cgi-bin/" => "/var/www/ox/cgi-bin/" )
cgi.assign = (
".pl" => "/usr/bin/perl"),
accesslog.filename = "/var/log/lighttpd/ox-access.log"
$HTTP["url"] =~ "^/servlet/|^/umin/" {
  proxy-core.balancer = "round-robin"
  proxy-core.protocol = "ajp13"
  proxy-core.backends = ( "localhost:8009" )
  proxy-core.max-pool-size = 16
        }
}
$HTTP["url"] =~ "\.php$" {
  proxy-core.balancer = "round-robin"
  proxy-core.protocol = "fastcgi"
  proxy-core.allow-x-sendfile = "enable"
  proxy-core.backends = ( "unix:/tmp/php-fastcgi.sock" )
  proxy-core.max-pool-size = 16
}
deflate.enabled = "enable"
deflate.compression-level = 9
deflate.mem-level = 9
deflate.window-size = 15
deflate.allowed_encodings = ( "bzip2", "gzip", "deflate" )
deflate.min-compress-size = 200
deflate.work-block-size = 512
deflate.mimetypes = ("text/html", "text/plain", "text/css", "text/javascript", "text/xml")
EOF

Verzeichnisrecht:

chmod 600 /etc/lighttpd/lighttpd.conf 

Damit wir später nicht jeden neuen User manuell über die Konsole erstellen müssen, wird PHP5 mit PostgreSQL und
LDAP Unterstützung installiert. PHP wird beim Lighttpd ab Version 1.5 generell per 'spawn-fcgi' eingebunden,
d.h. es gibt kein mod_fastcgi mehr, da dieses Modul durch 'mod_proxy_core' ersetzt wurde.
Über dieses Modul wird auch der AJP13 Worker, der die Verbindung zwischen Lighttpd und dem
Apache Tomcat Connector herstellt, eingebunden.

1.5 Installation PHP5-FCGI als spawn-fcgi

PHP5-FCGI aus Etch Sourcen mit Support für LDAP und PostgreSQL installieren

apt-get install -y php5-cgi php5-common php5-ldap php5-pgsql

Damit nun PHP5 gespawned werden kann, hab ich ein kurzes Skript entworfen. Damit kann man PHP-FCGI starten und stoppen

cat > /etc/init.d/php5-fcgi << "EOF"
#! /bin/sh
# /etc/init.d/php5-fcgi
#

# einfaches start/stop Script fuer spawn-fcgi
# Pfade und Usernamen entsprechend der Hostconfig anpassen
socket="/tmp/php-fastcgi.sock"
phpfile="php5-cgi"
uid="www-data"
gid="www-data"
child="5"
pid="/var/run/php5-fcgi.pid"

case "$1" in
  start)
    echo "Starte PHP5-FastCGI Prozess"
    spawn-fcgi -s $socket -f $phpfile -u $uid -g $gid -C $child -P $pid
    ;;
  stop)
    echo "Stoppe PHP5-FastCGI Prozess"
    killall $phpfile
    rm -f $pid $socket
    ;;
  *)
    echo "Usage: /etc/init.d/php5-fcgi {start|stop}"
    exit 1
    ;;
esac

exit 0
EOF

Das PHP5-fcgi Initskript machen wir jetzt startfähig und verlinken es in die Runlevel 2+3

chmod 755 /etc/init.d/php5-fcgi &&
ln -s /etc/init.d/php5-fcgi /etc/rc2.d/S91php5-fcgi &&
ln -s /etc/init.d/php5-fcgi /etc/rc3.d/S91php5-fcgi

Unter Beibehaltung der originalen logrotate Datei wird der Lighttpd des öfteren bei der Komprimierung der Logfiles nicht
erneut gestartet.

rm -f /etc/logrotate.d/lighttpd

Neues Skript:

cat > /etc/logrotate.d/lighttpd << "EOF"
/var/log/lighttpd/*.log {
        daily
        missingok
        copytruncate
        rotate 7
        compress
        notifempty
        sharedscripts
        postrotate
           if [ -f /var/run/lighttpd.pid ]; then \
             if [ -x /usr/sbin/invoke-rc.d ]; then \
                invoke-rc.d lighttpd restart > /dev/null; \
             else \
                /etc/init.d/lighttpd restart > /dev/null; \
             fi; \
           fi;
        endscript
}
EOF

1.6 Dienste werden gestartet

/etc/init.d/php5-fcgi start
/etc/init.d/lighttpd restart

spawn-fcgi.c.209: child spawned successfully: PID: 6823 = OK
Restarting lighttpd: mod_proxy_core_address.c.158: (trace) resolving localhost on port 8009
mod_proxy_core_address.c.63: (trace) adding 127.0.0.1:8009 to the address-pool
mod_proxy_core_address.c.63: (trace) adding unix:/tmp/php-fastcgi.sock to the address-pool
lighttpd

Wenn beide Meldungen so oder in ähnlicher Form erscheinen: OK

2. Download benötigter Software und Installation von Abhängigkeiten

Wichtiger Hinweis für die Konfiguration des LDAP Servers:
Zum Thema DNS Domainname: lautet der Hostname 'testserver.de', wird dieser als Domainname angegeben.
Dessen Pfad wird im LDAP Syntax immer als 'dc=testserver,dc=de' eingegeben.
Lautet der Hostname zum Bleistift='ks08154711.kimsufi.com' == 'dc=ks08154711,dc=kimsufi,dc=com'.
So und nicht anders dürfen die Einträge in der ldap.conf bzw. slapd.conf aussehen.

Einträge wie 'dc=ks0854711,dc=kimsufi.com' oder 'dc=testserver.de' entsprechen nicht dem Syntax von LDAP.

dpkg-reconfigure slapd

Zuerst bestägt man die Einstellungen nicht überspringen zu wollen. Anschließend wird der lokale Domainname s.o.
und Bezeichnung deiner Organisation/Firmename eingetragen. und anschließend das Passwort vergeben.
Die restlichen Abfragen kann man getrost bestätigen, weil wir anschließend den LDAP manuell konfigurieren.

Anschließend erstellen wir einen User für Tomcat

adduser tomcat --home /usr/local/tomcat --disabled-login \
--no-create-home

2.1 Runterladen von Software

cd /usr/ox
 
wget wget http://www.open-xchange.com/fileadmin/community/dowloads/stable/open-xchange-0.8.8-0.tar.gz
wget http://typo3.open-xchange.com/fileadmin/community/ox_zenith_iconset-0.1.tar.gz
wget http://archive.apache.org/dist/jakarta/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.tar.gz
wget http://jdbc.postgresql.org/download/pg74.216.jdbc3.jar
wget http://archive.apache.org/dist/xml/xerces-j/Xerces-J-bin.2.8.1.tar.gz
wget http://www.jdom.org/dist/binary/archive/jdom-1.0.tar.gz

2 Pakete können nicht mit wget runtergeladen werden:
1. man kann gut mit dem textbasierten Browser 'lynx' umgehen und manövriert sich durch das Menu
2. man nimmt den Internetbrowser (IE/FF usw) UND Lynx.
Beim 2. Punkt geht man am besten so vor:
Ihr kopiert die URL in den Browser, weiter unten befindet sich ein Button 'Download'. Den klickt ihr an.
Danach öffnet sich ein anderes Fenster, wo Ihr um die Lizenzbestimmungen anerkennen müsst, also auf 'ACCEPT'
klicken. Nachden ihr die Bedingungen akzeptiert habt, statt 'Linksklick' für Download mit der rechten Maustaste
das Kontextmenu aktivieren. Dort wählt ihr 'Linkadresse kopieren'aus.
Zurück zu Putty und der Konsole.
Tipp 'lynx'+ 1xSpacetaste und mit der rechten Maustaste wird der aus dem Internetbrowser kopierte Link eingefügt, danach <ENTER>
Lynx fragt dich ob er die Datei runterladen (D) soll, darauf hämmerst du beherzt auf die Taste 'd'.
Lynx lädt die Datei und fragt dich anschließend ob er die Datei auf der HD speichern soll.
Dann markierst 'Datei auf HD speichern'.
ABER: passe dem zu speichernden Dateinamen unbedingt an. Zum markieren benutzt die Pfeiltasten 'oben' und 'unten'
Sie Dateinamen _müssen_ so lauten:
javamail-1_4.zip
jaf-1_1-fr.zip

Sollte es inzwischen neue Pakete geben, die Versionsnummern anpassen und dem Onkel, der das Howto geschrieben hat,
mitteilen.
Hier sind die URLs:
http://java.sun.com/products/javamail/downloads/index.html
http://java.sun.com/products/javabeans/jaf/downloads/index.html

2.2 Profile erstellen

echo 'CATALINA_HOME=/usr/local/tomcat' >> /etc/profile &&
echo 'OX_HOME=/usr/local/openxchange' >> /etc/profile &&
echo 'TOMCAT_HOME=$CATALINA_HOME' >> /etc/profile &&
echo 'PATH=$PATH:$CATALINA_HOME/bin:$OX_HOME/bin:$OX_HOME/sbin' >> /etc/profile &&
echo 'export PATH CATALINA_HOME OX_HOME TOMCAT_HOME' >> /etc/profile

Aktivierung der neuen Prifiles

. /etc/profile

Kleiner Test

echo $OX_HOME

Die Antwort muss lauten:

/usr/local/openxchange

2.3 Tomcat und wir kopieren einige *.jar Dateien

cd /usr/ox
 
cp pg74.216.jdbc3.jar /usr/local/lib
 
tar zxf /usr/ox/jakarta-tomcat-5.0.28.tar.gz &&
mv /usr/ox/jakarta-tomcat-5.0.28 /usr/local/tomcat
 
unzip /usr/ox/javamail-1_4.zip &&
cp javamail-1.4/mail.jar /usr/local/lib
 
unzip /usr/ox/jaf-1_1-fr.zip &&
cp jaf-1.1/activation.jar /usr/local/lib
 
tar -zxf /usr/ox/Xerces-J-bin.2.8.1.tar.gz &&
cp xerces-2_8_1/xercesImpl.jar /usr/local/lib
 
tar -zxf /usr/ox/jdom-1.0.tar.gz &&
cp jdom-1.0/build/jdom.jar /usr/local/lib
 
tar zxf open-xchange-0.8.8-0.tar.gz &&
mv open-xchange-0.8.8-0 open-xchange &&
cd open-xchange

3.0 OX Installation

Jetzt installieren wir OpenXchange, die Anpassungen der Pfade und DB Passwort nicht vergessen!

./configure --prefix=/usr/local/openxchange \
--with-mailjar=/usr/local/lib/mail.jar \
--with-activationjar=/usr/local/lib/activation.jar \
--with-jdomjar=/usr/local/lib/jdom.jar \
--with-xercesjar=/usr/local/lib/xercesImpl.jar \
--with-jsdkjar=/usr/local/tomcat/common/lib/servlet-api.jar \
--with-jdbcjar=/usr/local/lib/pg74.216.jdbc3.jar \
--with-htdocsdir=/var/www/ox/htdocs/ \
--with-cgibindir=/var/www/ox/cgi-bin/ \
--with-runuid=www-data \
--with-rungid=www-data \
--with-domain=domain.tld \
--with-organization="$Oranisation" \
--with-basedn="dc=$localdomain,dc=de" \
--with-rootdn="cn=admin,dc=$localdomain,dc=de" \
--with-rootpw=$LDAP-PASSWORT \
--with-tomcatuser=tomcat \
--with-tomcatpasword=$TOMCAT-PASSWORT \
--with-dbname=openexchange \
--with-dbuser=openexchange \
--with-dbpass=$deindbpasswort \
--with-dbhost=127.0.0.1 \
--enable-webdav

Läuft das Configure fehlerfrei durch:

make && make install 

Danach kannst testweise mal das Loginfenster aufrufen:
https://www.deinedomain.de/cgi-bin/login.pl
Das Zertifikat bestätigen und danach dürfte das Loginfenster erscheinen.

Troubleshooting
Bricht das Configure mit einer Fehlermeldung ab, zuerst die Pfade auf Tippfehler überprüfen und nachsehen, ob 5
*.jar Dateien im Ordner /usr/local/lib vorhanden sind

ls /usr/local/lib
activation.jar  jdom.jar  mail.jar  pg74.216.jdbc3.jar  xercesImpl.jar

3.1 Tomcat Konfiguration

Unter dem ersten Block, wo auskommentiere Hinweise stehen, trägst folgendes ein:

nano /usr/local/tomcat/bin/catalina.sh
 
JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun-1.5.0.10"
JAVA_OPTS="-Dopenexchange.propfile=/usr/local/openxchange/etc/groupware/system.properties"
# OS specific support. $var _must_ be set to either true or false.

Du erstellst ein Passwort für Tomcat, Eintragung erfolgt als vorletzte Zeile.

nano /usr/local/tomcat/conf/tomcat-users.xml
 <user name="both" password="tomcat" roles="tomcat,role1" />
 <user username="admin" password="$deintomcatpasswort" roles="manager"/>

Zu guter letzt kopieren wir nun ein paar Libs und Dateien

mkdir -p /usr/local/tomcat/webapps/servlet/WEB-INF/classes &&
mkdir -p /usr/local/tomcat/webapps/servlet/WEB-INF/lib &&
cp /usr/local/openxchange/share/servlets/*.class /usr/local/tomcat/webapps/servlet/WEB-INF/classes/ &&
cp /usr/ox/open-xchange/system/servlet/web.xml /usr/local/tomcat/webapps/servlet/WEB-INF/ &&
cp /usr/local/openxchange/lib/*.jar /usr/local/tomcat/webapps/servlet/WEB-INF/lib/ &&
cp /usr/local/lib/jdom.jar /usr/local/tomcat/webapps/servlet/WEB-INF/lib/ &&
cp /usr/local/lib/pg74.216.jdbc3.jar /usr/local/tomcat/webapps/servlet/WEB-INF/lib/ &&
cp /usr/local/lib/activation.jar /usr/local/tomcat/webapps/servlet/WEB-INF/lib/ &&
cp /usr/local/lib/mail.jar /usr/local/tomcat/webapps/servlet/WEB-INF/lib/ &&
cp /usr/local/openxchange/lib/umin.war /usr/local/tomcat/webapps/ &&
ln -s /etc/ldap/ldap.conf /usr/local/openxchange/etc/groupware/ldap.conf &&
ln -s /etc/ldap/ldap.conf /usr/local/openxchange/etc/webmail/ldap.conf

3.2 Icons für OpenXchange

Natürlich brauchen wir noch ein paar Icons für OpenXchange

cd /usr/ox &&
tar -zxf ox_zenith_iconset-0.1.tar.gz &&
cd ox_zenith_iconset/top &&
cp * /var/www/ox/htdocs/cfintranet/images/top/EN/ &&
cp * /var/www/ox/htdocs/cfintranet/images/top/DE/

4. Konfiguration PgSQL und OpenLDAP

Bei der Durchführung folgender Schritte MUSS sehr sorgfältig vorgegangen werden.

4.1 PgSQL

Zuerst stoppen wir PgSQL und verschieben die originale Config

/etc/init.d/postgresql-8.1 stop
 
mv /etc/postgresql/8.1/main/pg_hba.conf /etc/postgresql/8.1/main/pg_hba.OLD

Den folgenden Teil so übernehmen wie er aufgeführt wurde.

cat > /etc/postgresql/8.1/main/pg_hba.conf << "EOF"
local   all         postgres                          ident sameuser
 
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
 
# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
# IPv6 local connections:
#host    all         all         ::1/128               md5
EOF

Die Dateiberechtigungen nicht vergessen und PgSQL anschließend neu starten:

chown postgres:postgres /etc/postgresql/8.1/main/pg_hba.conf &&
chmod 640 /etc/postgresql/8.1/main/pg_hba.conf &&
/etc/init.d/postgresql-8.1 start

4.1.1 PgSQL Datenbank einrichten

su - postgres

Im folgenden Menu muss das Passwort aus das DB Passwort aus dem OpenXchange Configure angegeben werden, wenn der DB User 'openexchange' erstellt wird.

createuser --pwprompt
Geben Sie den Namen der neuen Rolle ein: openexchange
Geben Sie das Passwort der neuen Rolle ein: $deindbpass_aus_ox_kompilierung
Geben Sie es noch einmal ein: $deindbpass_aus_ox_kompilierung_noch_einmal
Soll die neue Rolle ein Superuser sein? (j/n) n
Soll die neue Rolle Datenbanken erzeugen dürfen? (j/n) j
Soll die neue Rolle weitere neue Rollen erzeugen dürfen? (j/n) n
CREATE ROLE

Datenbank erstellen

createdb -O openexchange -E UNICODE openexchange

Jetzt werden die DB-Tables von OX in die Datenbank importiert.

psql -U openexchange openexchange < /usr/local/openxchange/share/init_database.sql

Es darf keine Fehlermeldung erscheinen, dass das Passwort für den User falsch ist.

Für das Table 'sys_gen_rights_template' werden ein paar Rules erstellt. Diese so übernehmen wie sie hier im Howto stehen

psql -U openexchange openexchange

Hier sind die Rules

INSERT INTO sys_gen_rights_template values
('now','admin','now','','default_template','y','y','y','y',
'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y',
'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y',
'y','y','y','y','y','y','y','y','y','y','y','y','y');

Danach beenden wir die Datenbank und verabschieden uns als User postgres

\q
exit

4.2 OpenLDAP

LDAP Passwort sowie lokale LDAP Pfade eintragen

4.2.1 Konfiguration OpenLDAP

Zuerst verschieben wir die originale slapd.conf

mv /etc/ldap/slapd.conf /etc/ldap/slapd.OLD

Die Pfade müssen jetzt entsprechend des Hosts angepasst werden, siehe weiter oben bei den Hinweisen für LDAP. LDAP wird sehr zickig wenn man ein SPACE oder TAB zuviel/zuwenig setzt. Das Format ist so okay und muss bei der Anpassung auch so bleiben!!!

|slapd.conf
cat > /etc/ldap/slapd.conf << "EOF"
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /usr/local/openxchange/share/openxchange.schema
 
pidfile         /var/run/slapd/slapd.pid
 
argsfile        /var/run/slapd/slapd.args
loglevel        0
 
modulepath      /usr/lib/ldap
moduleload      back_bdb
 
sizelimit       500
 
tool-threads    1
 
backend	  bdb
checkpoint      512 30
 
database        bdb
 
suffix          "dc=$hostname,dc=$de"
 
directory       "/var/lib/ldap"
 
dbconfig set_cachesize 0 2097152 0
 
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
 
index           objectClass eq
rootdn          "cn=admin,dc=$hostname,dc=de"
rootpw          "$LDAP-PASSWORT"
index           uid,mailEnabled,cn,sn,givenname,lnetMailAccess,alias,loginDestination eq,sub
index           memberUid eq
 
access to dn.subtree="ou=Users,ou=OxObjects,dc=$hostname,dc=de"
         by self write
         by users write
         by * read
         by anonymous auth
 
access to dn.subtree="ou=Groups,ou=OxObjects,dc=$hostname,dc=de"
         by self write
         by users write
         by * read
         by anonymous auth
 
access to dn.subtree="o=AddressBook,ou=OxObjects,dc=$hostname,dc=de"
         by group="cn=AddressAdmins,o=AddressBook,ou=OxObjects,dc=$hostname,dc=de" write
         by users read
         by self write
 
 
lastmod         on
 
access to dn.base="" 
         by * read
 
access to *
         by * read
EOF

ldap.conf

echo 'BASE dc=$hostname,dc=de' >> /etc/ldap/ldap.conf &&
echo 'HOST localhost' >> /etc/ldap/ldap.conf

Anschließend die Berechtigung slapd.conf ändern

chmod 600 /etc/ldap/slapd.conf

Erstelle jetzt ein verschlüsseltes Passwort und notiere die Ausgabe im Wordpad

perl -e 'print crypt("$deinpasswort",pack("C2",(int(rand 26)+65),(int(rand 26)+65)))."\n";'

Danach öffnest du folgende Datei und suchst den Eintrag 'userPassword: secret'

nano /usr/local/openxchange/share/init_ldap.ldif

ersetzt dieses durch

userPassword: {CRYPT}Cryptpasswort

Die nächsten Schritte sind absolut einzuhaltenm auch in der Reihenfolge!!!!!!!!!!!!!!!!!!!!!!

/etc/init.d/slapd stop
rm /var/lib/ldap/*
slapadd -l /usr/local/openxchange/share/init_ldap.ldif
chown -R openldap:openldap /var/lib/ldap

Jetzt können wir OpenLDAP erneut starten

/etc/init.d/slapd start

Wir überprüfen nun ob OpenLDAP auf Port 389 lauscht

netstat -tlpen | grep slapd

Port 389 erscheint? –> OK

Wenn ja, gehts weiter und wenn nicht die ganze Sache mit LDAP noch einmal, dann aber den Loglevel höher setzen

4.3 User und Gruppe für OX erstellen

addgroup_ox --group=admins

Meldung muss so aussehen:

Added Group admins to LDAP

Ersten Benutzer für OX erstellen
Nachtrag: Bitte erstmal als Maildomain die 'lokale Maildomain' und nicht die e-Mail Webdomain angeben. Es scheint ein Bug in der Software zu sein, schaue mir das in den nächsten 2-3 Tagen erstmal genauer an.

adduser_ox --username="$user" --passwd="$passwort" --name="$Max" \
--sname="Mustermann" --maildomain="lokalemaildomain.de" --ox_timezone="Europe/Berlin" \
--write_global_address=TRUE --lang=DE

Darauf erscheint die Rückmeldung wenn alles OK ist:

LDAP Success 
SQL Success

Invalid Bind Credential(49) = bedeutet lesen lernen. Passwort in der /etc/ldap/slapd.conf auf 'secret' setzen und Pfade überprüfen.

Mit 'adduser_ox –help' kann man sich alle weiteren Optionen ansehen!

Der User wird einer Gruppe zugewiesen. Es stehen neben 'admins' noch 'user' per default zur Verfügung

addusertogroup_ox --user=$user --group=admins

5. OpenXchange vorbereiten für ersten Start & Update

5.1 OX

cp /usr/local/openxchange/etc/init.d/openexchange /etc/init.d/
ln -s /etc/init.d/openexchange /etc/rc2.d/S86openexchange
ln -s /etc/init.d/openexchange /etc/rc3.d/S86openexchange

5.2 Tomcat

chown -R tomcat:tomcat /usr/local/tomcat
|Tomcat Initskript
cat > /etc/init.d/tomcat << "EOF"
#!/bin/bash
#
# tomcat
#
# chkconfig:
# description: Start up the Tomcat servlet engine.
 
 
RETVAL=$?
CATALINA_HOME="/usr/local/tomcat"
 
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
/bin/su - tomcat -c $CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
/bin/su - tomcat -c $CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
 
exit $RETVAL
EOF

Berechtigung und Runlevel für Tomcat

chmod 755 /etc/init.d/tomcat &&
ln -s /etc/init.d/tomcat /etc/rc2.d/S91tomcat &&
ln -s /etc/init.d/tomcat /etc/rc3.d/S91tomcat

Lograte mit Tomcat bereichern

echo '/usr/local/tomcat/logs {' >> /etc/logrotate.conf &&
echo 'weekly' >> /etc/logrotate.conf &&
echo 'rotate 4' >> /etc/logrotate.conf &&
echo 'postrotate' >> /etc/logrotate.conf &&
echo 'endscript' >> /etc/logrotate.conf &&
echo 'compress' >> /etc/logrotate.conf &&
echo '}' >> /etc/logrotate.conf

5.2.1 kleine Änderungen für OX Webmail

In der Datei

nano /usr/local/openxchange/etc/webmail/webmail.properties

suchen wir nach folgenden Zeilen

user.default.folder.sent=INBOX/Sent
user.default.folder.trash=INBOX/Trash
user.default.folder.drafts=INBOX/Drafts
user.default.folder.spam=INBOX/Spam
 
user.default.folder.autocreate=false

um es so abzuändern:

user.default.folder.sent=INBOX.Sent
user.default.folder.trash=INBOX.Trash
user.default.folder.drafts=INBOX.Drafts
user.default.folder.spam=INBOX.Spam
 
user.default.folder.autocreate=true

Änderungen müssen auch hier vorgenommen werden:

nano /usr/local/openxchange/etc/webmail/system.cfg

Ändern die Zeilen

ADD-HEADER_X-Operating-System="true"
USER-CAN-SELECT-ENCODING="false"

um in:

ADD-HEADER_X-Operating-System="false"
USER-CAN-SELECT-ENCODING="true"

5.3 Dienste werden gestartet

/etc/init.d/tomcat start
/etc/init.d/openexchange start


Man kann sich nun erstmalig in OX einloggen

https://www.deinedomain.de/cgi-bin/login.pl

Anmerkung: noch steht keine Mailfunktion zur Verfügung

5.4 OX Update

Vorgehensweise für die Installation einer neueren OX Version

/etc/init.d/tomcat stop
/etc/init.d/openexchange stop

Neuere Version installieren

cd /usr/ox
wget http://www.open-xchange.com....
tar zxf $neuesOX
mv $neuesOX open-xchange1
 
./configure --prefix=/usr/local/openxchange \
--with-mailjar=/usr/local/lib/mail.jar \
--with-activationjar=/usr/local/lib/activation.jar \
--with-jdomjar=/usr/local/lib/jdom.jar \
--with-xercesjar=/usr/local/lib/xercesImpl.jar \
--with-jsdkjar=/usr/local/tomcat/common/lib/servlet-api.jar \
--with-jdbcjar=/usr/local/lib/pg74.216.jdbc3.jar \
--with-htdocsdir=/var/www/ox/htdocs/ \
--with-cgibindir=/var/www/ox/cgi-bin/ \
--with-runuid=www-data \
--with-rungid=www-data \
--with-domain=domain.tld \
--with-organization="$Oranisation" \
--with-basedn="dc=$localdomain,dc=de" \
--with-rootdn="cn=admin,dc=$localdomain,dc=de" \
--with-rootpw=$LDAP-PASSWORT \
--with-tomcatuser=tomcat \
--with-tomcatpasword=$TOMCAT-PASSWORT \
--with-dbname=openexchange \
--with-dbuser=openexchange \
--with-dbpass=$deindbpasswort \
--with-dbhost=127.0.0.1 \
--enable-webdav

Neu kompilieren:

make && make install

Ein paar Dateien kopieren wir wieder

cp /usr/local/openxchange/share/servlets/*.class /usr/local/tomcat/webapps/servlet/WEB-INF/classes/
cp /usr/ox/open-xchange/system/servlet/web.xml /usr/local/tomcat/webapps/servlet/WEB-INF/
cp /usr/local/openxchange/lib/*.jar /usr/local/tomcat/webapps/servlet/WEB-INF/lib/

Anschließend die Punkte 3.2, 5.2.1 und 5.3 erneut durchführen

6. Installation Mailserver

Es können alle abgefragten Optionen quittiert werden, Postfix wird anschließend manuell konfiguriert. Beachtet auch bitte, falls ihr wollt das Mails auch korrekt den Empfänger erreichen sollen, den Eintrag des Reverse DNS Eintrags nicht zu vergessen. Dieser sollte dem FQDN angepasst werden, heisst dieser 'horst-testermann.de', sollte der RDNS Eintrag so eingetragen werden.

6.1 Installation Postfix

apt-get install -y postfix postfix-tls postfix-ldap sharutils libsasl2 libsasl2-dev libsasl2-modules \
sasl2-bin telnet

6.1.1 main.cf

Zuerst sichern wir wieder die originale Datei

mv /etc/postfix/main.cf /etc/postfix/main.ORG

Die Einträge werden dem eigenen Host angepasst und können so übernommen werden.

cat > /etc/postfix/main.cf << "EOF"
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
inet_interface = all
myhostname=$meinhostname
mydestination = 
mynetworks_style = host
mynetworks = 127.0.0.0/8, localhost
mynetworks_style = host
 
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
local_recipient_maps = ldap:/etc/postfix/ldap_mbox.cf
home_mailbox = /Maildir
virtual_transport=virtual
local_transport = virtual
virtual_recipient_maps = ldap:/etc/postfix/ldap_mbox.cf
virtual_alias_maps = ldap:/etc/postfix/ldap_alias.cf
virtual_mailbox_maps = ldap:/etc/postfix/ldap_dir.cf
virtual_uid_maps = ldap:/etc/postfix/ldap_uid.cf
virtual_gid_maps = ldap:/etc/postfix/ldap_gid.cf
virtual_mailbox_domains= ldap:/etc/postfix/ldap_domain.cf
virtual_mailbox_base = /
virtual_minimum_uid = 500
virtual_mailbox_limit = 0
 
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, reject_unknown_recipient_domain, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_key_file = /etc/postfix/server.key
smtpd_tls_cert_file = /etc/postfix/server.crt
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
EOF

6.2 Konfiguration Postfix mit LDAP Datenbank

Wir erstellen die folgenden Dateien. Achtet bitte darauf, den Pfad zum LDAP Server anzupassen, exakt so wie oben beim OpenXchange und OpenLDAP Teil.

cat > /etc/postfix/ldap_alias.cf << "EOF"
server_host = localhost
server_port = 389
bind = yes
version = 3
bind_dn = cn=admin,dc=$HOSTNAME,dc=de
bind_pw = $LDAP-Passwort
search_base = ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
query_filter = (alias=%s)
result_attribute = mail
EOF
cat > /etc/postfix/ldap_common.cf << "EOF"
server_host = localhost
server_port = 389
bind = yes
version = 3
bind_dn = cn=admin,dc=$HOSTNAME,dc=de
bind_pw = $LDAP-Passwort
search_base = ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
EOF
cat > /etc/postfix/ldap_dir.cf << "EOF"
server_host = localhost
server_port = 389
bind = yes
version = 3
bind_dn = cn=admin,dc=$HOSTNAME,dc=de
bind_pw = $LDAP-Passwort
search_base = ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
query_filter = (&(uid=%u)(mailEnabled=OK))
result_attribute = homeDirectory
result_filter = %s/Maildir/
EOF
cat > /etc/postfix/ldap_domain.cf << "EOF"
server_host = localhost
server_port = 389
bind = yes
version = 3
bind_dn = cn=admin,dc=$HOSTNAME,dc=de
bind_pw = $LDAP-Passwort
search_base = ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
query_filter = (mailDomain=%s)
result_attribute = mailDomain
EOF
cat > /etc/postfix/ldap_gid.cf << "EOF"
server_host = localhost
server_port = 389
bind = yes
version = 3
bind_dn = cn=admin,dc=$HOSTNAME,dc=de
bind_pw = $LDAP-Passwort
search_base = ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
query_filter = (&(uid=%u)(mailEnabled=OK))
result_attribute = gidNumber
EOF
cat > /etc/postfix/ldap_mbox.cf << "EOF"
server_host = localhost
server_port = 389
bind = yes
version = 3
bind_dn = cn=admin,dc=$HOSTNAME,dc=de
bind_pw = $LDAP-Passwort
search_base = ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
query_filter = (&(uid=%u)(mailEnabled=OK))
result_attribute = mail
EOF
cat > /etc/postfix/ldap_uid.cf << "EOF"
server_host = localhost
server_port = 389
bind = yes
version = 3
bind_dn = cn=admin,dc=$HOSTNAME,dc=de
bind_pw = $LDAP-Passwort
search_base = ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
query_filter = (&(uid=%u)(mailEnabled=OK))
result_attribute = uidNumber
EOF
cat > /etc/postfix/sasl/smtpd.conf << "EOF"
loglevel: 3
mech_list: plain login
sasl_pwcheck_method: saslauthd
pwcheck_method: saslauthd
EOF

Kleine Änderung der Dateirechte durchführen:

chmod 640 /etc/postfix/ldap*
chmod 640 /etc/postfix/sasl/smtpd.conf
chgrp postfix /etc/postfix/ldap*
chgrp postfix /etc/postfix/sasl/smtpd.conf

In der master.cf

nano /etc/postfix/master.cf

tragen wir die beiden folgenden Zeilen sinngemäß ein

smtps     inet  n       -       n       -       -       smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
587       inet  n       -       n       -       -       smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes

6.3 Konfiguration SASL

In der saslauthd.conf

nano /etc/default/saslauthd

diese Zeilen wie folgt beschrieben asnpassen

START=yes
MECHANISMS="ldap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

SASL wird in Postfix 'bekannt' gemacht. Hier wieder den Pfad zum LDAP Server anpassen.

cat > /etc/saslauthd.conf << "EOF"
ldap_servers: ldap://127.0.0.1:389/
ldap_search_base: ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
ldap_auth_method: userPassword
ldap_filter: uid=%u
ldap_bind_dn: cn=admin,dc=$HOSTNAME,dc=de
ldap_bind_pw: $LDAP-Passwort
EOF

Weil OX seine Mails in '/home' speichert, sowie bei der Installation von SASL/Postfix nicht alle Dateien angelegt werden, müssen ein paar Änderungen vorgenommen werden

chgrp 500 /home
chmod 775 /home
mkdir -p /var/spool/postfix/var/run/saslauthd
chmod 710 /var/spool/postfix/var/run/saslauthd
chown -R postfix:postfix /var/spool/postfix/var/run/saslauthd
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
chmod 600 /etc/saslauthd.conf

Achtung, erscheint beim symbolischen Link ein Fehler, dass /var/run/saslauthd existiert, dieses bitte löschen

rm -r /var/run/saslauthd

6.3.1 Zertifikat erstellen

Er werden Zertifikate erstellt

openssl genrsa -des3 -rand /etc/hosts -out /usr/ox/server.key 2048
openssl req -new -key /usr/ox/server.key -out /usr/ox/server.csr
openssl x509 -req -days 3650 -in /usr/ox/server.csr -signkey /usr/ox/server.key -out /etc/postfix/server.crt
openssl rsa -in /usr/ox/server.key -out /etc/postfix/server.key

6.4 Erster Testlauf

Wir starten erstmal SASL und Postfix neu

/etc/init.d/saslauthd start
/etc/init.d/postfix restart

6.4.1 SASL Test

Mit einem OX User testet du SASL

/usr/sbin/testsaslauthd -u $OXUSER -p $OXUSERPASS

War dieser Test erfolgreich, schreiten wir zum nächsten Test

6.4.2 Telnet

Der Username und das Passwort es OX Users werden kodiert und anschließend in das Wordpad kopiert

printf '$OXUSER'|uuencode -m -
printf '$OXUSERPASS'|uuencode -m -

Telnet

telnet localhost 25

Per Telnet simulieren wir einen Login des OX Users. Du gibst beides im UUE crypted Format ein:

AUTH LOGIN
UUE-Username
UUE-Passwort

Ist die Anmeldung erfolgreich verlaufen, kann man Telnet verlassen und mit dem IMAP fortfahren.
Scheitert die Anmeldung, die Konfigurationsdateien nach Fehlern durchsuchen. Achtet vor allem auf LDAP

6.5 Installation und Konfiguration IMAP

cd /usr/ox &&
apt-get install -y courier-authdaemon courier-imap courier-imap-ssl courier-pop \
courier-pop-ssl courier-ldap 

Die Dienste werden erstmal gestoppt

/etc/init.d/courier-authdaemon stop
/etc/init.d/courier-imap stop
/etc/init.d/courier-imap-ssl stop
/etc/init.d/courier-pop stop
/etc/init.d/courier-pop-ssl stop

6.5.1 IMAP Zertifikat erstellen und Rechte festlegen

openssl req -new -newkey rsa:1024 -days 3650 -nodes -x509 -keyout server.pem -out server.pem
mv /etc/courier/pop3d.pem /etc/courier/pop3d.pem.ORG
mv /etc/courier/imapd.pem /etc/courier/imapd.pem.ORG
cp server.pem /etc/courier/pop3d.pem
cp server.pem /etc/courier/imapd.pem
chown daemon:daemon /etc/courier/pop3d.pem
chown daemon:daemon /etc/courier/imapd.pem.ORG
chmod 600 /etc/courier/pop3d.pem
chmod 600 /etc/courier/imapd.pem

6.5.2 authldaprc Konfiguration

Originaldatei verschieben

mv /etc/courier/authldaprc /etc/courier/authldaprc.ORG

Neue, auch hier wieder den Pfad anpassen

cat >> /etc/courier/authldaprc << "EOF"
LDAP_URI            ldap://$deinvollerhostname.de
LDAP_PROTOCOL_VERSION     3
LDAP_BASEDN            ou=Users,ou=OxObjects,dc=$HOSTNAME,dc=de
LDAP_BINDDN            cn=admin,dc=$HOSTNAME,dc=de
LDAP_BINDPW            $LDAP-Passwort
LDAP_TIMEOUT        5
LDAP_AUTHBIND       1
LDAP_MAIL           mail
LDAP_DOMAIN         $deinvollerhostname.de
LDAP_HOMEDIR        homeDirectory
LDAP_MAILDIR        mailbox
LDAP_DEFAULTDELIVERY	defaultDelivery
LDAP_FULLNAME       cn
LDAP_CRYPTPW        userPassword
LDAP_UID            uidNumber
LDAP_GID            gidNumber
LDAP_DEREF          never
LDAP_TLS            0
EOF

Berechtigungen setzen

chown daemon:daemon /etc/courier/authldaprc
chmod 660 /etc/courier/authldaprc

6.5.3authdaemonrc Konfiguration

Original verschieben

mv /etc/courier/authdaemonrc /etc/courier/authdaemonrc.ORG

wird ersetzt durch

cat > /etc/courier/authdaemonrc << "EOF"
authmodulelist="authldap"
authmodulelistorig="authcustom authcram authuserdb authldap authpgsql authmysql authpam"
daemons=5
DEBUG_LOGIN=0
version=""
authdaemonvar=/var/run/courier/authdaemon
EOF

Auch hier wieder die Berechtigungen setzen

chown daemon:daemon /etc/courier/authdaemonrc
chmod 660 /etc/courier/authdaemonrc

6.6 Dienste neu starten

/etc/init.d/saslauthd start
/etc/init.d/courier-authdaemon start
/etc/init.d/courier-imap start
/etc/init.d/courier-imap-ssl start
/etc/init.d/courier-pop start
/etc/init.d/courier-pop-ssl start

Damit das Mailkonto des OX Users angelegt wird, schicken wir diesem eine Mail

echo create mailfolder|sendmail oxuser@deinemaildomain.de

Damit steht für OpenXchange die Mailfunktion zur Verfügung

zurück zum Seitenindex

howto/openxchange.txt · Zuletzt geändert: 2022/10/11 10:55 (Externe Bearbeitung)

Seiten-Werkzeuge