Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mail_c6:roundcube_1 [10.06.2013 18:59. ] – [Roundcube Konfiguration] django | centos:mail_c6:roundcube_1 [31.05.2017 16:31. ] (aktuell) – Webmail mit Roundcube - Diskussionsmöglichkeit wegen SPAM entfernt :/ django | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Webmail mit Roundcube ====== | ||
+ | {{: | ||
+ | |||
+ | ===== Installation ===== | ||
+ | ==== Voraussetzungen und Abhängigkeiten ==== | ||
+ | Für die Installation des Webmailers benötien wir noch ein paar **PHP**-Pakete, | ||
+ | Im Detail sind das folgende Pakete: | ||
+ | * **php-pspell** | ||
+ | * **php-mcrypt** | ||
+ | * **GraphicsMagick** | ||
+ | |||
+ | # yum install php-pspell php-mcrypt GraphicsMagick -y | ||
+ | |||
+ | Für die deutsche Rechtschreibkorrektur gibt es unter CentOS 6 kein RPM. Wir können jedoch das passende Paket aus dem Fedora-Zweig verwenden. Das Paket [[http:// | ||
+ | # cd / | ||
+ | |||
+ | # wget ttp:// | ||
+ | |||
+ | Anschließend installieren wir dieses RPM. | ||
+ | # yum install --nogpgcheck localinstall / | ||
+ | |||
+ | Wie immer kann man sich mit Hilfe des Aufrufes **rpm -qil < | ||
+ | |||
+ | ==== Installation roundcube ==== | ||
+ | Die Installation von Roundcube selbst ist kein Hexenwerk, braucht man doch nur das entsprechende RPM-Paket mit Hilfe von **yum** installieren. | ||
+ | # yum install roundcubemail -y | ||
+ | |||
+ | ===== Konfiguration ===== | ||
+ | ==== Apache vHost ==== | ||
+ | === vHost Definition === | ||
+ | Für unsere Webmailer richten wir uns nun einen geeigneten vHost ein. Im Konfigurationsverzeichnis unseres [[centos: | ||
+ | # vim / | ||
+ | |||
+ | <file apache / | ||
+ | # roundcube webmailer | ||
+ | # | ||
+ | < | ||
+ | ServerAdmin webmaster@nausch.org | ||
+ | ServerName webmail.nausch.org | ||
+ | ServerPath / | ||
+ | |||
+ | < | ||
+ | Options -Indexes FollowSymLinks | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </ | ||
+ | |||
+ | RewriteEngine on | ||
+ | RewriteCond %{HTTPS} off | ||
+ | RewriteRule (.*) https:// | ||
+ | |||
+ | DirectoryIndex index.php | ||
+ | ErrorLog logs/ | ||
+ | CustomLog logs/ | ||
+ | </ | ||
+ | < | ||
+ | ServerAdmin webmaster@nausch.org | ||
+ | ServerName webmail.nausch.org | ||
+ | ServerPath / | ||
+ | DocumentRoot "/ | ||
+ | |||
+ | # Django | ||
+ | # Required, because there is a host with same ServerName and | ||
+ | # ServerAlias LISTENING ON PORT 80, - and if these lines are | ||
+ | # not present, and .htaccess-Files or LDAP-Access is enabled | ||
+ | # for one or more Directory the host on PORT 443 and PORT 80 | ||
+ | # will ASK for .htaccess ord LDAP-Access, | ||
+ | # ---------------------------------------------------------- | ||
+ | # -- DO NOT DELETE THE FOLLOWING LINES, STARTING WITH SSL -- | ||
+ | # -- WHEN USING .htaccess or LDAP-Access! | ||
+ | # ---------------------------------------------------------- | ||
+ | SSLEngine on | ||
+ | SSLProtocol -ALL +SSLv3 +TLSv1 | ||
+ | SSLCipherSuite ALL: | ||
+ | SSLCertificateFile / | ||
+ | SSLCertificateKeyFile / | ||
+ | SSLCertificateChainFile / | ||
+ | |||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </ | ||
+ | |||
+ | DirectoryIndex index.php | ||
+ | ErrorLog logs/ | ||
+ | CustomLog logs/ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <WRAP round important> | ||
+ | |||
+ | Solange wir unseren vHost noch nicht in der Produktionsumgebung steht und fertig konfiguriert wurde, beschränken wir den Zugriff auf den vHost noch. Hierzu tragen wir in der **Directive // | ||
+ | <code apache> | ||
+ | # Access-stuff (Zugriff nur vom Admin-Host aus!) | ||
+ | Order deny,allow | ||
+ | Deny from all | ||
+ | Allow from < | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Nach erfolgter Konfiguration, | ||
+ | <code apache> | ||
+ | # Access-stuff (Zugriff von überall erlauben.) | ||
+ | Order allom,deny | ||
+ | Allow from all | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | === Konfiguration aktivieren === | ||
+ | Bevor unseren Webserver starten, damit der neue vHost auch bedient werden kann, überprüfen wir die Konfiguration noch auf syntaktische Fehler. | ||
+ | # service httpd configtest | ||
+ | |||
+ | | ||
+ | |||
+ | Abschließend starten wir den Webserver einmal durch. | ||
+ | # service httpd restart | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | ==== mySQL Datenbank ==== | ||
+ | Ein Großteil der Benutzer-Konfigurationsdaten werden in einer [[centos: | ||
+ | |||
+ | === Datenbank anlegen === | ||
+ | Diese [[centos: | ||
+ | |||
+ | Wir melden uns also als berechtigter Datenbankuser an der mySQL-Datenbank an. | ||
+ | # mysql -h localhost -u root -p | ||
+ | < | ||
+ | Welcome to the MySQL monitor. | ||
+ | Your MySQL connection id is 1942 | ||
+ | Server version: 5.1.67 Source distribution | ||
+ | |||
+ | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. | ||
+ | |||
+ | Oracle is a registered trademark of Oracle Corporation and/or its | ||
+ | affiliates. Other names may be trademarks of their respective | ||
+ | owners. | ||
+ | |||
+ | Type ' | ||
+ | |||
+ | mysql> | ||
+ | </ | ||
+ | |||
+ | Dort legen wir als aller erst einmal eine Datenbank mit dem Namen **roundcubemail** an. | ||
+ | | ||
+ | |||
+ | Query OK, 1 row affected (0.03 sec) | ||
+ | |||
+ | === Datenbankuser anlegen === | ||
+ | ==== Datenuserbank anlegen ==== | ||
+ | Anschließend legen wir uns einen Datenbankuser an, denen wir entsprechende Rechte an der, gerade angelegten Datenbank **horde** einräumen. Als Namen nehme wir einfach **hode_admin_user**. | ||
+ | |||
+ | | ||
+ | |||
+ | Query OK, 0 rows affected (0.00 sec) | ||
+ | |||
+ | und | ||
+ | | ||
+ | |||
+ | Query OK, 0 rows affected (0.00 sec) | ||
+ | |||
+ | === Nutzerberechtigungen setzen === | ||
+ | Dem gerade angelebtem Datenbankuser für **[[http:// | ||
+ | | ||
+ | |||
+ | Query OK, 0 rows affected (0.00 sec) | ||
+ | |||
+ | und | ||
+ | | ||
+ | |||
+ | Query OK, 0 rows affected (0.00 sec) | ||
+ | |||
+ | === Nutzerberechtigungen zuweisen === | ||
+ | Zum Ende unserer mySQL-Userkonfiguration weisen wir unserem Nutzer die Berechtigungen zu. | ||
+ | | ||
+ | |||
+ | Query OK, 0 rows affected (0.00 sec) | ||
+ | |||
+ | |||
+ | === Zugriff testen === | ||
+ | Als nächstes überprüfen wir, ob der zuvor angelegt User/Zugang auch funktioniert. | ||
+ | # mysql -D roundcubemail -h mysql.dmz.nausch.org -u roundcube_user -p | ||
+ | < | ||
+ | Reading table information for completion of table and column names | ||
+ | You can turn off this feature to get a quicker startup with -A | ||
+ | |||
+ | Welcome to the MySQL monitor. | ||
+ | Your MySQL connection id is 28823 | ||
+ | Server version: 5.1.69 Source distribution | ||
+ | |||
+ | Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. | ||
+ | |||
+ | Oracle is a registered trademark of Oracle Corporation and/or its | ||
+ | affiliates. Other names may be trademarks of their respective | ||
+ | owners. | ||
+ | |||
+ | Type ' | ||
+ | |||
+ | mysql> show tables; | ||
+ | +-------------------------+ | ||
+ | | Tables_in_roundcubemail | | ||
+ | +-------------------------+ | ||
+ | | cache | | ||
+ | | cache_index | ||
+ | | cache_messages | ||
+ | | cache_thread | ||
+ | | contactgroupmembers | ||
+ | | contactgroups | ||
+ | | contacts | ||
+ | | dictionary | ||
+ | | identities | ||
+ | | searches | ||
+ | | session | ||
+ | | users | | ||
+ | +-------------------------+ | ||
+ | 12 rows in set (0.00 sec) | ||
+ | |||
+ | mysql> | ||
+ | </ | ||
+ | Da der Test positiv ausgefallen ist, können wie uns wieder von unserem Datenbankserver abmelden. | ||
+ | mysql> quit | ||
+ | |||
+ | Bye | ||
+ | |||
+ | ==== Datenbanktabellen anlegen ==== | ||
+ | |||
+ | Die von Roundcube benötigten Datebanktabellen, | ||
+ | # mysql -D roundcubemail -h mysql.dmz.nausch.org -u roundcube_user -p < / | ||
+ | |||
+ | ==== Datenbank-Anbindung ==== | ||
+ | Damit roundcube später auf unsere Datenbank auch zugreifen kann, definieren wir nun die Datenbankanbindung von roundcube an unseren MySQL-Datenbank-Server. | ||
+ | |||
+ | Im Verzeichnis // | ||
+ | # vim / | ||
+ | |||
+ | <file php / | ||
+ | |||
+ | /* | ||
+ | | ||
+ | | Configuration file for database access | ||
+ | | ||
+ | | This file is part of the Roundcube Webmail client | ||
+ | | Copyright (C) 2005-2009, The Roundcube Dev Team | | ||
+ | | Licensed under the GNU GPL | | ||
+ | | ||
+ | | ||
+ | |||
+ | */ | ||
+ | |||
+ | $rcmail_config = array(); | ||
+ | |||
+ | // PEAR database DSN for read/write operations | ||
+ | // format is db_provider:// | ||
+ | // For examples see http:// | ||
+ | |||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | // postgres example: ' | ||
+ | // Warning: for SQLite use absolute path in DSN: | ||
+ | |||
+ | // PEAR database DSN for read only operations (if empty write database will be used) | ||
+ | // useful for database replication | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // maximum length of a query in bytes | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use persistent db-connections | ||
+ | // beware this will not " | ||
+ | // see: http:// | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // you can define specific table names used to store webmail data | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // you can define specific sequence names used in PostgreSQL | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // end db config file | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Roundcube Konfiguration ==== | ||
+ | Die Konfiguration von Roundcube erfolgt über die zentrale Konfigurationsdatei **main.inc.php** im Verzeichnis // | ||
+ | |||
+ | Die Parameter sind gut dokumentiert, | ||
+ | # vim / | ||
+ | <file php / | ||
+ | |||
+ | /* | ||
+ | | ||
+ | | Main configuration file | | ||
+ | | ||
+ | | This file is part of the Roundcube Webmail client | ||
+ | | Copyright (C) 2005-2011, The Roundcube Dev Team | | ||
+ | | Licensed under the GNU GPL | | ||
+ | | ||
+ | | ||
+ | |||
+ | */ | ||
+ | |||
+ | $rcmail_config = array(); | ||
+ | |||
+ | // ---------------------------------- | ||
+ | // LOGGING/ | ||
+ | // ---------------------------------- | ||
+ | |||
+ | // system error reporting: 1 = log; 2 = report (not implemented yet), 4 = show, 8 = trace | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // log driver: | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // date format for log entries | ||
+ | // (read http:// | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Syslog ident string to use, if using the ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Syslog facility to use, if using the ' | ||
+ | // For possible values see installer or http:// | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Log sent messages to < | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Log successful logins to < | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Log session authentication errors to < | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Log SQL queries to < | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Log IMAP conversation to < | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Log LDAP conversation to < | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Log SMTP conversation to < | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // ---------------------------------- | ||
+ | // IMAP | ||
+ | // ---------------------------------- | ||
+ | |||
+ | // the mail host chosen to perform the log-in | ||
+ | // leave blank to show a textbox at login, give a list of hosts | ||
+ | // to display a pulldown menu or set one host as string. | ||
+ | // To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// | ||
+ | // Supported replacement variables: | ||
+ | // %n - http hostname ($_SERVER[' | ||
+ | // %d - domain (http hostname without the first part) | ||
+ | // %s - domain name after the ' | ||
+ | // For example %n = mail.domain.tld, | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // TCP port used for IMAP connections | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // IMAP AUTH type (DIGEST-MD5, | ||
+ | // best server supported one) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // If you know your imap's folder delimiter, you can specify it here. | ||
+ | // Otherwise it will be determined automatically | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // If IMAP server doesn' | ||
+ | // using shared folders or personal root folder is non-empty, you'll need to | ||
+ | // set these options. All can be strings or arrays of strings. | ||
+ | // Folders need to be ended with directory separator, e.g. " | ||
+ | // (special directory " | ||
+ | // These can be used also to overwrite server' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // By default IMAP capabilities are readed after connection to IMAP server | ||
+ | // In some cases, e.g. when using IMAP proxy, there' | ||
+ | // after login. Set to True if you've got this case. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // By default list of subscribed folders is determined using LIST-EXTENDED | ||
+ | // extension if available. Some servers (dovecot 1.x) returns wrong results | ||
+ | // for shared namespaces in this case. http:// | ||
+ | // Enable this option to force LSUB command usage instead. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // IMAP connection timeout, in seconds. Default: 0 (no limit) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Optional IMAP authentication identifier to be used as authorization proxy | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Optional IMAP authentication password to be used for imap_auth_cid | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Type of IMAP indexes cache. Supported values: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enables messages cache. Only ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // ---------------------------------- | ||
+ | // SMTP | ||
+ | // ---------------------------------- | ||
+ | |||
+ | // SMTP server host (for sending mails). | ||
+ | // To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// | ||
+ | // If left blank, the PHP mail() function is used | ||
+ | // Supported replacement variables: | ||
+ | // %h - user's IMAP hostname | ||
+ | // %n - http hostname ($_SERVER[' | ||
+ | // %d - domain (http hostname without the first part) | ||
+ | // %z - IMAP domain (IMAP hostname without the first part) | ||
+ | // For example %n = mail.domain.tld, | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // SMTP port (default is 25; 465 for SSL) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // SMTP username (if required) if you use %u as the username Roundcube | ||
+ | // will use the current username for login | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // SMTP password (if required) if you use %p as the password Roundcube | ||
+ | // will use the current user's password for login | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // SMTP AUTH type (DIGEST-MD5, | ||
+ | // best server supported one) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Optional SMTP authentication identifier to be used as authorization proxy | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Optional SMTP authentication password to be used for smtp_auth_cid | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // SMTP HELO host | ||
+ | // Hostname to give to the remote server for SMTP ' | ||
+ | // Leave this blank and you will get the server variable ' | ||
+ | // localhost if that isn't defined. | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // SMTP connection timeout, in seconds. Default: 0 (no limit) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // ---------------------------------- | ||
+ | // SYSTEM | ||
+ | // ---------------------------------- | ||
+ | |||
+ | // THIS OPTION WILL ALLOW THE INSTALLER TO RUN AND CAN EXPOSE SENSITIVE CONFIG DATA. | ||
+ | // ONLY ENABLE IT IF YOU'RE REALLY SURE WHAT YOU'RE DOING! | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use this folder to store log files (must be writeable for apache user) | ||
+ | // This is used by the ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use this folder to store temp files (must be writeable for apache user) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // lifetime of message cache | ||
+ | // possible units: s, m, h, d, w | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // enforce connections over https | ||
+ | // with this option enabled, all non-secure connections will be redirected. | ||
+ | // set the port for the ssl connection as value of this option if it differs from the default 443 | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // tell PHP that it should work as under secure connection | ||
+ | // even if it doesn' | ||
+ | // e.g. when you're running Roundcube behind a https proxy | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Allow browser-autocompletion on login form. | ||
+ | // 0 - disabled, 1 - username and host only, 2 - username, host, password | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // If users authentication is not case sensitive this must be enabled. | ||
+ | // You can also use it to force conversion of logins to lower case. | ||
+ | // After enabling it all user records need to be updated, e.g. with query: | ||
+ | // UPDATE users SET username = LOWER(username); | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // automatically create a new Roundcube user when log-in the first time. | ||
+ | // a new user will be created once the IMAP login succeeds. | ||
+ | // set to false if only registered users can use this service | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // replace Roundcube logo with this image | ||
+ | // specify an URL relative to the document root of this Roundcube installation | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Includes should be interpreted as PHP files | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Session lifetime in minutes | ||
+ | // must be greater than ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // session domain: .example.org | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // session name. Default: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Backend to use for session storage. Can either be ' | ||
+ | // If set to memcache, a list of servers need to be specified in ' | ||
+ | // Make sure the Memcache extension (http:// | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Use these hosts for accessing memcached | ||
+ | // Define any number of hosts in the form hostname: | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // check client IP in session athorization | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // check referer of incoming requests | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // X-Frame-Options HTTP header value sent to prevent from Clickjacking. | ||
+ | // Possible values: sameorigin|deny. Set to false in order to disable sending them | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // this key is used to encrypt the users imap password which is stored | ||
+ | // in the session record (and the client cookie if remember password is enabled). | ||
+ | // please provide a string of exactly 24 chars. | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | // | ||
+ | |||
+ | // Automatically add this domain to user names for login | ||
+ | // Only for IMAP servers that require full e-mail addresses for login | ||
+ | // Specify an array with ' | ||
+ | // Supported replacement variables: | ||
+ | // %h - user's IMAP hostname | ||
+ | // %n - http hostname ($_SERVER[' | ||
+ | // %d - domain (http hostname without the first part) | ||
+ | // %z - IMAP domain (IMAP hostname without the first part) | ||
+ | // For example %n = mail.domain.tld, | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // This domain will be used to form e-mail addresses of new users | ||
+ | // Specify an array with ' | ||
+ | // Supported replacement variables: | ||
+ | // %h - user's IMAP hostname | ||
+ | // %n - http hostname ($_SERVER[' | ||
+ | // %d - domain (http hostname without the first part) | ||
+ | // %z - IMAP domain (IMAP hostname without the first part) | ||
+ | // For example %n = mail.domain.tld, | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Password charset. | ||
+ | // Use it if your authentication backend doesn' | ||
+ | // Defaults to ISO-8859-1 for backward compatibility | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // How many seconds must pass between emails sent by a user | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Maximum number of recipients per message. Default: 0 (no limit) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Maximum allowednumber of members of an address group. Default: 0 (no limit) | ||
+ | // If ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // add this user-agent to message headers when sending | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use this name to compose page titles | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // try to load host-specific configuration | ||
+ | // see http:// | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // path to a text file which will be added to each sent message | ||
+ | // paths are relative to the Roundcube root folder | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // path to a text file which will be added to each sent HTML message | ||
+ | // paths are relative to the Roundcube root folder | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // add a received header to outgoing mails containing the creators IP and hostname | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Whether or not to encrypt the IP address and the host name | ||
+ | // these could, in some circles, be considered as sensitive information; | ||
+ | // however, for the administrator, | ||
+ | // when tracking down issues. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // This string is used as a delimiter for message headers when sending | ||
+ | // a message via mail() function. Leave empty for auto-detection | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // number of chars allowed for line when wrapping text. | ||
+ | // text wrapping is done when composing/ | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // send plaintext messages as format=flowed | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // don't allow these settings to be overriden by the user | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Set identities access level: | ||
+ | // 0 - many identities with possibility to edit all params | ||
+ | // 1 - many identities with possibility to edit all params but not email address | ||
+ | // 2 - one identity with possibility to edit all params | ||
+ | // 3 - one identity with possibility to edit all params but not email address | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | // | ||
+ | // Django : 2013-05-17 | ||
+ | // old : $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Mimetypes supported by the browser. | ||
+ | // attachments of these types will open in a preview window | ||
+ | // either a comma-separated list or an array: ' | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // mime magic database | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // path to imagemagick identify binary | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // path to imagemagick convert binary | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // maximum size of uploaded contact photos in pixel | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enable DNS checking for e-mail address validation | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // ---------------------------------- | ||
+ | // PLUGINS | ||
+ | // ---------------------------------- | ||
+ | |||
+ | // List of active plugins (in plugins/ directory) | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // ---------------------------------- | ||
+ | // USER INTERFACE | ||
+ | // ---------------------------------- | ||
+ | |||
+ | // default messages sort column. Use empty value for default server' | ||
+ | // or ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // default messages sort order | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // These cols are shown in the message list. Available cols are: | ||
+ | // subject, from, to, fromto, cc, replyto, date, size, status, flag, attachment, ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // the default locale setting (leave empty for auto-detection) | ||
+ | // RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use this format for date display (date or strftime format) | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // give this choice of date formats to the user to select from | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use this format for time display (date or strftime format) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // give this choice of time formats to the user to select from | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use this format for short date display (derived from date_format and time_format) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use this format for detailed date/time formatting (derived from date_format and time_format) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // store draft message is this mailbox | ||
+ | // leave blank if draft messages should not be stored | ||
+ | // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // store spam messages in this mailbox | ||
+ | // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // store sent message is this mailbox | ||
+ | // leave blank if sent messages should not be stored | ||
+ | // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // move messages to this folder when deleting them | ||
+ | // leave blank if they should be deleted directly | ||
+ | // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // display these folders separately in the mailbox list. | ||
+ | // these folders will also be displayed with localized names | ||
+ | // NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // automatically create the above listed default folders on first login | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // protect the default folders from renames, deletes, and subscription changes | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // if in your system 0 quota means no limit set this option to true | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Make use of the built-in spell checker. It is based on GoogieSpell. | ||
+ | // Since Google only accepts connections over https your PHP installatation | ||
+ | // requires to be compiled with Open SSL support | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enables spellchecker exceptions dictionary. | ||
+ | // Setting it to ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Set the spell checking engine. ' | ||
+ | // but requires the Pspell extensions. When using Nox Spell Server, also set ' | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // For a locally installed Nox Spell Server, please specify the URI to call it. | ||
+ | // Get Nox Spell Server from http:// | ||
+ | // Leave empty to use the Google spell checking service, what means | ||
+ | // that the message content will be sent to Google in order to check spelling | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // These languages can be selected for spell checking. | ||
+ | // Configure as a PHP style hash array: array(' | ||
+ | // Leave empty for default set of available language. | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Makes that words with all letters capitalized will be ignored (e.g. GOOGLE) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Makes that words with numbers will be ignored (e.g. g00gle) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Makes that words with symbols will be ignored (e.g. g@@gle) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Use this char/string to separate recipients when composing a new message | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // don't let users set pagesize to more than this value if set | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Minimal value of user's ' | ||
+ | // Must be less than ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enables files upload indicator. Requires APC installed and enabled apc.rfc1867 option. | ||
+ | // By default refresh time is set to 1 second. You can set this value to true | ||
+ | // or any integer value indicating number of seconds. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Specifies for how many seconds the Undo button will be available | ||
+ | // after object delete action. Currently used with supporting address book sources. | ||
+ | // Setting it to 0, disables the feature. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // ---------------------------------- | ||
+ | // ADDRESSBOOK SETTINGS | ||
+ | // ---------------------------------- | ||
+ | |||
+ | // This indicates which type of address book to use. Possible choises: | ||
+ | // ' | ||
+ | // If set to ' | ||
+ | // address book as the primary address book and it will not display the | ||
+ | // SQL address book in the ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // In order to enable public ldap search, configure an array like the Verisign | ||
+ | // example further below. if you would like to test, simply uncomment the example. | ||
+ | // Array key must contain only safe characters, ie. a-zA-Z0-9_ | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // If you are going to use LDAP for individual address books, you will need to | ||
+ | // set ' | ||
+ | // | ||
+ | // The recommended directory structure for LDAP is to store all the address book entries | ||
+ | // under the users main entry, e.g.: | ||
+ | // | ||
+ | // o=root | ||
+ | // | ||
+ | // uid=user@domain | ||
+ | // mail=contact@contactdomain | ||
+ | // | ||
+ | // So the base_dn would be uid=%fu, | ||
+ | // The bind_dn would be the same as based_dn or some super user login. | ||
+ | /* | ||
+ | * example config for Verisign directory | ||
+ | * | ||
+ | $rcmail_config[' | ||
+ | ' | ||
+ | // Replacement variables supported in host names: | ||
+ | // %h - user's IMAP hostname | ||
+ | // %n - http hostname ($_SERVER[' | ||
+ | // %d - domain (http hostname without the first part) | ||
+ | // %z - IMAP domain (IMAP hostname without the first part) | ||
+ | // For example %n = mail.domain.tld, | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // %fu - The full username provided, assumes the username is an email | ||
+ | // | ||
+ | // %u - The username prior to the ' | ||
+ | // %d - The domain name after the ' | ||
+ | // %dc - The domain name hierarchal string e.g. " | ||
+ | // %dn - DN found by ldap search when search_filter/ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // It's possible to bind for an individual address book | ||
+ | // The login name is used to search for the DN to bind with | ||
+ | ' | ||
+ | ' | ||
+ | // DN and password to bind as before searching for bind DN, if anonymous search is not allowed | ||
+ | ' | ||
+ | ' | ||
+ | // Default for %dn variable if search doesn' | ||
+ | ' | ||
+ | // Optional authentication identifier to be used as SASL authorization proxy | ||
+ | // bind_dn need to be empty | ||
+ | ' | ||
+ | // SASL authentication method (for proxy auth), e.g. DIGEST-MD5 | ||
+ | ' | ||
+ | // Indicates if the addressbook shall be hidden from the list. | ||
+ | // With this option enabled you can still search/view contacts. | ||
+ | ' | ||
+ | // Indicates if the addressbook shall not list contacts but only allows searching. | ||
+ | ' | ||
+ | // Indicates if we can write to the LDAP directory or not. | ||
+ | // If writable is true then these fields need to be populated: | ||
+ | // LDAP_Object_Classes, | ||
+ | ' | ||
+ | // To create a new contact these are the object classes to specify | ||
+ | // (or any other classes you wish to use). | ||
+ | ' | ||
+ | // The RDN field that is used for new entries, this field needs | ||
+ | // to be one of the search_fields, | ||
+ | // to the RDN to insert into the LDAP directory. | ||
+ | ' | ||
+ | // The required fields needed to build a new contact as required by | ||
+ | // the object classes (can include additional fields not required by the object classes). | ||
+ | ' | ||
+ | ' | ||
+ | // mapping of contact fields to directory attributes | ||
+ | // for every attribute one can specify the number of values (limit) allowed. | ||
+ | // | ||
+ | ' | ||
+ | // Roundcube | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | // definition for contact groups (uncomment if no groups are supported) | ||
+ | // for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above) | ||
+ | // if the groups base_dn is empty, the contact base_dn is used for the groups as well | ||
+ | // -> in this case, assure that groups and contacts are separated due to the concernig filters! | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ); | ||
+ | */ | ||
+ | |||
+ | // An ordered array of the ids of the addressbooks that should be searched | ||
+ | // when populating address autocomplete fields server-side. ex: array(' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // The minimum number of characters required to be typed in an autocomplete field | ||
+ | // before address books will be searched. Most useful for LDAP directories that | ||
+ | // may need to do lengthy results building given overly-broad searches | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Number of parallel autocomplete requests. | ||
+ | // If there' | ||
+ | // where each request will search in one address book. By default (0), all address | ||
+ | // books are searched in one request. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Max. numer of entries in autocomplete popup. Default: 15. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // show address fields in this order | ||
+ | // available placeholders: | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Matching mode for addressbook search (including autocompletion) | ||
+ | // 0 - partial (*abc*), default | ||
+ | // 1 - strict (abc) | ||
+ | // 2 - prefix (abc*) | ||
+ | // Note: For LDAP sources fuzzy_search must be enabled to use ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // ---------------------------------- | ||
+ | // USER PREFERENCES | ||
+ | // ---------------------------------- | ||
+ | |||
+ | // Use this charset as fallback for message decoding | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // skin name: folder from skins/ | ||
+ | // Django : 2013-05-17 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // show up to X items in list view | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // sort contacts by this col (preferably either one of name, firstname, surname) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // the way how contact names are displayed in the list | ||
+ | // 0: display name | ||
+ | // 1: (prefix) firstname middlename surname (suffix) | ||
+ | // 2: (prefix) surname firstname middlename (suffix) | ||
+ | // 3: (prefix) surname, firstname middlename (suffix) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use this timezone to display date/time | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // is daylight saving On? Default: (bool)date(' | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // prefer displaying HTML messages | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // display remote inline images | ||
+ | // 0 - Never, always ask | ||
+ | // 1 - Ask if sender is not in address book | ||
+ | // 2 - Always show inline images | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // compose html formatted messages by default | ||
+ | // 0 - never, 1 - always, 2 - on reply to HTML message only | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // show pretty dates as standard | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // save compose message every 300 seconds (5min) | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // default setting if preview pane is enabled | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Mark as read when viewed in preview pane (delay in seconds) | ||
+ | // Set to -1 if messages in preview pane should not be marked as read | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Clear Trash on logout | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Compact INBOX on logout | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Display attached images below the message body | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Encoding of long/ | ||
+ | // 0 - Full RFC 2231 compatible | ||
+ | // 1 - RFC 2047 for ' | ||
+ | // 2 - Full 2047 compatible | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Set true if deleted messages should not be displayed | ||
+ | // This will make the application run slower | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Set true to Mark deleted messages as read as well as deleted | ||
+ | // False means that a message' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Set to true to never delete messages immediately | ||
+ | // Use ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Default interval for keep-alive/ | ||
+ | // Must be greater than or equal to ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // If true all folders will be checked for recent messages | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // If true, after message delete/ | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // 0 - Do not expand threads | ||
+ | // 1 - Expand all threads automatically | ||
+ | // 2 - Expand only threads with unread messages | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // When replying place cursor above original message (top posting) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // When replying strip original signature from message | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Show signature: | ||
+ | // 0 - Never | ||
+ | // 1 - Always | ||
+ | // 2 - New messages only | ||
+ | // 3 - Forwards and Replies only | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // When replying or forwarding place sender' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Use MIME encoding (quoted-printable) for 8bit characters in message body | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Defaults of the search field configuration. | ||
+ | // The array can contain a per-folder list of header fields which should be considered when searching | ||
+ | // The entry with key ' | ||
+ | // Please note that folder names should to be in sync with $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Defaults of the addressbook search field configuration. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // ' | ||
+ | // This setting reflects if mail should be always deleted | ||
+ | // when moving to Trash fails. This is necessary in some setups | ||
+ | // when user is over quota and Trash is included in the quota. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Behavior if a received message requests a message delivery notification (read receipt) | ||
+ | // 0 = ask the user, 1 = send automatically, | ||
+ | // 3 = send automatically if sender is in addressbook, | ||
+ | // 4 = send automatically if sender is in addressbook, | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Return receipt checkbox default state | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Delivery Status Notification checkbox default state | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Place replies in the folder of the message being replied to | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Sets default mode of Forward feature to " | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Defines address book (internal index) to which new contacts will be added | ||
+ | // By default it is the first writeable addressbook. | ||
+ | // Note: Use ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enables spell checking before sending a message. | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Skip alternative email addresses in autocompletion (show one address per contact) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // end of config file | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Plugins ===== | ||
+ | Mit Hilfe von Plugins kann Roundgroup um verschiedene Funktionen und Fähigkeiten erweitert werden. In unserem konfigurationsbeispiel beschränken wir uns dabei auf die zwei wichtigsten Plugins, nämlich **Password** und **Managesieve**. | ||
+ | |||
+ | ==== Password ==== | ||
+ | Damit unsere User später Ihr Passwort eigenständig ändern können, konfigurieren wir nun das zugehörige Plugin **password**. | ||
+ | Als erstes kopieren wir die Vorgabedatei, | ||
+ | # cp / | ||
+ | |||
+ | Anschließend bearbeiten wir diese Datei und tragen dort die Datenbankanbindung zur MySQL sowie das benötigte SQL-Statement ein. Auch hier sind in dem nachfolgenden Beispiel die Änderungen mit **Django** gekennzeichnet. | ||
+ | # vim / | ||
+ | |||
+ | <file php / | ||
+ | |||
+ | // Password Plugin options | ||
+ | // ----------------------- | ||
+ | // A driver to use for password change. Default: " | ||
+ | // See README file for list of supported driver names. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Determine whether current password is required to change password. | ||
+ | // Default: false. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Require the new password to be a certain length. | ||
+ | // set to blank to allow passwords of any length | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Require the new password to contain a letter and punctuation character | ||
+ | // Change to false to remove this check. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enables logging of password changes into logs/ | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // SQL Driver options | ||
+ | // ------------------ | ||
+ | // PEAR database DSN for performing the query. By default | ||
+ | // Roundcube DB settings are used. | ||
+ | // Django : 2012-10-18 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // The SQL query used to change the password. | ||
+ | // The query can contain the following macros that will be expanded as follows: | ||
+ | // %p is replaced with the plaintext new password | ||
+ | // %c is replaced with the crypt version of the new password, MD5 if available | ||
+ | // | ||
+ | // %D is replaced with the dovecotpw-crypted version of the new password | ||
+ | // %o is replaced with the password before the change | ||
+ | // %n is replaced with the hashed version of the new password | ||
+ | // %q is replaced with the hashed password before the change | ||
+ | // %h is replaced with the imap host (from the session info) | ||
+ | // %u is replaced with the username (from the session info) | ||
+ | // %l is replaced with the local part of the username | ||
+ | // (in case the username is an email address) | ||
+ | // %d is replaced with the domain part of the username | ||
+ | // (in case the username is an email address) | ||
+ | // Escaping of macros is handled by this module. | ||
+ | // Default: " | ||
+ | // Django : 2012-10-18 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // By default domains in variables are using unicode. | ||
+ | // Enable this option to use punycoded names | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Path for dovecotpw (if not in $PATH) | ||
+ | // Django : 2012-10-18 | ||
+ | // default: unset | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Dovecot method (dovecotpw -s ' | ||
+ | // Django : 2012-10-18 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enables use of password with crypt method prefix in %D, e.g. {MD5}$1$LUiMYWqx$fEkg/ | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Using a password hash for %n and %q variables. | ||
+ | // Determine which hashing algorithm should be used to generate | ||
+ | // the hashed new and current password for using them within the | ||
+ | // SQL query. Requires PHP's ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // You can also decide whether the hash should be provided | ||
+ | // as hex string or in base64 encoded format. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // Poppassd Driver options | ||
+ | // ----------------------- | ||
+ | // The host which changes the password | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // TCP port used for poppassd connections | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // SASL Driver options | ||
+ | // ------------------- | ||
+ | // Additional arguments for the saslpasswd2 call | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // LDAP and LDAP_SIMPLE Driver options | ||
+ | // ----------------------------------- | ||
+ | // LDAP server name to connect to. | ||
+ | // You can provide one or several hosts in an array in which case the hosts are tried from left to right. | ||
+ | // Exemple: array(' | ||
+ | // Default: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP server port to connect to | ||
+ | // Default: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // TLS is started after connecting | ||
+ | // Using TLS for password modification is recommanded. | ||
+ | // Default: false | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP version | ||
+ | // Default: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP base name (root directory) | ||
+ | // Exemple: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP connection method | ||
+ | // There is two connection method for changing a user's LDAP password. | ||
+ | // ' | ||
+ | // ' | ||
+ | // Default: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP Admin DN | ||
+ | // Used only in admin connection mode | ||
+ | // Default: null | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP Admin Password | ||
+ | // Used only in admin connection mode | ||
+ | // Default: null | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP user DN mask | ||
+ | // The user's DN is mandatory and as we only have his login, | ||
+ | // we need to re-create his DN using a mask | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // Exemple: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP search DN | ||
+ | // The DN roundcube should bind with to find out user's DN | ||
+ | // based on his login. Note that you should comment out the default | ||
+ | // password_ldap_userDN_mask setting for this to take effect. | ||
+ | // Use this if you cannot specify a general template for user DN with | ||
+ | // password_ldap_userDN_mask. You need to perform a search based on | ||
+ | // users login to find his DN instead. A common reason might be that | ||
+ | // your users are placed under different ou's like engineering or | ||
+ | // sales which cannot be derived from their login only. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP search password | ||
+ | // If password_ldap_searchDN is set, the password to use for | ||
+ | // binding to search for user's DN. Note that you should comment out the default | ||
+ | // password_ldap_userDN_mask setting for this to take effect. | ||
+ | // Warning: Be sure to set approperiate permissions on this file so this password | ||
+ | // is only accesible to roundcube and don't forget to restrict roundcube' | ||
+ | // your directory as much as possible using ACLs. Should this password be compromised | ||
+ | // you want to minimize the damage. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP search base | ||
+ | // If password_ldap_searchDN is set, the base to search in using the filter below. | ||
+ | // Note that you should comment out the default password_ldap_userDN_mask setting | ||
+ | // for this to take effect. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP search filter | ||
+ | // If password_ldap_searchDN is set, the filter to use when | ||
+ | // searching for user's DN. Note that you should comment out the default | ||
+ | // password_ldap_userDN_mask setting for this to take effect. | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // Example: ' | ||
+ | // Example: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP password hash type | ||
+ | // Standard LDAP encryption type which must be one of: crypt, | ||
+ | // ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, or clear. | ||
+ | // Please note that most encodage types require external libraries | ||
+ | // to be included in your PHP installation, | ||
+ | // Default: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP password attribute | ||
+ | // Name of the ldap's attribute used for storing user password | ||
+ | // Default: ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP password force replace | ||
+ | // Force LDAP replace in cases where ACL allows only replace not read | ||
+ | // See http:// | ||
+ | // Default: true | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP Password Last Change Date | ||
+ | // Some places use an attribute to store the date of the last password change | ||
+ | // The date is meassured in "days since epoch" (an integer value) | ||
+ | // Whenever the password is changed, the attribute will be updated if set (e.g. shadowLastChange) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP Samba password attribute, e.g. sambaNTPassword | ||
+ | // Name of the LDAP's Samba attribute used for storing user password | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // LDAP Samba Password Last Change Date attribute, e.g. sambaPwdLastSet | ||
+ | // Some places use an attribute to store the date of the last password change | ||
+ | // The date is meassured in " | ||
+ | // Whenever the password is changed, the attribute will be updated if set | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // DirectAdmin Driver options | ||
+ | // -------------------------- | ||
+ | // The host which changes the password | ||
+ | // Use ' | ||
+ | // The host can contain the following macros that will be expanded as follows: | ||
+ | // %h is replaced with the imap host (from the session info) | ||
+ | // %d is replaced with the domain part of the username (if the username is an email) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // TCP port used for DirectAdmin connections | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // vpopmaild Driver options | ||
+ | // ----------------------- | ||
+ | // The host which changes the password | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // TCP port used for vpopmaild connections | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // cPanel Driver options | ||
+ | // -------------------------- | ||
+ | // The cPanel Host name | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // The cPanel admin username | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // The cPanel admin password | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // The cPanel port to use | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Using ssl for cPanel connections? | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // The cPanel theme in use | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // XIMSS (Communigate server) Driver options | ||
+ | // ----------------------------------------- | ||
+ | // Host name of the Communigate server | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // XIMSS port on Communigate server | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // chpasswd Driver options | ||
+ | // --------------------- | ||
+ | // Command to use | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // XMail Driver options | ||
+ | // --------------------- | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | |||
+ | // hMail Driver options | ||
+ | // ----------------------- | ||
+ | // Remote hMailServer configuration | ||
+ | // true: HMailserver is on a remote box (php.ini: com.allow_dcom = true) | ||
+ | // false: Hmailserver is on same box as PHP | ||
+ | $rcmail_config[' | ||
+ | // Windows credentials | ||
+ | $rcmail_config[' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | |||
+ | // Virtualmin Driver options | ||
+ | // ------------------------- | ||
+ | // Username format: | ||
+ | // 0: username@domain | ||
+ | // 1: username%domain | ||
+ | // 2: username.domain | ||
+ | // 3: domain.username | ||
+ | // 4: username-domain | ||
+ | // 5: domain-username | ||
+ | // 6: username_domain | ||
+ | // 7: domain_username | ||
+ | $rcmail_config[' | ||
+ | </ | ||
+ | ==== Managesieve ==== | ||
+ | Damit unsere Mailkunden ihre sieve-Regeln direkt aus Roundcube heraus komfortabel ändern können, aktivieren wir das zugehörige Plugin **managesieve** | ||
+ | |||
+ | Als erstes kopieren wir die Vorgabedatei, | ||
+ | # cp / | ||
+ | |||
+ | Anschließend bearbeiten wir diese Datei und tragen dort die benötigten sieve-Konfigurationsdetail ein. Auch hier sind in dem nachfolgenden Beispiel die Änderungen mit **Django** gekennzeichnet. | ||
+ | # vim / | ||
+ | |||
+ | <file php / | ||
+ | |||
+ | // managesieve server port | ||
+ | // Django : 2012-10-12 | ||
+ | // default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // managesieve server address, default is localhost. | ||
+ | // Replacement variables supported in host name: | ||
+ | // %h - user's IMAP hostname | ||
+ | // %n - http hostname ($_SERVER[' | ||
+ | // %d - domain (http hostname without the first part) | ||
+ | // For example %n = mail.domain.tld, | ||
+ | // Django : 2012-10-12 | ||
+ | //default: $rcmail_config[' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // authentication method. Can be CRAM-MD5, DIGEST-MD5, PLAIN, LOGIN, EXTERNAL | ||
+ | // or none. Optional, defaults to best method supported by server. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Optional managesieve authentication identifier to be used as authorization proxy. | ||
+ | // Authenticate as a different user but act on behalf of the logged in user. | ||
+ | // Works with PLAIN and DIGEST-MD5 auth. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Optional managesieve authentication password to be used for imap_auth_cid | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // use or not TLS for managesieve server connection | ||
+ | // it's because I've problems with TLS and dovecot' | ||
+ | // and it's not needed on localhost | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // default contents of filters script (eg. default spam filter) | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // The name of the script which will be used when there' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Sieve RFC says that we should use UTF-8 endcoding for mailbox names, | ||
+ | // but some implementations does not covert UTF-8 to modified UTF-7. | ||
+ | // Defaults to UTF7-IMAP | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // I need this because my dovecot (with listescape plugin) uses | ||
+ | // ':' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // disabled sieve extensions (body, copy, date, editheader, encoded-character, | ||
+ | // envelope, environment, | ||
+ | // mailbox, mboxmetadata, | ||
+ | // spamtest, spamtestplus, | ||
+ | // Note: not all extensions are implemented | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enables debugging of conversation with sieve server. Logs it into < | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Enables features described in http:// | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // Script name extension used for scripts including. Dovecot uses ' | ||
+ | // Cyrus uses ' | ||
+ | $rcmail_config[' | ||
+ | |||
+ | // List of reserved script names (without extension). | ||
+ | // Scripts listed here will be not presented to the user. | ||
+ | $rcmail_config[' | ||
+ | |||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | ===== Programmstart/ | ||
+ | Nun ist es an der Zeit unseren Webmailer zu testen. | ||
+ | $ firefox https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ====== Links ====== | ||
+ | * **[[centos: | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||
+ | |||
+ | |||