%
% roundcube.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel Roundcube %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{Das Roundcube-Paket}

    Dieses Paket ist als Zusatzpaket zum Mail-Paket zu verstehen und erm"oglicht den
    komfortablen Zugriff auf IMAP-E-Mail-Postf"acher "uber eine Web-Oberfl"ache.


\section{Die Einleitung}

    In diesem Paket wurden verschiedenste Komponenten zusammengestellt, die zusammen
    ein komplettes Paket ergeben. Als Web-Frontend-Anwendung wird hierbei Roundcube
    verwendet, welches komplett auf PHP5 basiert.


\section{Die Funktionen}

    Das Roundcube-Paket besteht aus folgenden Komponenten:

    \begin{itemize}
         \item Roundcube - Das Web-Frontend f"ur den Zugriff auf ein IMAP-Postfach \\
            (\url{https://roundcube.net/})

        \item CardDAV Plugin - Stellt Funktionen f"ur den Zugriff auf einen zentralen
            CardDAV Server und die dort gespeicherten Kontaktdaten zur Verf"ugung.
            (\url{https://www.benjamin-schieder.de/carddav.html})

         \item Rouncube-Client-side Filters-Plugin - Stellt Funktionen zum leichten
            Filtern von eingehenden Nachrichten zur Verf"ugung.
            (\url{https://sourceforge.net/projects/rcubefilters})
    \end{itemize}


\section{Die Lizenzen}

    Die Dateien des roundcube-Programmpaketes, ausgenommen die Skin- und Plugin-Dateien,
    sind unter der GNU General Public License v3 (GPLv3), deren Text in der Datei
    LICENSE im roundcube-Webverzeichnis nachgelesen werden kann, oder neueren Versionen
    der GPLv3 lizenziert.
    Alle unmodifizierten Dateien aus diesen oder anderen Quellen unterliegen den
    urspr"unglichen Copyright- und Lizenzangaben, die in den einzelnen Dateien
    vermerkt wurden.


\section{Die Voraussetzungen}

    Dieses Paket ben"otigt das Mail-Paket mit aktiviertem IMAP-Server,
    sowie die Apache2- und Apache2\_php5-Pakete um funktionieren zu k"onnen.


\section{Die Installation}

    Das Roundcube-Paket wird "uber das Setup-Men"u installiert. Wird eine
    "altere Paketversion vorgefunden, so wird diese deinstalliert bevor
    die neuen Programmdateien installiert werden. Nach dem Installieren der
    Programmdateien wird direkt der Konfigurations-Editor gestartet um die
    Konfiguration anzupassen. Nach Beendigung dieses Schrittes werden die
    Konfigurationsdateien generiert und alle ben"otigten Programme gestartet.
    Danach kann "uber einen Webbrowser, durch Eingabe von
    `https://<Name des eisfair-Servers>/roundcube/`, (ein abweichendes Verzeichnis
    kann in der Konfiguration "uber den Parameter ROUNDCUBE\_x\_DOCUMENT\_ROOT
    gesetzt werden) auf die Anwendung zugegriffen werden.


\section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm wird "uber `Mail Services' -> `Goto mail modules' angesprochen
    und ist wie folgt aufgebaut:

    \begin{itemize}
        \item Roundcube Webmail administration
        \begin{itemize}
            \item View documentation: Anzeigen der Dokumentation
            \item Edit configuration: Bearbeiten der Konfiguration
            \item Advanced configuration file handling: Konfigurationen verwalten
            \item View configuration log file: Die Konfigurations-Logmeldungen anzeigen
            \item Exit: Untermen"u verlassen
        \end{itemize}
    \end{itemize}

    Die Men"upunkte d"urften selbsterkl"arend sein, da sie keinerlei weitere
    Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter
    eingegangen.


\section{Die "Anderung der Konfiguration}

    Die Konfiguration kann "uber den Men"upunkt `Edit configuration' ge"andert
    werden. Standardm"a"sig wird der Editor aufgerufen, der in der Environment-
    Konfiguration "uber die Variable 'EDITOR' festgelegt wurde. Nachdem der
    Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden
    soll. Wird dies best"atigt, werden "uber ein Skript die Anpassungen
    umgehend wirksam gemacht.\\
    \hinweis{Es ist zu beachten, dass einige Programme eigenst"andig bei
        erneuter Aktivierung die Konfigurationsdatei neu einlesen, somit
        f"uhrt ein Beantwortung dieser Abfrage mit 'Nein' nur zu einem
        kurzen Aufschub der Aktivierung.}


\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist, sind folgende
    Parameter vorhanden; wer sie von Hand editieren will findet sie unter
    \texttt{/etc/config.d/roundcube}.


\section{Die Parameter}

\begin{description}
%%  JED - show this description only in the help file
 %  \config{ROUNDCUBE\_DO\_DEBUG (Optionaler Parameter)}{ROUNDCUBE\_DO\_DEBUG}{ROUNDCUBEDODEBUG}
 %      Um den Debug-Modus zu aktivieren muss diese Variable lediglich auf
 %      den Wert `yes' gestellt werden, die Einstellung `no' deaktiviert
 %      den Debug-Modus.
 %
 %      G"ultige Werte: yes, no
 %
 %      Standardeinstellung: \texttt{ROUNDCUBE\_DO\_DEBUG='no'}

    \config{START\_ROUNDCUBE}{START\_ROUNDCUBE}{STARTROUNDCUBE}
        F"ur die Aktivierung des Roundcube-Programms muss dieser Parameter
        lediglich auf den Wert `yes' gestellt werden. Die Einstellung `no'
        deaktiviert das Roundcube-Programm.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{START\_ROUNDCUBE='no'}

    \config{ROUNDCUBE\_DB\_TYPE (Optionaler Parameter)}{ROUNDCUBE\_DB\_TYPE}{ROUNDCUBEDBTYPE}
        "Uber diesen Parameter kann auf Wunsch, ein vom Standard 'sqlite'
        abweichender Datenbanktyp angegeben werden. Folgende Datenbanken
        werden unterst"utzt:\\

        \begin{itemize}
            \item{mysql}   MySQL
            \item{pgsql}   PostgreSQL
            \item{sqlite}  SQLite (Standard)
        \end{itemize}

        G"ultige Werte: g"ultiger Datenbanktyp

        Standardeinstellung: \texttt{ROUNDCUBE\_DB\_TYPE=$''$}

    \config{ROUNDCUBE\_DB\_HOST (Optionaler Parameter)}{ROUNDCUBE\_DB\_HOST}{ROUNDCUBEDBHOST}
        "Uber diesen Parameter kann bei Bedarf der FQDN-Name des
        Servers festgelegt werden, auf sich die Roundcube-Datenbank
        befindet. Falls erforderlich kann der zu verwendende
        TCP-Port, getrennt durch einen Doppelpunkt angeh"angt werden.
        Wird kein Port angegeben, so wird standardm"a"sig der Port
        `3306' verwendet. Standardm"a"sig wird die Datenbank auf dem
        gleichen Server erstellt, auf welchem auch Roundcube betrieben
        wird.

        G"ultige Werte: FQDN-Name eines Servers, zzgl. des TCP-Port

        Beispiel: \texttt{ROUNDCUBE\_DB\_HOST=$'db-server.privat.lan:3306'$}

    \config{ROUNDCUBE\_DB\_USER (Optionaler Parameter)}{ROUNDCUBE\_DB\_USER}{ROUNDCUBEDBUSER}
        "Uber diesen Parameter kann bei Bedarf ein Datenbankanwender
        festgelegt werden, welcher f"ur den Zugriff auf die interne
        Roundcube-Datenbank verwendet werden soll.
        \achtung{Hier sollte auf keinen Fall 'root' eingetragen werden,
            da dies ein potentielles Sicherheitsrisiko bedeuten w"urde.
            Falls SQL-root-Berechtigungen ben"otigt werden, werden Sie
            w"ahrend der Generierung der Konfiguration zur Eingabe des
            SQL-root-Kennwortes aufgefordert.}

        G"ultige Werte: Name eines Datenbankanwenders

        Standardeinstellung: \texttt{ROUNDCUBE\_DB\_USER=$''$}

    \config{ROUNDCUBE\_DB\_PASS (Optionaler Parameter)}{ROUNDCUBE\_DB\_PASS}{ROUNDCUBEDBPASS}
        "Uber diesen Parameter kann bei Bedarf ein Datenbankkennwort
        festgelegt werden, welcher f"ur den Zugriff auf die interne
        Roundcube-Datenbank verwendet werden soll.

        G"ultige Werte: Kennwort

        Standardeinstellung: \texttt{ROUNDCUBE\_DB\_PASS=$''$}

    \config{ROUNDCUBE\_REDIS\_HOST (Optionaler Parameter)}{ROUNDCUBE\_REDIS\_HOST}{ROUNDCUBEREDISHOST}
        "Uber diesen Parameter kann bei Bedarf der FQDN-Name des
        Servers festgelegt werden, auf sich die Redis-Cache-Datenbank
        befindet. Falls erforderlich kann der zu verwendende
        TCP-Port, getrennt durch einen Doppelpunkt angeh"angt werden.
        Wird kein Port angegeben, so wird standardm"a"sig der Port
        `6379' verwendet. Standardm"a"sig wird die Datenbank auf dem
        gleichen Server erstellt, auf welchem auch ownCloud betrieben
        wird.

        G"ultige Werte: FQDN-Name eines Servers

        Beispiel: \texttt{ROUNDCUBE\_REDIS\_HOST='db-server.privat.lan'}

    \config{ROUNDCUBE\_REDIS\_PASS (Optionaler Parameter)}{ROUNDCUBE\_REDIS\_PASS}{ROUNDCUBEREDISPASS}
        "Uber diesen Parameter kann bei Bedarf ein Datenbankkennwort
        festgelegt werden, welches f"ur den Zugriff auf die Redis-Cache-
        Datenbank verwendet werden soll.

        G"ultige Werte: Kennwort

        Standardeinstellung: \texttt{ROUNDCUBE\_REDIS\_PASS=$''$}

    \config{ROUNDCUBE\_N}{ROUNDCUBE\_N}{ROUNDCUBEN}
        "Uber diesen Parameter wird die Anzahl der Roundcube-Instanzen
        angegeben, die eingerichtet werden sollen.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{ROUNDCUBE\_N='1'}

    \config{ROUNDCUBE\_x\_ACTIVE}{ROUNDCUBE\_x\_ACTIVE}{ROUNDCUBExACTIVE}
        Wird dieser Parameter auf den Wert `yes' gesetzt, so wird die
        zugeh"orige Roundcube-Instanz aktiviert, `no' deaktiviert sie.

        Beispiel: \texttt{ROUNDCUBE\_1\_ACTIVE='no'}

    \config{ROUNDCUBE\_x\_DOCUMENT\_ROOT}{ROUNDCUBE\_x\_DOCUMENT\_ROOT}{ROUNDCUBExDOCUMENTROOT}
        "Uber diesen Parameter wird das Document-Root-Verzeichnis festgelegt.

        G"ultige Werte: absolute Pfadangabe

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_DOCUMENT\_ROOT='/var/www/htdocs/roundcube'}

    \config{ROUNDCUBE\_x\_WEB\_ROOT (Optionaler Parameter)}{ROUNDCUBE\_x\_WEB\_ROOT}{ROUNDCUBExWEBROOT}
        Falls "uber den Parameter ROUNDCUBE\_x\_DOCUMENT\_ROOT ein vom
        Standard abweichendes Dokumentenstammverzeichnis festgelegt
        wurde, kann auf Wunsch "uber diesen Parameter auch ein vom
        Standard abweichendes Web-Stammverzeichnis festgelegt werden.
        Wird dieser Parameter nicht gesetzt, so wird standardm"a"sig
        der folgende Pfad verwendet: /roundcube

        G"ultige Werte: absolute Pfadangabe

        Beispiel: \texttt{ROUNDCUBE\_1\_WEB\_ROOT='/roundcube'}

    \config{ROUNDCUBE\_x\_SERVER\_DOMAIN}{ROUNDCUBE\_x\_SERVER\_DOMAIN}{ROUNDCUBExSERVERDOMAIN}
        "Uber diesen Parameter wird der Domainname der lokalen Domain
        festgelegt, f"ur welche Roundcube zust"andig sein soll. Dieser
        sollte gleich der Variablen SMTP\_QUALIFY\_DOMAIN aus dem Mail-Paket
        gesetzt sein.

        G"ultige Werte: Domainname

        Beispiel: \texttt{ROUNDCUBE\_1\_SERVER\_DOMAIN='domain.de'}
\end{description}

    Die folgenden ROUNDCUBE\_x\_SERVER\_..-Parameter werden nur dann ausgewertet,
    wenn auf dem lokalen Rechner kein installiertes Mail-Paket gefunden wird.
    Sie erm"oglichen den Zugriff auf einen Mailserver, welcher auf einem
    anderen Rechner betrieben wird.

\begin{description}
    \config{ROUNDCUBE\_x\_SERVER\_IMAP\_HOST}{ROUNDCUBE\_x\_SERVER\_IMAP\_HOST}{ROUNDCUBExSERVERIMAPHOST}
        "Uber diesen Parameter wird der Servername des Rechners festgelegt
        welcher die IMAP-Postf"acher verwaltet. Optional kann, durch einen
        Doppelpunkt getrennt, ein vom Standard abweichender tcp-Port
        konfiguriert werden.

        G"ultige Werte: Domainname zzgl. optionalem tcp-Port

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_SERVER\_IMAP\_HOST='localhost'}

    \config{ROUNDCUBE\_x\_SERVER\_IMAP\_TYPE}{ROUNDCUBE\_x\_SERVER\_IMAP\_TYPE}{ROUNDCUBExSERVERIMAPTYPE}
        "Uber diesen Parameter kann der IMAP-Servertyp eingestellt werden, zu
        welchem sich verbunden werden soll. Es kann zwischen den Typen `dovecot'
        (mail-dovecot-/Vmail-Paket), 'panda' (mail-panda-Paket) und `courier'
        gew"ahlt werden.

        G"ultige Werte: dovecot, panda, courier

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_SERVER\_IMAP\_TYPE='panda'}

    \config{ROUNDCUBE\_x\_SERVER\_IMAP\_AUTH}{ROUNDCUBE\_x\_SERVER\_IMAP\_AUTH}{ROUNDCUBExSERVERIMAPAUTH}
        "Uber diesen Parameter kann die Authentifizierungsmethode festgelegt
        werden, welche beim Zugriff auf einen entfernten IMAP-Server verwendet
        werden soll.\\
        {\textbf{Hinweis:}} Ist auf dem entfernten Mailserver das mail-Paket installiert
        und wurde dort der Parameter MAIL\_USER\_USE\_MAILONLY\_PASSWORDS='yes'
        gesetzt, so muss hier `md5' (cram-md5), ansonsten `login' eingestellt werden.\\

        G"ultige Werte: md5, digest, login

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_SERVER\_IMAP\_AUTH='md5'}

     \config{ROUNDCUBE\_x\_SERVER\_IMAP\_TRANSPORT}{ROUNDCUBE\_x\_SERVER\_IMAP\_TRANSPORT}{ROUNDCUBExSERVERIMAPTRANSPORT}
        "Uber diesen Parameter kann die verschl"usselte Kommunikation mit dem
        IMAP-Prozess aktiviert werden. Wird der Parameter auf den Wert `default'
        gesetzt, so wird "uber eine unverschl"usselte Verbindung kommuniziert.

        G"ultige Werte: default, ssl oder tls

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_SERVER\_IMAP\_TRANSPORT='default'}

    \config{ROUNDCUBE\_x\_SERVER\_SMTP\_HOST}{ROUNDCUBE\_x\_SERVER\_SMTP\_HOST}{ROUNDCUBExSERVERSMTPHOST}
        "Uber diesen Parameter wird der Servername des Rechners festgelegt auf welchem
        der SMTP-Server l"auft. Optional kann, durch einen Doppelpunkt getrennt, ein
        vom Standard abweichender tcp-Port konfiguriert werden.

        G"ultige Werte: Domainname zzgl. optionalem tcp-Port

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_SERVER\_SMTP\_HOST='localhost'}

    \config{ROUNDCUBE\_x\_SERVER\_SMTP\_AUTH}{ROUNDCUBE\_x\_SERVER\_SMTP\_AUTH}{ROUNDCUBExSERVERSMTPAUTH}
        "Uber diesen Parameter kann die Authentifizierungsmethode festgelegt werden,
        welche beim Zugriff auf einen entfernten SMTP-Server verwendet werden soll.\\
        {\textbf{Hinweis:}} Ist auf dem entfernten Mailserver das mail-Paket installiert
        und wurde dort der Parameter SMTP\_AUTH\_TYPE='none' gesetzt, so muss hier
        ebenfalls der Wert 'none' eingestellt werden. Wurde der Parameter
        SMTP\_AUTH\_TYPE='user' oder 'user\_light' gesetzt, so muss bei gesetztem
        MAIL\_USER\_USE\_MAILONLY\_PASSWORDS='yes' `md5' (cram-md5), ansonsten
        `login' eingestellt werden.\\

        G"ultige Werte: md5, digest, login, none

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_SERVER\_SMTP\_AUTH='md5'}

     \config{ROUNDCUBE\_x\_SERVER\_SMTP\_TRANSPORT}{ROUNDCUBE\_x\_SERVER\_SMTP\_TRANSPORT}{ROUNDCUBExSERVERSMTPTRANSPORT}
        "Uber diesen Parameter kann die verschl"usselte Kommunikation mit dem
        SMTP-Server aktiviert werden. Wird der Parameter auf den Wert `default'
        gesetzt, so wird "uber eine unverschl"usselte Verbindung kommuniziert.

        G"ultige Werte: default, ssl oder tls

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_SERVER\_SMTP\_TRANSPORT='default'}

    \config{ROUNDCUBE\_x\_XFRAME\_OPTIONS (Optionaler Parameter)}{ROUNDCUBE\_x\_XFRAME\_OPTIONS}{ROUNDCUBExXFRAMEOPTIONS}
        "Uber diesen Parameter kann auf Wunsch ein vom Standard abweichender
        X-Frame-Options HTTP Header gesetzt werden, welcher gesendet wird um
        Clickjacking-Attacken vorzubeugen. Standardm"a"sig wird `sameorigin'
        verwendet.

        G"ultige Werte:
        \begin{itemize}
            \item{deny}        Die Seite kann nicht in einem Frame eingebettet
                               werden, egal welches die aufrufende Webseite ist.
            \item{sameorigin}  Die Seite kann nur als Frame eingebettet werden,
                               wenn beide von der gleichen Quellseite (same origin)
                               stammen.
            \item{uri}         Die Seite l"asst sich ausschlie"slich dann einbetten,
                               wenn die einbettende Seite aus der Quelle uri stammt.
        \end{itemize}

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_XFRAME\_OPTIONS=$''$}

    \config{ROUNDCUBE\_x\_ORGA\_NAME}{ROUNDCUBE\_x\_ORGA\_NAME}{ROUNDCUBExORGANAME}
        "Uber diesen Parameter kann an verschiedenen Stellen in der Roundcube-Oberfl"ache der
        Firmenname, an Stelle von `eisfair-Roundcube', eingeblendet werden.

        G"ultige Werte: Text

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_ORGA\_NAME='eisfair-Roundcube'}

    \config{ROUNDCUBE\_x\_ORGA\_LOGO}{ROUNDCUBE\_x\_ORGA\_LOGO}{ROUNDCUBExORGALOGO}
        "Uber diesen Parameter wird das Firmen-Logo festgelegt, welches an verschiedenen
        Stellen der Roundcube-Oberfl"ache angezeigt wird. Es kann entweder ein relativer
        oder ein absoluter Verzeichnispfad angegeben werden.

        G"ultige Werte: Pfad- und Dateiname

        Beispiel: \texttt{ROUNDCUBE\_1\_ORGA\_LOGO='eisfair\_logo\_klein.png'}

     \config{ROUNDCUBE\_x\_ORGA\_PROVIDER\_URL}{ROUNDCUBE\_x\_ORGA\_PROVIDER\_URL}{ROUNDCUBExORGAPROVIDERURL}
        "Uber diesen Parameter wird die URL des Providers konfiguriert, auf welche beim
        Zugriff auf das Hilfe-Men"u verzweigt wird.

        G"ultige Werte: URL

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_ORGA\_PROVIDER\_URL='https://github.com/roundcube/roundcubemail/wiki'}

    \config{ROUNDCUBE\_x\_ORGA\_DEF\_LANGUAGE}{ROUNDCUBE\_x\_ORGA\_DEF\_LANGUAGE}{ROUNDCUBExORGADEFLANGUAGE}
        Dieser Parameter legt fest, welche Standardsprache verwendet werden soll, wenn
        dies von Roundcube nicht automatisch, z.B. "Uber die Browser-Konfiguration,
        erkannt wird. Bitte den korrekten L"anderkode f"ur die gew"unschte Sprache verwenden.
        Der Wert `de\_DE' steht hierbei f"ur die deutsche Sprache.  Es kann zur Zeit
        zwischen folgenden L"anderkodes gew"ahlt werden:\\
        ar, bg\_BG, ca\_ES, cs\_CZ, cy\_GB, da\_DK, de\_DE, el\_GR, es\_ES,
        et\_EE, fi\_FI, fo\_FO, fr\_FR, he\_IL, hr\_HR, hu\_HU, id\_ID, is\_IS,
        it\_IT, ja\_JP, ko\_KR, lt\_LT, ms\_MY, nl\_NL, nn\_NO, no\_NO, pl\_PL,
        pt\_BR, pt\_PT, ro\_RO, ru\_RU, sk\_SK, sl\_SI, sr\_YU, sv\_SE, th\_TH,
        tr\_TR, uk\_UA, vi\_VN, zh\_CN, zh\_TW

        G"ultige Werte: Locale-Kennung

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_ORGA\_DEF\_LANGUAGE='de\_DE'}

     \config{ROUNDCUBE\_x\_FOLDER\_MOVE\_MSGS\_TO\_DRAFTS}{ROUNDCUBE\_x\_FOLDER\_MOVE\_MSGS\_TO\_DRAFTS}{ROUNDCUBExFOLDERMOVEMSGSTODRAFTS}
        Wird dieser Parameter auf `yes' gestellt, so wird beim Abbrechen der
        Nachrichtenbearbeitung abgefragt, ob diese im Entw"urfe-Ordner gespeichert werden
        soll.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FOLDER\_MOVE\_MSGS\_TO\_DRAFTS='yes'}

    \config{ROUNDCUBE\_x\_FOLDER\_MOVE\_MSGS\_TO\_SENT}{ROUNDCUBE\_x\_FOLDER\_MOVE\_MSGS\_TO\_SENT}{ROUNDCUBExFOLDERMOVEMSGSTOSENT}
        Wird dieser Parameter auf `yes' gestellt, so werden Nachrichten nach dem Versand
        in den Gesendet-Ordner verschoben und nicht direkt gel"oscht.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FOLDER\_MOVE\_MSGS\_TO\_SENT='yes'}

    \config{ROUNDCUBE\_x\_FOLDER\_MOVE\_MSGS\_TO\_TRASH}{ROUNDCUBE\_x\_FOLDER\_MOVE\_MSGS\_TO\_TRASH}{ROUNDCUBExFOLDERMOVEMSGSTOTRASH}
        Wird dieser Parameter auf `yes' gestellt, so werden Nachrichten beim L"oschen in
        den Papierkorb verschoben und nicht direkt gel"oscht.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FOLDER\_MOVE\_MSGS\_TO\_TRASH='yes'}

    \config{ROUNDCUBE\_x\_FOLDER\_AUTO\_EXPUNGE}{ROUNDCUBE\_x\_FOLDER\_AUTO\_EXPUNGE}{ROUNDCUBExFOLDERAUTOEXPUNGE}
        Ein IMAP-Server handhabt das L"oschen von Nachrichten wie folgt: Erst wird die Nachricht
        nur zum L"oschen markiert, anschliessend endg"ultig gel"oscht. Wird dieser Parameter auf
        `yes' gesetzt, so werden Nachrichten von Roundcube direkt gel"oscht. Wird 'no' eingestellt,
        so werden diese nur zum L"oschen markiert.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FOLDER\_AUTO\_EXPUNGE='yes'}

    \config{ROUNDCUBE\_x\_FOLDER\_NAME\_DRAFTS (Optionaler Parameter)}{ROUNDCUBE\_x\_FOLDER\_NAME\_DRAFTS}{ROUNDCUBExFOLDERNAMEDRAFTS}
        "Uber diesen Parameter kann auf Wunsch ein vom Standard (Drafts)
        abweichender Name f"ur den Ordner festgelegt werden, indem
        Nachrichtenentw"urfe gespeichert werden sollen.

        G"ultige Werte: leer oder g"ultiger Ordnername

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FOLDER\_NAME\_DRAFTS=''}

    \config{ROUNDCUBE\_x\_FOLDER\_NAME\_SENT (Optionaler Parameter)}{ROUNDCUBE\_x\_FOLDER\_NAME\_SENT}{ROUNDCUBExFOLDERNAMESENT}
        "Uber diesen Parameter kann auf Wunsch ein vom Standard (Sent)
        abweichender Name f"ur den Ordner festgelegt werden, indem gesendete
        Nachrichten gespeichert werden sollen.

        G"ultige Werte: leer oder g"ultiger Ordnername

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FOLDER\_NAME\_SENT=''}

    \config{ROUNDCUBE\_x\_FOLDER\_NAME\_SPAM (Optionaler Parameter)}{ROUNDCUBE\_x\_FOLDER\_NAME\_SPAM}{ROUNDCUBExFOLDERNAMESPAM}
        "Uber diesen Parameter kann auf Wunsch ein vom Standard (Junk)
        abweichender Name f"ur den Ordner festgelegt werden, indem Spam-
        Nachrichten gespeichert werden sollen.

        G"ultige Werte: leer oder g"ultiger Ordnername

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FOLDER\_NAME\_SPAM=''}

    \config{ROUNDCUBE\_x\_FOLDER\_NAME\_TRASH (Optionaler Parameter)}{ROUNDCUBE\_x\_FOLDER\_NAME\_TRASH}{ROUNDCUBExFOLDERNAMETRASH}
        "Uber diesen Parameter kann auf Wunsch ein vom Standard (Trash)
        abweichender Name f"ur den Ordner festgelegt werden, indem
        gel"oschte Nachrichten gespeichert werden sollen.

        G"ultige Werte: leer oder gültiger Ordnername

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FOLDER\_NAME\_TRASH=''}

    \config{ROUNDCUBE\_x\_FOLDER\_FORCE\_NSFOLDER (Optionaler Parameter)}{ROUNDCUBE\_x\_FOLDER\_FORCE\_NSFOLDER}{ROUNDCUBExFOLDERFORCESFOLDER}
        Wird dieser Parameter auf `yes' gestellt, so wird die Anzeige spezieller
        Namespace-Ordner, wie z.B. \#public/ oder \#shared/ forciert. Bei Panda-IMAP
        (UW-IMAP) Servern ist dieser Parameter standardm"a"sig gesetzt, bei allen
        anderen Servern deaktiviert.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_FORCE\_NSFOLDER nicht gesetzt.}

    \config{ROUNDCUBE\_x\_GENERAL\_DEF\_CHARSET}{ROUNDCUBE\_x\_GENERAL\_DEF\_CHARSET}{ROUNDCUBExGENERALDEFCHARSET}
        Dieser Parameter legt fest welcher Zeichensatz beim Versenden von Nachrichten und
        bei der HTML-Anzeige verwendet werden soll. Verwenden Sie an Stelle von `US\_ASCII'
        auf jeden Fall `UTF-8'. Um kyrillischen Text anzuzeigen stellen Sie `KOI8-R'
        ein.

        G"ultige Werte: utf-8, iso-8859-1, koi8-r, ...

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_GENERAL\_DEF\_CHARSET='utf-8'}

    \config{ROUNDCUBE\_x\_GENERAL\_DES\_KEY}{ROUNDCUBE\_x\_GENERAL\_DES\_KEY}{ROUNDCUBExGENERALDESKEY}
        "Uber diesen Parameter wird der DES-Schl"ussel festgelegt, mit welchem das
        IMAP-Kennwort im Session-Datensatz (und im Client-Cookie wenn Kennwort merken
        aktiviert wurde) verschl"usselt werden soll. Der Schl"ussel muss exakt 24
        Zeichen lang sein.

        G"ultige Werte: g"ultiger DES-Schl"ussel

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_GENERAL\_DES\_KEY=$''$}

    \config{ROUNDCUBE\_x\_GENERAL\_ALLOW\_RECEIPTS\_USE}{ROUNDCUBE\_x\_GENERAL\_ALLOW\_RECEIPTS\_USE}{ROUNDCUBExGENERALALLOWRECEIPTSUSE}
        Wird dieser Parameter auf `yes' gesetzt, so kann jeder Anwender Lese- und
        Zustellbenachrichtigungen f"ur gesendete Nachrichten anfordern.

        G"ultige Werte: yes, no

        Standardeinstellung:  \texttt{ROUNDCUBE\_1\_GENERAL\_ALLOW\_RECEIPTS\_USE='yes'}

     \config{ROUNDCUBE\_x\_GENERAL\_ALLOW\_IDENTITY\_EDIT}{ROUNDCUBE\_x\_GENERAL\_ALLOW\_IDENTITY\_EDIT}{ROUNDCUBExGENERALALLOWIDENTITYEDIT}
        Wird dieser Parameter auf `yes' gesetzt, so ist es dem Anwender gestattet seinen
        Anwendernamen und seine E-Mail-Adresse zu bearbeiten.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_GENERAL\_ALLOW\_IDENTITY\_EDIT='yes'}

     \config{ROUNDCUBE\_x\_PLUGINS\_USE\_ALL}{ROUNDCUBE\_x\_PLUGINS\_USE\_ALL}{ROUNDCUBExPLUGINSUSEALL}
        Wird dieser Parameter auf `yes' gesetzt, so werden alle zur Verf"ugung stehenden
        Roundcube-Plugins aktiviert. Wird dieser Parameter auf `no' gesetzt, so k"onnen
        "uber den Parameter \jump{ROUNDCUBExPLUGINSyDIRNAME}{ROUNDCUBE\_x\_PLUGINS\_N} bzw.
        \jump{ROUNDCUBExPLUGINSyDIRNAME}{ROUNDCUBE\_x\_PLUGINS\_y\_DIRNAME} Plugins individuell
        aktiviert werden.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_PLUGINS\_USE\_ALL='no'}

%%  JED - show this description only in the help file
 %  \config{ROUNDCUBE\_x\_PLUGINS\_N}{ROUNDCUBE\_x\_PLUGINS\_N}{ROUNDCUBExPLUGINSN}
 %      "Uber den Parameter ROUNDCUBE\_x\_PLUGINS\_N wird die Anzahl der zu aktivierenden
 %      Roundcube-Plugins eingestellt. "Uber ROUNDCUBE\_x\_PLUGINS\_y\_DIRNAME werden die
 %      Namen der zu aktivierenden Plugins festgelegt. Neue Plugins m"ussen unter dem
 %      Verzeichnis\\
 %      `/var/www/htdocs/roundcube/plugins' abgelegt werden.
 %
 %      G"ultige Werte: Zahl bzw. Verzeichnisname
 %
 %      Beispiel:
 %
 %      \texttt{ROUNDCUBE\_1\_PLUGINS\_N='3' \\
 %              ROUNDCUBE\_1\_PLUGINS\_1\_DIRNAME='emoticons' \\
 %              ROUNDCUBE\_1\_PLUGINS\_2\_DIRNAME='filters'   \\
 %              ROUNDCUBE\_1\_PLUGINS\_3\_DIRNAME='help'}

    \index{ROUNDCUBE\_x\_PLUGINS\_N}
    \config{ROUNDCUBE\_x\_PLUGINS\_N / ROUNDCUBE\_x\_PLUGINS\_y\_DIRNAME}{ROUNDCUBE\_x\_PLUGINS\_y\_DIRNAME}{ROUNDCUBExPLUGINSyDIRNAME}
        "Uber den Parameter ROUNDCUBE\_x\_PLUGINS\_N wird die Anzahl der zu aktivierenden
        Roundcube-Plugins eingestellt. "Uber ROUNDCUBE\_x\_PLUGINS\_y\_DIRNAME werden die
        Namen der zu aktivierenden Plugins festgelegt. Neue Plugins m"ussen unter dem
        Verzeichnis\\
        `/var/www/htdocs/roundcube/plugins' abgelegt werden.

        G"ultige Werte: Zahl bzw. Verzeichnisname

        Beispiel:

        \texttt{ROUNDCUBE\_1\_PLUGINS\_N='3' \\
                ROUNDCUBE\_1\_PLUGINS\_1\_DIRNAME='emoticons' \\
                ROUNDCUBE\_1\_PLUGINS\_2\_DIRNAME='filters'   \\
                ROUNDCUBE\_1\_PLUGINS\_3\_DIRNAME='help'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_N}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_N}{ROUNDCUBExGLOBADDRLDAPN}
        "Uber diesen Parameter wird die Anzahl der globalen LDAP-Adressb"ucher angegeben
        auf welche zugegriffen werden soll. Wird dieser Wert auf `0' gesetzt, so werden
        keine globalen LDAP-Adressb"ucher verwendet.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_N='0'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_ACTIVE}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_ACTIVE}{ROUNDCUBExGLOBADDRLDAPyACTIVE}
        F"ur die Aktivierung des LDAP-basierten, globalen Adressbuches muss diese
        Variable lediglich auf den Wert `yes' gestellt werden. Die Einstellung
        `no' deaktiviert das Adressbuch.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_ACTIVE='no'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_INFO}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_INFO}{ROUNDCUBExGLOBADDRLDAPyINFO}
        "Uber diesen Parameter kann ein beschreibender Text zum LDAP-Adressbuch
        festgelegt werden.

        G"ultige Werte: Text

        Beispiel: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_INFO='My LDAP directory'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_BASEDN}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_BASEDN}{ROUNDCUBExGLOBADDRLDAPyBASEDN}
        "Uber diesen Parameter wird die base-dn f"ur den Zugriff auf das globale
        LDAP-Adressbuch festgelegt.

        G"ultige Werte: base-dn

        Beispiel: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_BASEDN='ou=contacts,ou=addressbook,dc=domain,dc=lan'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_HOST}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_HOST}{ROUNDCUBExGLOBADDRLDAPyHOST}
        "Uber diesen Parameter wird der Name des Rechners festgelegt auf welchem
        der LDAP-Server l"auft.

        G"ultige Werte: Hostname oder IP-Adresse

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_HOST='localhost'}

        Beispiel:\\
        \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_HOST='ldap://myldap.local.lan:389' \\
                ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_HOST='ldaps://myldap.local.lan'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_AUTH}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_AUTH}{ROUNDCUBExGLOBADDRLDAPyAUTH}
        Falls eine Authentifikation gegen"uber des LDAP-Servers erforderlich ist,
        so muss diese Variable lediglich auf den Wert `yes' gestellt werden. Bei
        der Einstellung `no' wird keine Authentifizierung durchgef"uhrt.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_AUTH='no'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_BINDDN}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_BINDDN}{ROUNDCUBExGLOBADDRLDAPyBINDDN}
        "Uber diesen Parameter wird die bind-dn f"ur die Authentifizierung am
        LDAP-Server festgelegt.

        G"ultige Werte: bind-dn

        Beispiel: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_BINDDN='cn=ldapadmin,dc=domain,dc=lan'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_BINDPASS}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_BINDPASS}{ROUNDCUBExGLOBADDRLDAPyBINDPASS}
        "Uber diesen Parameter wird das bind-Kennwort f"ur die Authentifizierung am
        LDAP-Server festgelegt.

        G"ultige Werte: Kennwort

        Beispiel: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_BINDPASS='my-secret'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_WRITEABLE}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_WRITEABLE}{ROUNDCUBExGLOBADDRLDAPyWRITEABLE}
        Wird dieser Parameter auf `yes' gesetzt, so wird das Bearbeiten des LDAP-
        Adressbuchs zugelassen. Wird der Parameter auf `no' gesetzt, so wird das
        Bearbeiten unterbunden.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_WRITEABLE='no'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_CHARSET (Optionaler Parameter)}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_CHARSET}{ROUNDCUBExGLOBADDRLDAPyCHARSET}
        "Uber diesen Parameter kann ein vom Standardzeichensatz, welcher "uber
        den Parameter \jump{ROUNDCUBExGENERALDEFCHARSET}{ROUNDCUBE\_x\_GENERAL\_DEF\_CHARSET}
        definiert wurde, abweichender Zeichensatz festgelegt werden.

        Beispiel: \texttt{ROUNDCUBE\_1\_GENERAL\_DEF\_CHARSET='utf-8'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_MAXROWS (Optionaler Parameter)}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_MAXROWS}{ROUNDCUBExGLOBADDRLDAPyMAXROWS}
        "Uber diesen Parameter wird die maximale Anzahl von Antwortzeilen
        definiert die f"ur die Anzeige des Suchergebnisses genutzt werden,
        ansonsten wird der Standardwert '150' verwendet.

        Beispiel: \texttt{ROUNDCUBE\_1\_GLOBADDR\_LDAP\_1\_MAXROWS='200'}

    \config{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_USRSPEC (Optionaler Parameter)}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_USRSPEC}{ROUNDCUBExGLOBADDRLDAPyUSRSPEC}
        "Uber diesen Parameter wird festgelegt, ob anwenderspezifische
        Adressb"ucher verwendet werden sollen oder nicht. Standardm"a"sig
        ist dieser Parameter nicht gesetzt.\\
        Wird dieser Parameter auf den Wert `yes' gesetzt, so stehen die
        folgenden Variablen zur Verwendung in den Parametern
        \jump{ROUNDCUBExGLOBADDRLDAPyBASEDN}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_BASEDN} und
        \jump{ROUNDCUBExGLOBADDRLDAPyBINDDN}{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_BINDDN}
        zur Verf"ugung:

        \begin{itemize}
            \item{\%fu} Der vollst"andige Anwendername, wobei davon ausgegangen wird, dass dies eine E-Mail-Adresse ist.
            \item{\%u}  Der Anwendername vor dem $@$-Zeichen.
            \item{\%d}  Der Domainname nach dem $@$-Zeichen.
            \item{\%dc} Der Domainname in hierarchischer Schreibweise.
            \item{\%dn} Der DN welcher bei einer LDAP-Suche gefunden wurde.
        \end{itemize}

        G"ultige Werte: yes, no

        Beispiel: \texttt{ROUNDCUBE\_x\_GLOBADDR\_LDAP\_y\_USRSPEC='yes'}

    \config{ROUNDCUBE\_CRON\_SCHEDULE (Optionaler Parameter)}{ROUNDCUBE\_CRON\_SCHEDULE}{ROUNDCUBECRONSCHEDULE}
        "Uber diesen Parameter wird festgelegt zu welchem Zeitpunkt bzw. in
        welchem Intervall automatisch Datenbankbereinigungen durchgef"uhrt
        werden sollen. Die f"unf Teilparameter haben dabei folgende Bedeutung:\\
        1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.

        D.h. bei Verwendung der Standardeinstellung wird jeden Tag um 01:14h
        die Bereinigung des Verzeichnisses durchgef"uhrt. Wer N"aheres "uber
        die verwendete Befehlssyntax erfahren m"ochte, sollte "uber eine
        Internet-Suchmaschine nach `man' und `crontab' suchen.

        G"ultige Werte: Crontab-spezifischer Parametereintrag

        Standardeinstellung: \texttt{ROUNDCUBE\_CRON\_SCHEDULE='14 1 * * *'}
\end{description}


\section{Die Plugins}

    "Uber Roundcube-Plugins k"onnen zus"atzliche Funktionen in das Roundcube-Paket eingebunden
    werden. Hierbei obliegt es jedem Einzelnen zu entscheiden ob er ein Plugin, trotz eventueller
    Sicherheitsrisiken, aktivieren m"ochte oder nicht. Abh"angig von den jeweiligen Plugins kann
    es notwendig sein, dass zuvor andere Programme installiert werden m"ussen, die "uber das
    Roundcube-Paket bzw. den eisfair-Server nicht zur Verf"ugung gestellt werden.
    Es wird empfohlen, vor einer Aktivierung eines Plugins, die im jeweiligen Plugin-Verzeichnis
    vorhandene Dokumentation zu lesen und sich "uber die Roundcube-Webseite (\url{https://roundcube.net})
    weiter zu informieren. \\

\begin{description}
    \config{newmail\_notifier-Plugin}{newmail\_notifier-Plugin}{newmailnotifierPlugin}
        "Uber 'Einstellungen->Mailbox-Ansicht->Neue Nachricht' kann man bei aktiviertem
        newmail\_notifer-Plugin die Art der Benachrichtigung bei eingehenden neuen Nachrichten
        festlegen. Zur Auswahl stehen die folgende Optionen:\\
        \begin{itemize}
            \item Benachrichtigung im Browser neuer Nachricht - Hierbei wird der
                Fenstertitel und das angezeigte Favicon des Webbrowsers angepasst.
            \item Desktop-Benachrichtigung bei neuer Nachricht - Um diese Funktion
                nutzen zu k"onnen muss der verwendet Webbrowser HTML5 webkitNotifications
                unterst"utzen. Chrome und Mozilla Firefox, mit installiertem HTML5
                Notifications-Plugin, stellen diese Funktion z.B. bereit.
            \item Akustische Meldung bei neuer Nachricht - Es wird die im Verzeichnis
                \texttt{/plugins/newmail\_notifier} befindliche Tondatei
                `sound.wav' abgespielt.
        \end{itemize}
\end{description}

\section{Verschiedenes}

\begin{description}
    \config{PHP-Fehlermeldungen}{PHP\_Fehlermeldungen}{PHPFehlermeldungen}
        Werden z.B. in der Ordner-Funktion Meldungen "uber nicht initialisierte
        Variablen angezeigt, so sollte man pr"ufen, ob in der Datei `/etc/php.ini'
        der folgende Parameter gesetzt wurde:\\

    \begin{verbatim}
;error_reporting  =  E_ALL                               # alt
error_reporting  =  E_ALL & ~E_NOTICE & ~E_USER_NOTICE   # neu
    \end{verbatim}

    \config{PHP-LDAP-Zugriff}{PHP-LDAP-Zugriff}{PHPLDAPZugriffROUNDCUBE}
        Um verschl"usselt auf ein LDAP-Verzeichnis zugreifen zu k"onnen muss
        zuvor das ldapclient-Paket installiert werden. Wurde f"ur den LDAP-Server
        ein selbstsigniertes Zertifikat verwendet, so ist in der Konfiguration
        des ldapclient-Paketes sicher zu stellen, dass der Parameter
        LDAPCLIENT\_SERVER\_CERT\_CHECK dessen Verwendung nicht verweigert.
        Wird des Wert des Parameters z.B. auf 'never' gesetzt, so erfolgt keine
        Pr"ufung der Zertifikatskette. Mittels des im Verzeichnis
        \texttt{/usr/share/doc/roundcube} mitgelieferten PHP-Skripts
        'test-ldap.php' kann der Zugriff auf einen LDAP-Server getestet werden.
        Das Skript ist hierzu in den Webserverpfad zu kopieren, die Zugriffsrechte
        und Skriptparameter anzupassen und dann "uber einen Webbrowser aufzurufen.
\end{description}
