Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
centos:mail_c6:horde_5 [21.11.2013 21:50. ] – [Konfiguration des MySQL-Datenbankbackendserver] django | centos:mail_c6:horde_5 [20.04.2018 10:40. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Horde Adressbuch: Turba ====== | ||
+ | Als nächste [[http:// | ||
+ | Informationen zu Installation und Konfiguration findet amn auch auf der offiziellen [[http:// | ||
+ | |||
+ | ===== Installation ===== | ||
+ | Wie auch schon bei der [[centos: | ||
+ | |||
+ | Das Programmpaket holen wir und nun erst einmal auf unseren Web-Server. | ||
+ | # pear install -a -B horde/turba | ||
+ | |||
+ | Starting to download turba-4.0.2.tgz (1,942,828 bytes) | ||
+ | .........................................................................done: | ||
+ | install ok: channel:// | ||
+ | |||
+ | ===== vorbereitende Konfiguration ===== | ||
+ | Die Konfiguration des Moduls **Turba** erfolgt, wie auch bereits bei der Grundkonfiguration des Horde-Frameworks, | ||
+ | Zunächst kopieren wir uns die Vorlagedatei für die Anbindung an unser Datenbank-Backendsystem, | ||
+ | # cp -a / | ||
+ | |||
+ | Anschließend legen wir noch die besagte Backup-Datei für die Konfiguration an. | ||
+ | # touch / | ||
+ | |||
+ | Zum Schluß weisen wir noch die Datei und Besitzrechte für die Konfigurationsdatei- und dessen Verzeichnis zu. | ||
+ | # chown -R root:apache / | ||
+ | |||
+ | # chmod g+w -R / | ||
+ | |||
+ | |||
+ | ===== Konfiguration des MySQL-Datenbankbackendserver ===== | ||
+ | Neben der Konfiguration der Anwendung selbst, müssen wir der Anwendung **Turba** auch noch mitteilen, wie und zu welchem Datenbankbackend-System sich die Anwendung verbinden soll. | ||
+ | |||
+ | <WRAP round tip>Die mitgelieferte Konfigurationsdatei **backends.php** lassen wir unangetastet. Die Konfiguration nehmen wir über die zuvor kopierte Datei **backends.local.php** vor.</ | ||
+ | |||
+ | Als erstes deaktivieren wir den ersten Standardeintrag und ergänzen dann den Eintrag für die Anbindung an unseren MySQL Datenbankserver-Server. | ||
+ | # vim / | ||
+ | |||
+ | |||
+ | <file php / | ||
+ | /** | ||
+ | * This file is where you specify the sources of contacts available to users | ||
+ | * at your installation. It contains a large number of EXAMPLES. Please | ||
+ | * remove or comment out those examples that YOU DON'T NEED. There are a | ||
+ | * number of properties that you can set for each server, including: | ||
+ | * | ||
+ | * IMPORTANT: DO NOT EDIT THIS FILE! | ||
+ | * Local overrides MUST be placed in backends.local.php or backends.d/ | ||
+ | * If the ' | ||
+ | * use backends-servername.php. | ||
+ | * | ||
+ | * Example backends.local.php configuration file that enables the LDAP address | ||
+ | * book and adds a composite field to the SQL address book: | ||
+ | * | ||
+ | * < | ||
+ | * <?php | ||
+ | * $cfgSources[' | ||
+ | * $cfgSources[' | ||
+ | * $cfgSources[' | ||
+ | * $cfgSources[' | ||
+ | * $cfgSources[' | ||
+ | * $cfgSources[' | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * ); | ||
+ | * </ | ||
+ | * | ||
+ | * Properties that can be set for each server: | ||
+ | * | ||
+ | * disabled: (boolean) If true, the config entry is disabled. | ||
+ | * | ||
+ | * title: (string) This is the common (user-visible) name that you want | ||
+ | | ||
+ | * | ||
+ | * type: (string) The types ' | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * params: (array) These are the connection parameters specific to the contact | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * map: (array) A list of mappings from the Turba attribute names (keys) to | ||
+ | | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | | ||
+ | * | ||
+ | * tabs: (array) All fields can be grouped into tabs with this optional entry. | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * search: (array) A list of Turba attribute names that can be searched for | ||
+ | | ||
+ | * | ||
+ | * strict: (array) A list of native field/ | ||
+ | | ||
+ | * | ||
+ | * approximate: | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * export: (boolean) If true, this source will appear on the Export menu, | ||
+ | | ||
+ | * | ||
+ | * browse: (boolean) If true, this source will be browseable via the Browse | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * use_shares: (boolean) If true, Horde_Share functionality will be enabled | ||
+ | | ||
+ | | ||
+ | * | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * all_shares: (boolean) If true (and ' | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * list_name_field: | ||
+ | | ||
+ | | ||
+ | * | ||
+ | * alternative_name: | ||
+ | | ||
+ | */ | ||
+ | |||
+ | /** | ||
+ | * A local address book in an SQL database. This implements a private | ||
+ | * per-user address book. Sharing of this source with other users may be | ||
+ | * accomplished by enabling Horde_Share for this source by setting | ||
+ | * ' | ||
+ | * | ||
+ | * Be sure to create a turba_objects table in your Horde database from the | ||
+ | * schema in turba/ | ||
+ | */ | ||
+ | $cfgSources[' | ||
+ | // ENABLED by default | ||
+ | ' | ||
+ | // Django : 2013-01-25 Adressbuch personalisiert | ||
+ | // default: ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // The default connection details are pulled from the Horde-wide SQL | ||
+ | // connection configuration. | ||
+ | // To use another DB connection, you must provide configuration | ||
+ | // information here - for example, | ||
+ | //' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | //), | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | array(' | ||
+ | ' | ||
+ | ' | ||
+ | array(' | ||
+ | ' | ||
+ | // This is a shorter version of a " | ||
+ | // consists of the first name and last name. | ||
+ | // ' | ||
+ | // ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | _(" | ||
+ | ' | ||
+ | ' | ||
+ | _(" | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | _(" | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | _(" | ||
+ | _(" | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | /** | ||
+ | * A local address book in an LDAP directory. This implements a public | ||
+ | * (shared) address book. | ||
+ | * | ||
+ | * To store distribution lists in the LDAP directory, you'll need to include | ||
+ | * horde.schema from Horde in your LDAP configuration. | ||
+ | * | ||
+ | * To store freebusy information in the LDAP directory, you'll need to include | ||
+ | * rfc2739.schema from Horde in your LDAP configuration. | ||
+ | */ | ||
+ | $cfgSources[' | ||
+ | // Disabled by default | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // For Active Directory: | ||
+ | // ' | ||
+ | ' | ||
+ | ' | ||
+ | // For Active Directory: | ||
+ | // ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // Add ' | ||
+ | // ' | ||
+ | // if using ' | ||
+ | // For Active Directory: | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | ' | ||
+ | // For Active Directory: | ||
+ | // ' | ||
+ | ' | ||
+ | // Consult the LDAP schema to verify that all required attributes for | ||
+ | // an entry are set and add them if needed. | ||
+ | ' | ||
+ | // Value used to fill in missing required attributes. | ||
+ | ' | ||
+ | // Check LDAP schema for valid syntax. If this is false an address | ||
+ | // field is assumed to have postalAddress syntax; otherwise the schema | ||
+ | // is consulted for the syntax to use. | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | // For Active Directory you probably want to also set the following | ||
+ | // parameters: | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | // Remove this mapping if using Active Directory server: | ||
+ | ' | ||
+ | |||
+ | // From horde.schema. | ||
+ | // included above: | ||
+ | // ' | ||
+ | // ' | ||
+ | |||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | // From rfc2739.schema: | ||
+ | // ' | ||
+ | |||
+ | // For Active Directory servers: | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | // For Active Directory servers: | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ), | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | /** | ||
+ | * A personal LDAP address book. This assumes that the login is | ||
+ | * < | ||
+ | * server. Thus it is possible to bind with the username and password from the | ||
+ | * user. For more info; please refer to the docs/LDAP file in the Turba | ||
+ | * distribution. | ||
+ | * | ||
+ | * To store distribution lists in the LDAP directory, you'll need to include | ||
+ | * horde.schema from Horde in your LDAP configuration. | ||
+ | * | ||
+ | * To store freebusy information in the LDAP directory, you'll need to include | ||
+ | * rfc2739.schema from Horde in your LDAP configuration. | ||
+ | */ | ||
+ | /* First we need to get the uid. */ | ||
+ | $_ldap_uid = $GLOBALS[' | ||
+ | $_ldap_basedn = ' | ||
+ | $cfgSources[' | ||
+ | // Disabled by default | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // ' | ||
+ | ' | ||
+ | // ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | // From horde.schema: | ||
+ | // ' | ||
+ | // ' | ||
+ | |||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | // Evolution interopt attributes: (those that do not require the | ||
+ | // evolution.schema) | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | // These are not stored on the LDAP server. | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | // From rfc2739.schema: | ||
+ | // ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | /** | ||
+ | * A local address book on a IMAP or Kolab server. This implements a private | ||
+ | * per-user address book. Sharing of this source with other users is | ||
+ | * accomplished by IMAP ACLs and by setting ' | ||
+ | */ | ||
+ | $cfgSources[' | ||
+ | // DISABLED by default | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | /* Personal */ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | array(' | ||
+ | ' | ||
+ | ' | ||
+ | array(' | ||
+ | ' | ||
+ | array(' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // This is a shorter version of a " | ||
+ | // consists of the first name and last name. | ||
+ | // ' | ||
+ | // ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | /* Location */ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | /* Communications */ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | /* Organization */ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | /* Other */ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | /* Invisible */ | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | _(" | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | _(" | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | _(" | ||
+ | ' | ||
+ | _(" | ||
+ | ' | ||
+ | _(" | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | /** | ||
+ | * A preferences-based address book. This will always be private. You can add | ||
+ | * any attributes you like to the map and it will just work; you can also | ||
+ | * create multiple prefs-based address books by changing the ' | ||
+ | * This is best for address books that are expected to remain small; it's not | ||
+ | * the most efficient, but it can't be beat for getting up and running | ||
+ | * quickly, especially if you already have Horde preferences working. Note | ||
+ | * that it is not searchable, though - searches will simply return the whole | ||
+ | * address book. | ||
+ | */ | ||
+ | $cfgSources[' | ||
+ | // Disabled by default | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | /** | ||
+ | * An address book based on message recipients. This will always be private and | ||
+ | * read-only. The address book content is provided by the | ||
+ | * contacts/ | ||
+ | * mail client that collects the most regular message recipients, like IMP | ||
+ | * 4.2. | ||
+ | */ | ||
+ | $cfgSources[' | ||
+ | // ENABLED by default | ||
+ | ' | ||
+ | // Django : 2013-01-25 Adressbuch personalisiert | ||
+ | // default: ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | /** | ||
+ | * A driver to show a user's Facebook friends as a turba address book. Some | ||
+ | * data (like email) is not readily available via the API, but other data, like | ||
+ | * birthdays (which will show up via the listTimeObjects API) may still be | ||
+ | * useful to some | ||
+ | */ | ||
+ | if (!empty($GLOBALS[' | ||
+ | $cfgSources[' | ||
+ | // Disabled if no provisioning with the Facebook API. | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * This source creates an address book for each group the current user is a | ||
+ | * member in. The address book will always be read only, and the group members | ||
+ | * must have an email address entered in their default identity. | ||
+ | * address will result in that member not being included in the address book. | ||
+ | */ | ||
+ | // | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ), | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ), | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | // ), | ||
+ | // ' | ||
+ | // ' | ||
+ | //); | ||
+ | |||
+ | //foreach ($GLOBALS[' | ||
+ | // $cfgSources[' | ||
+ | // $cfgSources[' | ||
+ | // $cfgSources[' | ||
+ | //} | ||
+ | |||
+ | /** | ||
+ | * IMSP based address book. | ||
+ | * | ||
+ | * Communicates with an IMSP backend server. | ||
+ | * | ||
+ | * Notes: | ||
+ | * You should configure the user's " | ||
+ | * address book is set in the ' | ||
+ | * be configured to be the same as the IMSP server username. Any other | ||
+ | * address books the user has access to will automatically be configured at | ||
+ | * runtime. | ||
+ | * | ||
+ | * In the params array, accepted values for auth_method are ' | ||
+ | * ' | ||
+ | * are using the imtest driver for Cyrus, please read the | ||
+ | * framework/ | ||
+ | * | ||
+ | * Groups in other IMSP-aware applications are just entries with multiple | ||
+ | * email addresses in the email field and a ' | ||
+ | * entry as a group. (The Cyrusoft applications, | ||
+ | * use a field named ' | ||
+ | * Turba_Object_Group is basically a List of existing Turba_Objects. The IMSP | ||
+ | * driver will map between these two structures when reading and writing | ||
+ | * groups. | ||
+ | * The only caveat is that IMSP groups that contain email addresses which do | ||
+ | * not have a cooresponding contact entry will be ignored. The group_id_field | ||
+ | * should be set to the IMSP field that flags the entry as a ' | ||
+ | * the group_id_value should be set to the value given to that field. | ||
+ | * | ||
+ | * By default, the username and password that were used to login to Horde is | ||
+ | * used to login to the IMSP server. If these credentials are different, | ||
+ | * there is a user preference in Horde to allow another username / password to | ||
+ | * be entered. The alternate credentials are always used if present. | ||
+ | * | ||
+ | * In the map array, since IMSP uses the ' | ||
+ | * what __key is mapped to ... and a dynamic field ' | ||
+ | * mapped to the horde ' | ||
+ | * field when the object is read from the server. | ||
+ | * | ||
+ | * If you wish to keep track of ownership of individual contacts, set | ||
+ | * ' | ||
+ | * will not be created this way and will therefore have no ' | ||
+ | * ' | ||
+ | * populated with the current username. | ||
+ | * | ||
+ | * To integrate with Horde_Share, | ||
+ | * IMSP Horde_Share hooks in horde/ | ||
+ | */ | ||
+ | // Check that IMSP is configured in Horde but fall through if there is no | ||
+ | // configuration at all. | ||
+ | if (!empty($GLOBALS[' | ||
+ | // First, get the user name to login to IMSP server with. | ||
+ | $_imsp_auth_user = $GLOBALS[' | ||
+ | $_imsp_auth_pass = $GLOBALS[' | ||
+ | if (!strlen($_imsp_auth_user)) { | ||
+ | $_imsp_auth_user = $GLOBALS[' | ||
+ | $_imsp_auth_pass = $GLOBALS[' | ||
+ | } | ||
+ | $cfgSources[' | ||
+ | // ENABLED by default | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // socket, command, and auth_mechanism are for imtest driver. | ||
+ | ' | ||
+ | | ||
+ | '', | ||
+ | ' | ||
+ | | ||
+ | ' | ||
+ | $GLOBALS[' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | // Dynamically generated acl rights for current user. | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | /** | ||
+ | * Get any other address books this user might be privy to. | ||
+ | * The values for attributes such as ' | ||
+ | * that are added below will be the same as the values set in the default | ||
+ | * book above. Any entries defined explicitly in cfgSources[] | ||
+ | * will override any entries gathered dynamically below. | ||
+ | */ | ||
+ | if (empty($cfgSources[' | ||
+ | try { | ||
+ | $result = Horde_Core_Imsp_Utils:: | ||
+ | $resultCount = count($result); | ||
+ | for ($i = 0; $i < $resultCount; | ||
+ | // Make sure we didn't define this source explicitly, | ||
+ | // but set the acls from the server regardless. | ||
+ | $dup = false; | ||
+ | foreach ($cfgSources as $key => $thisSource) { | ||
+ | if (($thisSource[' | ||
+ | ($thisSource[' | ||
+ | |||
+ | $dup = true; | ||
+ | $acl = $result[$i][' | ||
+ | $cfgSources[$key][' | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | if (!$dup) { | ||
+ | $cfgSources[$result[$i][' | ||
+ | } | ||
+ | } | ||
+ | } catch (Horde_Imsp_Exception $e) { | ||
+ | $GLOBALS[' | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | /* End IMSP sources. */ | ||
+ | </ | ||
+ | |||
+ | ===== Konfiguration über die WEB-GUI ===== | ||
+ | Die Konfiguration der Applikation **Turba** erfolgt dann über die GUI des Web-Frameworks. Dazu rufen wir unseren angelegten VHOST im Webbrowser auf. | ||
+ | $ firefox https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Mit einem Klick auf das Zahnradsysmbol {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Hier wählen wir den Menüpunkt **// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Da wir die Anwendung **//IMP//** noch nicht konfiguriert haben und auch die nötigen mySQL-Datenbanktabellen angelegt haben, sind die beiden Fehlermeldungen normal. | ||
+ | |||
+ | Als erstes legen wir die notwendigen Datenbanktabellen an. Hierzu klicken wir auf den Punkt **DB schema is out of date**. Die Aktion wird uns entsprechend positiv quittiert. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Um zur Konfiguration von **Turba** zu gelangen, klicken wir nun auf den Punkt **Adressbuch (turba)**. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Auf den nun zur Verfügung stehenden Reitern, erfolgt die Konfiguration der Horde-Applikation **Turba**. | ||
+ | |||
+ | === Menu Settings === | ||
+ | $conf[menu][import_export] | ||
+ | |||
+ | === Clients === | ||
+ | $conf[client][addressbook] | ||
+ | |||
+ | === Exchange GAL === | ||
+ | $conf[gal][addressbook] | ||
+ | |||
+ | === Shares === | ||
+ | $conf[shares][source] | ||
+ | |||
+ | === Comments === | ||
+ | $conf[comments][allow] | ||
+ | |||
+ | === Virtual File Storage === | ||
+ | | ||
+ | |||
+ | |||
+ | Am Ende unserer Konfigurationsarbeit, | ||
+ | {{: | ||
+ | Die erfolgreiche Sicherung wird uns entsprechend angezeigt. | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | ====== Links ====== | ||
+ | * **[[centos: | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||