Nach der erfolgreichen Installation von Horde machen wir uns nun an die Basiskonfiguration des Frameworks Horde 5 unter CentOS 7.x.
Die eigentliche Konfigurationsarbeit erledigen wir dann über die GUI des Web-Frameworks. Dazu rufen wir unseren angelegten VHOST im Webbrowser auf.
$ firefox https://horde.sec-mail.guru
Mit einem Klick auf das Zahnradsysmbol erreichen wir den Menüpunkt Administration.
Hier wählen wir den Menüpunkt Configuration aus.
Da wir den Menüpukt Configuration noch nie vorher aufgerufen und noch keine Konfiguration vorgenommen haben, sind die beiden Fehlermeldungen normal. Um zur Konfiguration von Horde zu gelangen, klicken wir nun auf den Punkt Horde (horde).
Auf den nun zur Verfügung stehenden Reitern, erfolgt die Konfiguration des Horde-Frameworks (Basis-Modul).
$conf[vhosts] [ ]
$conf[debug_level] E_ALL & ~E_NOTICE $conf[max_exec_time] 0 $conf[compress_pages] [✔] $conf[secret_key] 54116806-935c-4e4f-9c1e-58ef0a000054 $conf[umask] 077 $conf[testdisable] [✔] $conf[tmpdir]
$conf[use_ssl] Attempt to auto-detect, and generate URLs appropriately $conf[server][name] $_SERVER['SERVER_NAME'] $conf[server][port] $conf[urls][token_lifetime] 30 $conf[urls][hmac_lifetime 30 $conf[urls][pretty] No (Get-based URLs) $conf[safe_ips]
$conf[session][name] Horde $conf[session][use_only_cookies] [✔] $conf[session][cache_limiter] nocache $conf[session][timeout] 0 $conf[session][max_time] 7200 $conf[cookie][domain] $_SERVER['SERVER_NAME'] $conf[cookie][path] /
$conf[sql][phptype] MySQL (mysqli) $conf[sql][username] horde_admin_user $conf[sql][password] rbgsDK39DeM2b2btx9iMHfzd $conf[sql][protocol] TCP/IP $conf[sql][hostspec] mysql.dmz.nausch.org $conf[sql][port] 3306 $conf[sql][database] horde5 $conf[sql][charset] utf-8 $conf[sql][ssl] [ ] $conf[sql][ca] $conf[sql][splitread] Disabled
$conf[nosql][phptype] [None]
Klicken wir nun auf die Schaltfläche , fällt uns eine Fehlermeldung entgegen!
Den Fehler beheben wir durch den Aufruf des Programms horde-db-migrate.
# horde-db-migrate
[ INFO ] Migrating DB up. [ INFO ] Current Horde_Alarm schema version: 0 Migrating to HordeAlarmsTable (1) == 1 HordeAlarmsTable: migrating ============================================== -- tables() -> 0.0008s -- createTable('horde_alarms') -> 0.0000s -- addIndex('horde_alarms', array(0 => 'alarm_id')) -> 0.1807s -- addIndex('horde_alarms', array(0 => 'alarm_uid')) -> 0.1089s -- addIndex('horde_alarms', array(0 => 'alarm_start')) -> 0.1266s -- addIndex('horde_alarms', array(0 => 'alarm_end')) -> 0.1108s -- addIndex('horde_alarms', array(0 => 'alarm_snooze')) -> 0.1103s -- addIndex('horde_alarms', array(0 => 'alarm_dismissed')) -> 0.1146s == 1 HordeAlarmsTable: migrated (0.8027s) ===================================== Migrating to HordeAlarmsAddInstanceId (2) == 2 HordeAlarmsAddInstanceId: migrating ====================================== -- addColumn('horde_alarms', 'alarm_instanceid', 'string', array('limit' => 255)) -> 0.1053s == 2 HordeAlarmsAddInstanceId: migrated (0.1055s) ============================= [ INFO ] Ending Horde_Alarm schema version: 2 [ INFO ] Current Horde_Auth schema version: 0 Migrating to HordeAuthBaseTables (1) == 1 HordeAuthBaseTables: migrating =========================================== -- tables() -> 0.0007s -- createTable('horde_users', array('autoincrementKey' => array ( 0 => 'user_uid', ))) -> 0.0000s == 1 HordeAuthBaseTables: migrated (0.0511s) ================================== [ INFO ] Ending Horde_Auth schema version: 1 [ INFO ] Current Horde_Cache schema version: 0 Migrating to HordeCacheBaseTables (1) == 1 HordeCacheBaseTables: migrating ========================================== -- tables() -> 0.0009s -- createTable('horde_cache', array('autoincrementKey' => array ( 0 => 'cache_id', ))) -> 0.0000s == 1 HordeCacheBaseTables: migrated (0.0569s) ================================= Migrating to HordeCacheFixBlobLength (2) == 2 HordeCacheFixBlobLength: migrating ======================================= -- changeColumn('horde_cache', 'cache_data', 'binary') -> 0.1312s == 2 HordeCacheFixBlobLength: migrated (0.1313s) ============================== [ INFO ] Ending Horde_Cache schema version: 2 [ INFO ] Current Horde_Dav schema version: 0 Migrating to HordeDavBaseTables (1) == 1 HordeDavBaseTables: migrating ============================================ -- createTable('horde_dav_objects', array('autoincrementKey' => false)) -> 0.0000s -- addIndex('horde_dav_objects', 'id_collection') -> 0.1332s -- addIndex('horde_dav_objects', 'id_internal', array('unique' => true)) -> 0.1684s -- addIndex('horde_dav_objects', 'id_external', array('unique' => true)) -> 0.1265s -- createTable('horde_dav_collections', array('autoincrementKey' => false)) -> 0.0000s -- addIndex('horde_dav_collections', 'id_interface') -> 0.1188s -- addIndex('horde_dav_collections', 'id_internal') -> 0.1145s -- addIndex('horde_dav_collections', 'id_external', array('unique' => true)) -> 0.1085s == 1 HordeDavBaseTables: migrated (0.8751s) =================================== Migrating to HordeDavRemoveUniqueIndex (2) == 2 HordeDavRemoveUniqueIndex: migrating ===================================== -- removeIndex('horde_dav_objects', 'id_external') -> 0.1032s -- addIndex('horde_dav_objects', 'id_external') -> 0.1025s -- addIndex('horde_dav_objects', array(0 => 'id_external', 1 => 'id_collection'), array('unique' => true)) -> 0.1687s == 2 HordeDavRemoveUniqueIndex: migrated (0.3748s) ============================ [ INFO ] Ending Horde_Dav schema version: 2 [ INFO ] Current Horde_Group schema version: 0 Migrating to HordeGroupBaseTables (1) == 1 HordeGroupBaseTables: migrating ========================================== -- tables() -> 0.0019s -- createTable('horde_groups', array('autoincrementKey' => array ( 0 => 'group_uid', ))) -> 0.0000s -- addIndex('horde_groups', array(0 => 'group_name'), array('unique' => true)) -> 0.1211s -- tables() -> 0.0010s -- createTable('horde_groups_members', array('autoincrementKey' => false)) -> 0.0000s -- addIndex('horde_groups_members', array(0 => 'group_uid')) -> 0.1148s -- addIndex('horde_groups_members', array(0 => 'user_uid')) -> 0.1205s == 1 HordeGroupBaseTables: migrated (0.4680s) ================================= Migrating to HordeGroupUpgradeAutoIncrement (2) == 2 HordeGroupUpgradeAutoIncrement: migrating ================================ -- changeColumn('horde_groups', 'group_uid', 'autoincrementKey') -> 0.1123s -- dropTable('horde_groups_seq') == 2 HordeGroupUpgradeAutoIncrement: migrated (0.1175s) ======================= Migrating to HordeGroupUpgradeNullParents (3) == 3 HordeGroupUpgradeNullParents: migrating ================================== -- changeColumn('horde_groups', 'group_parents', 'string', array('limit' => 255)) -> 0.1132s == 3 HordeGroupUpgradeNullParents: migrated (0.1134s) ========================= [ INFO ] Ending Horde_Group schema version: 3 [ INFO ] Current Horde_History schema version: 0 Migrating to HordeHistoryBaseTables (1) == 1 HordeHistoryBaseTables: migrating ======================================== -- tables() -> 0.0010s -- createTable('horde_histories', array('autoincrementKey' => array ( 0 => 'history_id', ))) -> 0.0000s -- addIndex('horde_histories', array(0 => 'history_action')) -> 0.1448s -- addIndex('horde_histories', array(0 => 'history_ts')) -> 0.1576s -- addIndex('horde_histories', array(0 => 'object_uid')) -> 0.1147s == 1 HordeHistoryBaseTables: migrated (0.4715s) =============================== Migrating to HordeHistoryUpgradeAutoIncrement (2) == 2 HordeHistoryUpgradeAutoIncrement: migrating ============================== -- changeColumn('horde_histories', 'history_id', 'autoincrementKey') -> 0.1255s -- dropTable('horde_histories_seq') == 2 HordeHistoryUpgradeAutoIncrement: migrated (0.1273s) ===================== Migrating to HordeHistoryAddModSeq (3) == 3 HordeHistoryAddModSeq: migrating ========================================= -- createTable('horde_histories_modseq', array('autoincrementKey' => false)) -> 0.0000s -- addColumn('horde_histories', 'history_modseq', 'integer', array('default' => 0, 'null' => false)) -> 0.1267s -- selectAll('SELECT history_id FROM horde_histories ORDER BY history_ts ASC') -> 0.0008s -- beginDbTransaction() -> 0.0005s -- commitDbTransaction() -> 0.0005s -- addIndex('horde_histories', array(0 => 'history_modseq')) -> 0.1184s -- changeColumn('horde_histories_modseq', 'history_modseq', 'autoincrementKey') -> 0.1208s == 3 HordeHistoryAddModSeq: migrated (0.4217s) ================================ Migrating to HordeHistoryAddCompositeIndex (4) == 4 HordeHistoryAddCompositeIndex: migrating ================================= -- addIndex('horde_histories', array(0 => 'history_modseq', 1 => 'object_uid')) -> 0.1854s == 4 HordeHistoryAddCompositeIndex: migrated (0.1855s) ======================== Migrating to HordeHistoryRemoveCompositeIndex (5) == 5 HordeHistoryRemoveCompositeIndex: migrating ============================== -- indexes('horde_histories') -> 0.0030s -- removeIndex('horde_histories', array('name' => 'index_horde_histories_on_object_uid')) -> 0.1204s -- removeIndex('horde_histories', array('name' => 'index_horde_histories_on_history_modseq')) -> 0.1082s == 5 HordeHistoryRemoveCompositeIndex: migrated (0.2320s) ===================== Migrating to HordeHistoryFixBotchedIndexes (6) == 6 HordeHistoryFixBotchedIndexes: migrating ================================= -- indexes('horde_histories') -> 0.0013s -- indexName('horde_histories', array('column' => array ( 0 => 'history_modseq', 1 => 'object_uid', ))) -> 0.0000s -- removeIndex('horde_histories', array('name' => 'index_horde_histories_on_history_modseq_and_object_uid')) -> 0.1062s -- addIndex('horde_histories', array(0 => 'history_modseq')) -> 0.1159s -- addIndex('horde_histories', array(0 => 'object_uid')) -> 0.1095s == 6 HordeHistoryFixBotchedIndexes: migrated (0.3336s) ======================== [ INFO ] Ending Horde_History schema version: 6 [ INFO ] Current Horde_Imap_Client schema version: 0 Migrating to HordeImapClientBaseTables (1) == 1 HordeImapClientBaseTables: migrating ===================================== -- tables() -> 0.0008s -- createTable('horde_imap_client_data', array('autoincrementKey' => 'messageid')) -> 0.0000s -- addIndex('horde_imap_client_data', array(0 => 'hostspec', 1 => 'mailbox', 2 => 'port', 3 => 'username')) -> 0.1146s -- createTable('horde_imap_client_message', array('autoincrementKey' => false)) -> 0.0000s -- addIndex('horde_imap_client_message', array(0 => 'msguid', 1 => 'messageid')) -> 0.1211s -- createTable('horde_imap_client_metadata', array('autoincrementKey' => false)) -> 0.0000s -- addIndex('horde_imap_client_metadata', array(0 => 'messageid')) -> 0.3064s == 1 HordeImapClientBaseTables: migrated (0.7494s) ============================ Migrating to HordeImapClientChangeColumnName (2) == 2 HordeImapClientChangeColumnName: migrating =============================== -- columns('horde_imap_client_data') -> 0.0021s -- columns('horde_imap_client_message') -> 0.0016s -- columns('horde_imap_client_metadata') -> 0.0014s == 2 HordeImapClientChangeColumnName: migrated (0.0054s) ====================== [ INFO ] Ending Horde_Imap_Client schema version: 2 [ INFO ] Current Horde_Lock schema version: 0 Migrating to HordeLockBaseTables (1) == 1 HordeLockBaseTables: migrating =========================================== -- tables() -> 0.0009s -- createTable('horde_locks', array('autoincrementKey' => array ( 0 => 'lock_id', ))) -> 0.0000s == 1 HordeLockBaseTables: migrated (0.0507s) ================================== Migrating to HordeLockUpgradeColumnTypes (2) == 2 HordeLockUpgradeColumnTypes: migrating =================================== == 2 HordeLockUpgradeColumnTypes: migrated (0.0000s) ========================== Migrating to HordeLockFixOwnerWidth (3) == 3 HordeLockFixOwnerWidth: migrating ======================================== -- changeColumn('horde_locks', 'lock_owner', 'string', array('limit' => 255, 'null' => false)) -> 0.1251s == 3 HordeLockFixOwnerWidth: migrated (0.1253s) =============================== [ INFO ] Ending Horde_Lock schema version: 3 [ INFO ] Current Horde_Perms schema version: 0 Migrating to HordePermsBaseTables (1) == 1 HordePermsBaseTables: migrating ========================================== -- tables() -> 0.0012s -- createTable('horde_perms', array('autoincrementKey' => array ( 0 => 'perm_id', ))) -> 0.0000s -- addIndex('horde_perms', array(0 => 'perm_name'), array('unique' => true)) -> 0.1401s == 1 HordePermsBaseTables: migrated (0.2002s) ================================= Migrating to HordePermsUpgradeAutoIncrement (2) == 2 HordePermsUpgradeAutoIncrement: migrating ================================ -- changeColumn('horde_perms', 'perm_id', 'autoincrementKey') -> 0.1187s -- dropTable('horde_perms_seq') == 2 HordePermsUpgradeAutoIncrement: migrated (0.1235s) ======================= [ INFO ] Ending Horde_Perms schema version: 2 [ INFO ] Current Horde_Prefs schema version: 0 Migrating to HordePrefsBaseTables (1) == 1 HordePrefsBaseTables: migrating ========================================== -- tables() -> 0.0009s -- createTable('horde_prefs', array('autoincrementKey' => array ( 0 => 'pref_uid', 1 => 'pref_scope', 2 => 'pref_name', ))) -> 0.0000s -- addIndex('horde_prefs', array(0 => 'pref_uid')) -> 0.1133s -- addIndex('horde_prefs', array(0 => 'pref_scope')) -> 0.1204s == 1 HordePrefsBaseTables: migrated (0.2859s) ================================= Migrating to HordePrefsUpgradeBinaryValue (2) == 2 HordePrefsUpgradeBinaryValue: migrating ================================== -- changeColumn('horde_prefs', 'pref_value', 'binary') -> 0.1494s == 2 HordePrefsUpgradeBinaryValue: migrated (0.1496s) ========================= Migrating to HordePrefsFixBlobLength (3) == 3 HordePrefsFixBlobLength: migrating ======================================= -- changeColumn('horde_prefs', 'pref_value', 'binary') -> 0.1071s == 3 HordePrefsFixBlobLength: migrated (0.1073s) ============================== [ INFO ] Ending Horde_Prefs schema version: 3 [ INFO ] Current Horde_Queue schema version: 0 Migrating to HordeQueueBaseTables (1) == 1 HordeQueueBaseTables: migrating ========================================== -- createTable('horde_queue_tasks', array('autoincrementKey' => 'task_id')) -> 0.0001s == 1 HordeQueueBaseTables: migrated (0.0600s) ================================= [ INFO ] Ending Horde_Queue schema version: 1 [ INFO ] Current Horde_SessionHandler schema version: 0 Migrating to HordeSessionhandlerBaseTables (1) == 1 HordeSessionhandlerBaseTables: migrating ================================= -- tables() -> 0.0010s -- createTable('horde_sessionhandler', array('autoincrementKey' => false)) -> 0.0000s -- addIndex('horde_sessionhandler', array(0 => 'session_lastmodified')) -> 0.1194s == 1 HordeSessionhandlerBaseTables: migrated (0.1755s) ======================== Migrating to HordeSessionHandlerFixBlobLength (2) == 2 HordeSessionHandlerFixBlobLength: migrating ============================== -- changeColumn('horde_sessionhandler', 'session_data', 'binary') -> 0.1120s == 2 HordeSessionHandlerFixBlobLength: migrated (0.1121s) ===================== [ INFO ] Ending Horde_SessionHandler schema version: 2 [ INFO ] Current Horde_SyncMl schema version: 0 Migrating to HordeSyncmlBaseTables (1) == 1 HordeSyncmlBaseTables: migrating ========================================= -- tables() -> 0.0008s -- createTable('horde_syncml_map', array('autoincrementKey' => false)) -> 0.0000s -- addIndex('horde_syncml_map', array(0 => 'syncml_syncpartner')) -> 0.1267s -- addIndex('horde_syncml_map', array(0 => 'syncml_db')) -> 0.2100s -- addIndex('horde_syncml_map', array(0 => 'syncml_uid')) -> 0.1151s -- addIndex('horde_syncml_map', array(0 => 'syncml_cuid')) -> 0.2767s -- addIndex('horde_syncml_map', array(0 => 'syncml_suid')) -> 0.1168s -- tables() -> 0.0009s -- createTable('horde_syncml_anchors', array('autoincrementKey' => false)) -> 0.0000s -- addIndex('horde_syncml_anchors', array(0 => 'syncml_syncpartner')) -> 0.1088s -- addIndex('horde_syncml_anchors', array(0 => 'syncml_db')) -> 0.1254s -- addIndex('horde_syncml_anchors', array(0 => 'syncml_uid')) -> 0.1630s == 1 HordeSyncmlBaseTables: migrated (1.3640s) ================================ [ INFO ] Ending Horde_SyncMl schema version: 1 [ INFO ] Current Horde_Token schema version: 0 Migrating to HordeTokenBaseTables (1) == 1 HordeTokenBaseTables: migrating ========================================== -- tables() -> 0.0011s -- createTable('horde_tokens', array('autoincrementKey' => array ( 0 => 'token_address', 1 => 'token_id', ))) -> 0.0000s == 1 HordeTokenBaseTables: migrated (0.0912s) ================================= [ INFO ] Ending Horde_Token schema version: 1 [ INFO ] Current Horde_Vfs schema version: 0 Migrating to HordeVfsBaseTables (1) == 1 HordeVfsBaseTables: migrating ============================================ -- tables() -> 0.0010s -- createTable('horde_vfs', array('autoincrementKey' => array ( 0 => 'vfs_id', ))) -> 0.0000s -- addIndex('horde_vfs', array(0 => 'vfs_path')) -> 0.1088s -- addIndex('horde_vfs', array(0 => 'vfs_name')) -> 0.1024s -- tables() -> 0.0011s -- createTable('horde_muvfs', array('autoincrementKey' => array ( 0 => 'vfs_id', ))) -> 0.0000s -- addIndex('horde_muvfs', array(0 => 'vfs_path')) -> 0.1274s -- addIndex('horde_muvfs', array(0 => 'vfs_name')) -> 0.1196s == 1 HordeVfsBaseTables: migrated (0.5685s) =================================== Migrating to HordeVfsUpgradeAutoIncrement (2) == 2 HordeVfsUpgradeAutoIncrement: migrating ================================== -- changeColumn('horde_vfs', 'vfs_id', 'autoincrementKey') -> 0.1675s -- dropTable('horde_vfs_seq') -- changeColumn('horde_muvfs', 'vfs_id', 'autoincrementKey') -> 0.1886s -- dropTable('horde_muvfs_seq') == 2 HordeVfsUpgradeAutoIncrement: migrated (0.3594s) ========================= Migrating to HordeVfsFixBlobLength (3) == 3 HordeVfsFixBlobLength: migrating ========================================= -- changeColumn('horde_vfs', 'vfs_data', 'binary') -> 0.1130s -- changeColumn('horde_muvfs', 'vfs_data', 'binary') -> 0.1205s == 3 HordeVfsFixBlobLength: migrated (0.2338s) ================================ Migrating to HordeVfsUpgradeNullColumns (4) == 4 HordeVfsUpgradeNullColumns: migrating ==================================== -- changeColumn('horde_vfs', 'vfs_path', 'string', array('limit' => 255, 'null' => true)) -> 0.1310s -- changeColumn('horde_vfs', 'vfs_owner', 'string', array('limit' => 255, 'null' => true)) -> 0.1263s -- changeColumn('horde_muvfs', 'vfs_path', 'string', array('limit' => 255, 'null' => true)) -> 0.1265s -- changeColumn('horde_muvfs', 'vfs_owner', 'string', array('limit' => 255, 'null' => true)) -> 0.1721s -- update('UPDATE horde_vfs SET vfs_path = NULL WHERE vfs_path = \'\'') -> 0.0011s -> 0 rows -- update('UPDATE horde_vfs SET vfs_owner = NULL WHERE vfs_path = \'\'') -> 0.0008s -> 0 rows -- update('UPDATE horde_muvfs SET vfs_path = NULL WHERE vfs_path = \'\'') -> 0.0007s -> 0 rows -- update('UPDATE horde_muvfs SET vfs_owner = NULL WHERE vfs_path = \'\'') -> 0.0006s -> 0 rows == 4 HordeVfsUpgradeNullColumns: migrated (0.5604s) =========================== [ INFO ] Ending Horde_Vfs schema version: 4
Rufen wir nun erneut die Konfiguration im Admin-Bereich auf, sehen wir, dass nun die Datenbanktabellen angelegt und alle den Status SQL DB schema is ready haben.
$ firefox https://horde.sec-mail.guru/admin/config/
Wir können nun mit der weiteren Konfiguration von Horde fortfahren, indem wir auf den Punkt Horde (horde) klicken.
$conf[ldap][useldap] [no]
$conf[auth][admins] Administrator $conf[auth][checkip] [✔] $conf[auth][checkbrowser] [✔] $conf[auth][resetpassword] yes $conf[auth][resetpassword_from] $conf[auth][alternate_login] false $conf[auth][redirect_on_logout] false $conf[auth][list_users] Show an input field $conf[auth][driver] Automatic authentication as a certain user $conf[auth][params][username] Administrator $conf[auth][params][password] $conf[auth][params][requestuser] [ ] $conf[auth][params][count_bad_logins] [ ] $conf[auth][params][login_block] [ ] $conf[auth][params][login_block_count 5 $conf[auth][params][login_block_time] 5
$conf[tos][file]
$conf[signup][allow] No
$conf[log][enabled] Yes $conf[log][priority] INFO $conf[log][ident] HORDE $conf[log][time_format] $conf[log][type] Syslog $conf[log][name] LOG_USER $conf[log][log_accesskeys] [ ]
$conf[prefs][maxsize] 65535 $conf[prefs][driver] SQL Database $conf[prefs][params][driverconfig] Horde defaults $conf[prefs][params][table] horde_prefs
$conf[alarms][driver] SQL Database $conf[alarms][params][driverconfig] Horde defaults $conf[alarms][params][table] horde_alarms $conf[alarms][params][ttl] 300
$conf[group][driver] SQL $conf[group][driverconfig] Horde defaults
$conf[perms][driver] SQL $conf[perms][driverconfig] Horde defaults
$conf[share][no_sharing] [ ] $conf[share][auto_create] [✔] $conf[share][world] [✔] $conf[share][any_group] [ ] $conf[share][hidden] [ ]
$conf[share][cache] [✔]
$conf[share][driver] Next-Generation SQL
Damit das Horde-Framework die caching-Daten in das Verzeichnis /usr/share/horde/static/ schreiben kann, passen wir dessen Verzeichnisrechte und -berechtigungen an!
# chown root.apache /usr/share/horde/static/
# chmod 775 /usr/share/horde/static/
$conf[cache][default_lifetime] 86400 $conf[cache][driver] Store data in filesystem $conf[cache][params][dir] /usr/share/horde/static $conf[cache][params][sub] 0 $conf[cache][params][prefix] cache_ $conf[cache][use_memorycache] None
$conf[cachecss] Yes $conf[cachecssparams][driver] Filesystem (recommended) $conf[cachecssparams][filemtime] [ ] $conf[cachecssparams][lifetime] 86400
$conf[cachejs] Yes $conf[cachejsparams][driver] Filesystem (recommended) $conf[cachejsparams][compress] Built-in compressor (Good compression, good speed) $conf[cachejsparams][lifetime] 604800
$conf[cachethemes] Yes $conf[cachethemesparams][check] Application versions $conf[cachethemesparams][lifetime] 604800
$conf[lock][driver] SQL-based locking $conf[lock][params][driverconfig] Horde defaults $conf[lock][params][table] horde_locks
$conf[token][timeout] 180 $conf[token][driver] SQL-based token storage $conf[token][params][driverconfig] Horde defaults $conf[token][params][table] horde_tokens
$conf[history][driver] SQL-based history storage $conf[history][params][driverconfig] Horde defaults
$conf[davstorage][driver] SQL-based metadata storage $conf[davstorage][params][driverconfig] Horde defaults
$conf[mailer][type] Use a SMTP server (HIGHLY RECOMMENDED) $conf[mailer][params][host] smtp.dmz.nausch.org $conf[mailer][params][port] 25 $conf[mailer][params][localhost] vml000097.dmz.nausch.org $conf[mailer][params][auth] No $conf[mailer][params][lmtp] [ ]
$conf[vfs][type] SQL database $conf[vfs][params][driverconfig] Horde defaults
$conf[sessionhandler][type] SQL database $conf[sessionhandler][params][driverconfig] Horde defaults $conf[sessionhandler][params][table] horde_sessionhandler $conf[sessionhandler][memcache] [ ]
$conf[http][proxy][proxy_host] $conf[http][proxy][proxy_port] $conf[http][proxy][proxy_user] $conf[http][proxy][proxy_pass]
$conf[spell][driver] aspell (command line) $conf[spell][params][path] /usr/bin/aspell
$conf[gnupg][path] /usr/bin/gpg $conf[gnupg][keyserver] keyserver.nausch.org, pool.sks-keyservers.net, subkeys.pgp.net, pgp.mit.edu $conf[gnupg][timeout] 10
$conf[openssl][cafile] /etc/pki/tls/certs/ca-bundle.crt $conf[openssl][path] /usr/bin/openssl
$conf[nobase64_img] [ ]
$conf[image][driver] The PECL Imagick Library (recommended)
$conf[exif][driver] Bundled implementation in PHP
$conf[mime][magic_db] /usr/share/misc/magic
$conf[geoip][datafile] /usr/share/GeoIP/GeoIP.dat
$conf[timezone][location] ftp://ftp.iana.org/tz/tzdata-latest.tar.gz
$conf[problems][tickets] No $conf[problems][email] webmaster@nausch.org $conf[problems][maildomain] nausch.org $conf[problems][username] $conf[problems][password] $conf[problems][attachments] [✔]
$conf[menu][links][help] All users $conf[menu][links][prefs] Authenticated users $conf[menu][links][problem] All users $conf[menu][links][login] All users $conf[menu][links][logout] Authenticated users
$conf[portal][fixed_blocks]
$conf[fortune][exec_path]
$conf[accounts][driver] None
$conf[user][verify_from_addr] [ ] $conf[user][select_view] Yes
$conf[api][googlemaps] $conf[api][googlesafebrowsing] $conf[api][googlesearch] $conf[api][yahoomaps] $conf[api][cloudmade] $conf[api][bing]
$conf[facebook][enabled] Disabled
$conf[twitter][enabled] Disabled
$conf[urlshortener] TinyUrl
$conf[weather][provider] None
$conf[imap][enabled] Disabled
$conf[imsp][enabled] Disabled
$conf[kolab][enabled] Disabled
$conf[hashtable][driver] None
$conf[activesync][enabled] Enabled
$conf[activesync][storage] SQL Database $conf[activesync] [params][driverconfig] Horde defaults
$conf[activesync][emailsync] [✔] $conf[activesync][version] Exchange 2010sp2 (EAS 14.1)
$conf[activesync][auth][type] HTTP Basic
$conf[activesync][autodiscovery] Use the full email address as user name $conf[activesync][outlookdiscovery] No
$conf[activesync][logging][type] None
$conf[activesync][ping][deviceping] Device managed heartbeat $conf[activesync][ping][heartbeatmin] 60 $conf[activesync][ping][heartbeatmax] 2700 $conf[activesync][ping][heartbeatdefault] 4800 $conf[activesync][ping][waitinterval] 15
Mit einem Klick auf die Schaltfläche wird die Konfigurationsdate im Verzeichnis /usr/share/horde/config abgelegt.
# less /usr/share/horde/config/conf.php
<?php /* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */ // $Id: 6db3756a468182066a4699d0bb476a46d2c76ec1 $ $conf['vhosts'] = false; $conf['debug_level'] = E_ALL & ~E_NOTICE; $conf['max_exec_time'] = 0; $conf['compress_pages'] = true; $conf['secret_key'] = '54116806-935c-4e4f-9c1e-58ef0a000054'; $conf['umask'] = 077; $conf['testdisable'] = true; $conf['use_ssl'] = 2; $conf['server']['name'] = $_SERVER['SERVER_NAME']; $conf['urls']['token_lifetime'] = 30; $conf['urls']['hmac_lifetime'] = 30; $conf['urls']['pretty'] = false; $conf['safe_ips'] = array(); $conf['session']['name'] = 'Horde'; $conf['session']['use_only_cookies'] = true; $conf['session']['timeout'] = 0; $conf['session']['cache_limiter'] = 'nocache'; $conf['session']['max_time'] = 72000; $conf['cookie']['domain'] = $_SERVER['SERVER_NAME']; $conf['cookie']['path'] = '/'; $conf['sql']['username'] = 'horde_admin_user'; $conf['sql']['password'] = 'rbgsDK39DeM2b2btx9iMHfzd'; $conf['sql']['hostspec'] = 'mysql.dmz.nausch.org'; $conf['sql']['port'] = 3306; $conf['sql']['protocol'] = 'tcp'; $conf['sql']['database'] = 'horde5'; $conf['sql']['charset'] = 'utf-8'; $conf['sql']['ssl'] = false; $conf['sql']['splitread'] = false; $conf['sql']['phptype'] = 'mysqli'; $conf['nosql']['phptype'] = false; $conf['ldap']['useldap'] = false; $conf['auth']['admins'] = array('Administrator'); $conf['auth']['checkip'] = true; $conf['auth']['checkbrowser'] = true; $conf['auth']['resetpassword'] = true; $conf['auth']['alternate_login'] = false; $conf['auth']['redirect_on_logout'] = false; $conf['auth']['list_users'] = 'input'; $conf['auth']['params']['username'] = 'Administrator'; $conf['auth']['params']['requestuser'] = false; $conf['auth']['driver'] = 'auto'; $conf['auth']['params']['count_bad_logins'] = false; $conf['auth']['params']['login_block'] = false; $conf['auth']['params']['login_block_count'] = 5; $conf['auth']['params']['login_block_time'] = 5; $conf['signup']['allow'] = false; $conf['log']['priority'] = 'INFO'; $conf['log']['ident'] = 'HORDE'; $conf['log']['name'] = LOG_USER; $conf['log']['type'] = 'syslog'; $conf['log']['enabled'] = true; $conf['log_accesskeys'] = false; $conf['prefs']['maxsize'] = 65535; $conf['prefs']['params']['table'] = 'horde_prefs'; $conf['prefs']['params']['driverconfig'] = 'horde'; $conf['prefs']['driver'] = 'Sql'; $conf['alarms']['params']['table'] = 'horde_alarms'; $conf['alarms']['params']['driverconfig'] = 'horde'; $conf['alarms']['params']['ttl'] = 300; $conf['alarms']['driver'] = 'Sql'; $conf['group']['driverconfig'] = 'horde'; $conf['group']['driver'] = 'Sql'; $conf['perms']['driverconfig'] = 'horde'; $conf['perms']['driver'] = 'Sql'; $conf['share']['no_sharing'] = false; $conf['share']['auto_create'] = true; $conf['share']['world'] = true; $conf['share']['any_group'] = false; $conf['share']['hidden'] = false; $conf['share']['cache'] = true; $conf['share']['driver'] = 'Sqlng'; $conf['cache']['default_lifetime'] = 86400; $conf['cache']['params']['sub'] = 0; $conf['cache']['params']['prefix'] = '/usr/share/horde/static'; $conf['cache']['driver'] = 'File'; $conf['cache']['use_memorycache'] = ''; $conf['cachecssparams']['url_version_param'] = true; $conf['cachecss'] = false; $conf['cachejsparams']['url_version_param'] = true; $conf['cachejs'] = false; $conf['cachethemes'] = false; $conf['lock']['params']['table'] = 'horde_locks'; $conf['lock']['params']['driverconfig'] = 'horde'; $conf['lock']['driver'] = 'Sql'; $conf['token']['timeout'] = 180; $conf['token']['params']['table'] = 'horde_tokens'; $conf['token']['params']['driverconfig'] = 'horde'; $conf['token']['driver'] = 'Sql'; $conf['history']['params']['driverconfig'] = 'horde'; $conf['history']['driver'] = 'Sql'; $conf['davstorage']['params']['driverconfig'] = 'horde'; $conf['davstorage']['driver'] = 'Sql'; $conf['mailer']['params']['host'] = 'smtp.dmz.nausch.org'; $conf['mailer']['params']['port'] = 25; $conf['mailer']['params']['localhost'] = 'vml000097.dmz.nausch.org'; $conf['mailer']['params']['auth'] = false; $conf['mailer']['params']['lmtp'] = false; $conf['mailer']['type'] = 'smtp'; $conf['vfs']['params']['driverconfig'] = 'horde'; $conf['vfs']['type'] = 'Sql'; $conf['sessionhandler']['params']['table'] = 'horde_sessionhandler'; $conf['sessionhandler']['params']['driverconfig'] = 'horde'; $conf['sessionhandler']['type'] = 'Sql'; $conf['sessionhandler']['hashtable'] = false; $conf['spell']['params']['path'] = '/usr/bin/aspell'; $conf['spell']['driver'] = 'aspell'; $conf['gnupg']['path'] = '/usr/bin/gpg'; $conf['gnupg']['keyserver'] = array('pool.sks-keyservers.net', 'subkeys.pgp.net', 'pgp.mit.edu'); $conf['gnupg']['timeout'] = 10; $conf['openssl']['cafile'] = '/etc/pki/tls/certs/ca-bundle.crt'; $conf['openssl']['path'] = '/usr/bin/openssl'; $conf['nobase64_img'] = false; $conf['image']['driver'] = 'Imagick'; $conf['exif']['driver'] = 'Bundled'; $conf['mime']['magic_db'] = '/usr/share/misc/magic'; $conf['geoip']['datafile'] = '/usr/share/GeoIP/GeoIP.dat'; $conf['timezone']['location'] = 'ftp://ftp.iana.org/tz/tzdata-latest.tar.gz'; $conf['problems']['email'] = 'webmaster@nausch.org'; $conf['problems']['maildomain'] = 'nausch.org'; $conf['problems']['tickets'] = false; $conf['problems']['attachments'] = true; $conf['menu']['links']['help'] = 'all'; $conf['menu']['links']['prefs'] = 'authenticated'; $conf['menu']['links']['problem'] = 'all'; $conf['menu']['links']['login'] = 'all'; $conf['menu']['links']['logout'] = 'authenticated'; $conf['portal']['fixed_blocks'] = array(); $conf['accounts']['driver'] = 'null'; $conf['user']['verify_from_addr'] = false; $conf['user']['select_view'] = true; $conf['facebook']['enabled'] = false; $conf['twitter']['enabled'] = false; $conf['urlshortener'] = 'TinyUrl'; $conf['weather']['provider'] = false; $conf['imap']['enabled'] = false; $conf['imsp']['enabled'] = false; $conf['kolab']['enabled'] = false; $conf['hashtable']['driver'] = 'none'; $conf['activesync']['enabled'] = false; /* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */