Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:mail_c7:horde_5 [15.09.2014 12:14. ] – [Konfiguration des MySQL-Datenbankbackendserver] djangocentos:mail_c7:horde_5 [20.04.2018 10:46. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Horde 5 Applikation Adressbuch: Turba unter CentOS 7.x ====== ====== Horde 5 Applikation Adressbuch: Turba unter CentOS 7.x ======
 Als nächste [[http://www.horde.org/apps|Applikation]] installieren wir uns die Anwendung **[[http://www.horde.org/apps/turba|Turba]]**. Diese Anwendung stellt uns zentrale und auch persönliche Adressbücher zur Verfügung.  Als nächste [[http://www.horde.org/apps|Applikation]] installieren wir uns die Anwendung **[[http://www.horde.org/apps/turba|Turba]]**. Diese Anwendung stellt uns zentrale und auch persönliche Adressbücher zur Verfügung. 
-Informationen zu Installation und Konfiguration findet amn auch auf der offiziellen [[http://www.horde.org/apps/turba/docs/INSTALL|Doku-Seite]].+Informationen zu Installation und Konfiguration findet man auch auf der offiziellen [[http://www.horde.org/apps/turba/docs/INSTALL|Doku-Seite]].
  
 ===== Installation ===== ===== Installation =====
Zeile 425: Zeile 425:
 </code> </code>
  
-===== Konfiguration des MySQL-Datenbankbackendserver =====+ 
 +===== Konfiguration ===== 
 + 
 +==== 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. 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.
  
Zeile 649: Zeile 652:
  */  */
  
-/** +/* LOCALSQL */ 
- * A local address book in an SQL database. This implements a private +// Django : 2014-09-12 Adressbuch personalisiert 
- * per-user address book. Sharing of this source with other users may be +// default: 'title' => _("Shared Address Books"), 
- * accomplished by enabling Horde_Share for this source by setting +$cfgSources['localsql']['disabled'false; 
- * 'use_shares' => true. +// ENABLED by default 
- * +// Django : 2014-09-12 Adressbuch (Favoritendeaktiviert 
- * Be sure to create a turba_objects table in your Horde database from the +$cfgSources['favourites']['disabled'true; 
- * schema in turba/scripts/db/turba.sql if you use this source. +$cfgSources['favourites']['title'_("persAdressbuch (Favoriten)"); 
- */ +</file>
-$cfgSources['localsql'] = array( +
-    // ENABLED by default +
-    'disabled' => false, +
-    // Django : 2014-09-12 Adressbuch personalisiert +
-    // default: 'title' => _("Shared Address Books"), +
-    'title=> _("gemeinsames Adressbuch"), +
-    'type' => 'sql', +
-    'params' => array( +
-        // 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, +
-        //'sql' => array( +
-        //    'persistent' => false, +
-        //    'username' => 'horde', +
-        //    'password' => 'secret', +
-        //    'socket' => '/var/run/mysqld/mysqld.sock', +
-        //    'protocol' => 'unix', +
-        //    'database' => 'horde', +
-        //    'charset' => 'utf-8', +
-        //    'ssl' => false, +
-        //    'splitread' => false, +
-        //    'phptype' => 'mysql' +
-        //), +
-        'table' => 'turba_objects' +
-    ), +
-    'map' => array( +
-        '__key' => 'object_id', +
-        '__owner' => 'owner_id', +
-        '__type' => 'object_type', +
-        '__members' => 'object_members', +
-        '__uid' => 'object_uid', +
-        'firstname' => 'object_firstname', +
-        'lastname' => 'object_lastname', +
-        'middlenames' => 'object_middlenames', +
-        'namePrefix' => 'object_nameprefix', +
-        'nameSuffix' => 'object_namesuffix', +
-        'name' => array('fields' => array('namePrefix', 'firstname', +
-                                          'middlenames', 'lastname', +
-                                          'nameSuffix'), +
-                        'format=> '%s %s %s %s %s', +
-                        'parse' => array( +
-                            array('fields=> array('firstname', 'middlenames', +
-                                                    'lastname'), +
-                                  'format' => '%s %s %s'), +
-                            array('fields' => array('firstname', 'lastname'), +
-                                  'format' => '%s %s'))), +
-        // This is a shorter version of a "name" composite field which only +
-        // consists of the first name and last name. +
-        // 'name' => array('fields' => array('firstname', 'lastname')+
-        //                 'format' => '%s %s'), +
-        'alias' => 'object_alias', +
-        'yomifirstname' => 'object_yomifirstname', +
-        'yomilastname' => 'object_yomilastname', +
-        'birthday' => 'object_bday', +
-        'anniversary' => 'object_anniversary', +
-        'spouse' => 'object_spouse', +
-        'photo' => 'object_photo', +
-        'phototype' => 'object_phototype', +
-        'homeStreet' => 'object_homestreet', +
-        'homePOBox' => 'object_homepob', +
-        'homeCity' => 'object_homecity', +
-        'homeProvince' => 'object_homeprovince', +
-        'homePostalCode' => 'object_homepostalcode', +
-        'homeCountry' => 'object_homecountry', +
-        'homeAddress' => array('fields' => array('homeStreet', 'homeCity', +
-                                                 'homeProvince', +
-                                                 'homePostalCode'), +
-                               'format' => "%s\n%s, %s  %s")+
-        'workStreet' => 'object_workstreet', +
-        'workPOBox' => 'object_workpob', +
-        'workCity' => 'object_workcity', +
-        'workProvince' => 'object_workprovince', +
-        'workPostalCode' => 'object_workpostalcode', +
-        'workCountry' => 'object_workcountry', +
-        'workAddress' => array('fields' => array('workStreet', 'workCity', +
-                                                 'workProvince', +
-                                                 'workPostalCode'), +
-                               'format' => "%s\n%s, %s  %s"), +
-        'otherStreet' => 'object_otherstreet', +
-        'otherPOBox' => 'object_otherpob', +
-        'otherCity' => 'object_othercity', +
-        'otherProvince' => 'object_otherprovince', +
-        'otherPostalCode' => 'object_otherpostalcode', +
-        'otherCountry' => 'object_othercountry', +
-        'otherAddress' => array('fields' => array('otherStreet', 'otherCity', +
-                                                  'otherProvince', +
-                                                  'otherPostalCode'), +
-                                'format' => "%s\n%s, %s  %s"), +
-        'department' => 'object_department', +
-        'manager' => 'object_manager', +
-        'assistant' => 'object_assistant', +
-        'timezone' => 'object_tz', +
-        'email' => 'object_email', +
-        // 'homeEmail' ='object_homeemail', +
-        // 'workEmail' => 'object_workemail', +
-        'homePhone' => 'object_homephone', +
-        'homePhone2' => 'object_homephone2', +
-        'homeFax' => 'object_homefax', +
-        'workPhone' => 'object_workphone', +
-        'workPhone2' => 'object_workphone2', +
-        'cellPhone' => 'object_cellphone', +
-        'carPhone' => 'object_carphone', +
-        'radioPhone' => 'object_radiophone', +
-        'companyPhone' => 'object_companyphone', +
-        'assistPhone' => 'object_assistantphone', +
-        'fax' => 'object_fax', +
-        'pager' => 'object_pager', +
-        'title' => 'object_title', +
-        'role' => 'object_role', +
-        'company' => 'object_company', +
-        'logo' => 'object_logo', +
-        'logotype' => 'object_logotype', +
-        'notes' => 'object_notes', +
-        'website' => 'object_url', +
-        'freebusyUrl' => 'object_freebusyurl', +
-        'pgpPublicKey' => 'object_pgppublickey', +
-        'smimePublicKey' => 'object_smimepublickey', +
-        'imaddress' => 'object_imaddress', +
-        'imaddress2' => 'object_imaddress2', +
-        'imaddress3' => 'object_imaddress3' +
-    ), +
-    'tabs' => array( +
-        _("Personal") => array('firstname', 'lastname', 'middlenames', +
-                               'namePrefix', 'nameSuffix', 'name', 'alias', +
-                               'birthday', 'spouse', 'anniversary', +
-                               'yomifirstname', 'yomilastname', 'photo'), +
-        _("Location") => array('homeStreet', 'homePOBox', 'homeCity', +
-                               'homeProvince', 'homePostalCode', 'homeCountry', +
-                               'homeAddress', 'workStreet', 'workPOBox', +
-                               'workCity', 'workProvince', 'workPostalCode', +
-                               'workCountry', 'workAddress', 'otherStreet', +
-                               'otherPOBox', 'otherCity', 'otherProvince', +
-                               'otherPostalCode', 'otherCountry', +
-                               'otherAddress','timezone'), +
-        _("Communications") => array('email', 'homeEmail', 'workEmail', +
-                                     'homePhone', 'homePhone2', +
-                                     'workPhone', 'workPhone2', 'carPhone', +
-                                     'radioPhone', 'companyPhone', +
-                                     'assistPhone', 'homeFax', +
-                                     'cellPhone', 'fax', 'pager', 'imaddress', +
-                                     'imaddress2', 'imaddress3'), +
-        _("Organization") => array('title', 'role', 'company', 'department', 'logo', 'assistant', 'manager'), +
-        _("Other") => array('notes', 'website', 'freebusyUrl', +
-                            'pgpPublicKey', 'smimePublicKey'), +
-    ), +
-    'search' => array( +
-        'name', +
-        'email' +
-    ), +
-    'strict' => array( +
-        'object_id', +
-        'owner_id', +
-        'object_type', +
-        'object_uid' +
-    ), +
-    'export' => true, +
-    'browse' => true, +
-    'use_shares' => true, +
-    'list_name_field' => 'lastname', +
-    'alternative_name' => 'company', +
-);+
  
-/** 
- * 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['localldap'] = array( 
-    // Disabled by default 
-    'disabled' => true, 
-    'title' => _("Shared Directory"), 
-    'type' => 'ldap', 
-    'params' => array( 
-        'server' => 'ldap.example.com', 
-        'port' => 389, 
-        'tls' => false, 
-        'root' => 'dc=example,dc=com', 
-        'bind_dn' => 'cn=admin,ou=users,dc=example,dc=com', 
-        // For Active Directory: 
-        // 'bind_dn' => 'username@example.com', 
-        'bind_password' => '********', 
-        'sizelimit' => 200, 
-        // For Active Directory: 
-        // 'sizelimit' => 0, 
-        'dn' => array('cn'), 
-        'objectclass' => array('top', 
-                               'person', 
-                               'organizationalPerson', 
-                               'inetOrgPerson'), 
-                               // Add 'turbaContact' to this array if using 
-                               // 'turbaType' attribute below, and 'calEntry' 
-                               // if using 'freebusyUrl'. 
-        // For Active Directory: 
-        // 'objectclass' => array('organizationalPerson', 
-        //                        'user', 
-        //                        'group', 
-        //                        'contact'), 
-        'scope' => 'one', 
-        // For Active Directory: 
-        // 'scope' => 'sub', 
-        'charset' => 'utf-8', 
-        // Consult the LDAP schema to verify that all required attributes for 
-        // an entry are set and add them if needed. 
-        'checkrequired' => false, 
-        // Value used to fill in missing required attributes. 
-        'checkrequired_string' => ' ', 
-        // 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. 
-        'checksyntax' => false, 
-        'version' => 3, 
- 
-        // For Active Directory you probably want to also set the following 
-        // parameters: 
-        // 'deref' => LDAP_DEREF_ALWAYS, 
-        // 'filter' => '&(SAMAccountName=*)(mail=*)', 
-        // 'referrals' => 0, 
-    ), 
-    'map' => array( 
-        '__key' => 'dn', 
- 
-        // Remove this mapping if using Active Directory server: 
-        '__uid' => 'uid', 
- 
-        // From horde.schema.  Make sure you have 'turbaContact' objectClass 
-        // included above: 
-        // '__type' => 'turbaType', 
-        // '__members' => 'turbaMembers', 
- 
-        'name' => 'cn', 
-        'email' => 'mail', 
-        'homePhone' => 'homephone', 
-        'workPhone' => 'telephonenumber', 
-        'cellPhone' => 'mobiletelephonenumber', 
-        'homeAddress' => 'homepostaladdress', 
- 
-        // From rfc2739.schema: 
-        // 'freebusyUrl' => 'calFBURL', 
- 
-        // For Active Directory servers: 
-        // 'name' => 'displayname', 
-        // 'title' => 'title', 
-        // 'cellPhone' => 'mobile', 
-        // 'department' => 'department', 
-        // 'company' => 'company', 
-    ), 
-    'search' => array( 
-        'name', 
-        'email', 
-        'homePhone', 
-        'workPhone', 
-        'cellPhone', 
-        'homeAddress' 
-    ), 
-    'strict' => array( 
-        'dn', 'uid' 
-    ), 
-    'approximate' => array( 
-        'cn', 
-    ), 
-    // For Active Directory servers: 
-    // 'approximate' => array( 
-    //     'displayname', 
-    //     'samaccountname', 
-    // ), 
-    'export' => true, 
-    'browse' => true, 
-); 
- 
-/** 
- * A personal LDAP address book. This assumes that the login is 
- * <username>@domain.com and that the users are stored on the same LDAP 
- * 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['registry']->getAuth('bare'); 
-$_ldap_basedn = 'dc=example,dc=com'; 
-$cfgSources['personal_ldap'] = array( 
-    // Disabled by default 
-    'disabled' => true, 
-    'title' => _("My Address Book"), 
-    'type' => 'ldap', 
-    'params' => array( 
-        'server' => 'localhost', 
-        'tls' => false, 
-        'root' => 'ou=' . $_ldap_uid . ',ou=personal_addressbook,' . $_ldap_basedn, 
-        'bind_dn' => 'uid=' . $_ldap_uid . ',ou=People,' . $_ldap_basedn, 
-        'bind_password' => $GLOBALS['registry']->getAuthCredential('password'), 
-        'dn' => array('uid'), 
-        'objectclass' => array('top', 
-                               'person', 
-                               // 'turbaContact', 
-                               'inetOrgPerson', 
-                               // 'calEntry', 
-                               'organizationalPerson'), 
-        'scope' => 'one', 
-        'charset' => 'utf-8', 
-        'version' => 3 
-    ), 
-    'map' => array( 
-        '__key' => 'dn', 
-        '__uid' => 'uid', 
- 
-        // From horde.schema: 
-        // '__type' => 'turbaType', 
-        // '__members' => 'turbaMembers', 
- 
-        'name' => 'cn', 
-        'email' => 'mail', 
-        'lastname' => 'sn', 
-        'title' => 'title', 
-        'company' => 'organizationname', 
-        'businessCategory' => 'businesscategory', 
-        'workAddress' => 'postaladdress', 
-        'workPostalCode' => 'postalcode', 
-        'workPhone' => 'telephonenumber', 
-        'fax' => 'facsimiletelephonenumber', 
-        'homeAddress' => 'homepostaladdress', 
-        'homePhone' => 'homephone', 
-        'cellPhone' => 'mobile', 
-        'notes' => 'description', 
- 
-        // Evolution interopt attributes: (those that do not require the 
-        // evolution.schema) 
-        'office' => 'roomNumber', 
-        'department' => 'ou', 
-        'nickname' => 'displayName', 
-        'website' => 'labeledURI', 
- 
-        // These are not stored on the LDAP server. 
-        'pgpPublicKey' => 'object_pgppublickey', 
-        'smimePublicKey' => 'object_smimepublickey', 
- 
-        // From rfc2739.schema: 
-        // 'freebusyUrl' => 'calFBURL', 
-    ), 
-    'search' => array( 
-        'name', 
-        'email', 
-        'businessCategory', 
-        'title', 
-        'homePhone', 
-        'workPhone', 
-        'cellPhone', 
-        'homeAddress' 
-    ), 
-    'strict' => array( 
-        'dn', 'uid' 
-    ), 
-    'approximate' => array( 
-        'cn', 
-    ), 
-    'export' => true, 
-    'browse' => true, 
-); 
- 
-/** 
- * 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 'use_shares' => true. 
- */ 
-$cfgSources['kolab'] = array( 
-    // DISABLED by default 
-    'disabled' => true, 
-    'title' => _("Shared Address Books"), 
-    'type' => 'kolab', 
-    'params' => array( 
-    ), 
-    'map' => array( 
-        '__key' => '__key', 
-        '__uid' => 'uid', 
-        '__type' => '__type', 
-        '__members' => '__members', 
-        '__internaltags' => 'categories', 
-        /* Personal */ 
-        'name' => array( 
-            'fields' => array( 
-                'namePrefix', 'firstname', 'middlenames', 'lastname', 
-                'nameSuffix' 
-            ), 
-            'format' => '%s %s %s %s %s', 
-            'parse' => array( 
-                array( 
-                    'fields' => array('firstname', 'middlenames', 'lastname'), 
-                    'format' => '%s %s %s' 
-                ), 
-                array( 
-                    'fields' => array('lastname', 'firstname'), 
-                    'format' => '%s, %s' 
-                ), 
-                array( 
-                    'fields' => array('firstname', 'lastname'), 
-                    'format' => '%s %s' 
-                ) 
-            ), 
-            'attribute' => 'full-name', 
-        ), 
-        'firstname' => 'given-name', 
-        'lastname' => 'last-name', 
-        'middlenames' => 'middle-names', 
-        'namePrefix' => 'prefix', 
-        'nameSuffix' => 'suffix', 
-        // This is a shorter version of a "name" composite field which only 
-        // consists of the first name and last name. 
-        // 'name' => array('fields' => array('firstname', 'lastname'), 
-        //                 'format' => '%s %s'), 
-        'initials'          => 'initials', 
-        'nickname'          => 'nick-name', 
-        'photo'             => 'photo', 
-        'phototype'         => 'phototype', 
-        'gender'            => 'gender', 
-        'birthday'          => 'birthday', 
-        'spouse'            => 'spouse-name', 
-        'anniversary'       => 'anniversary', 
-        'children'          => 'children', 
-        /* Location */ 
-        'workStreet'        => 'addr-business-street', 
-        'workCity'          => 'addr-business-locality', 
-        'workProvince'      => 'addr-business-region', 
-        'workPostalCode'    => 'addr-business-postal-code', 
-        'workCountryFree'   => 'addr-business-country', 
-        'homeStreet'        => 'addr-home-street', 
-        'homeCity'          => 'addr-home-locality', 
-        'homeProvince'      => 'addr-home-region', 
-        'homePostalCode'    => 'addr-home-postal-code', 
-        'homeCountryFree'   => 'addr-home-country', 
-        /* Communications */ 
-        'emails'            => 'emails', 
-        'homePhone'         => 'phone-home1', 
-        'workPhone'         => 'phone-business1', 
-        'cellPhone'         => 'phone-mobile', 
-        'fax'               => 'phone-businessfax', 
-        'imaddress'         => 'im-address', 
-        /* Organization */ 
-        'title'             => 'job-title', 
-        'role'              => 'profession', 
-        'company'           => 'organization', 
-        'department'        => 'department', 
-        'office'            => 'office-location', 
-        'manager'           => 'manager-name', 
-        'assistant'         => 'assistant', 
-        /* Other */ 
-        'notes'             => 'body', 
-        'website'           => 'web-page', 
-        'freebusyUrl'       => 'free-busy-url', 
-        'language'          => 'language', 
-        'latitude'          => 'latitude', 
-        'longitude'         => 'longitude', 
-        /* Invisible */ 
-        'pgpPublicKey'      => 'pgp-publickey', 
-    ), 
-    'tabs' => array( 
-        _("Personal") => array('firstname', 'lastname', 'middlenames', 
-                               'namePrefix', 'nameSuffix', 'name', 'initials', 
-                               'nickname', 'gender', 'birthday', 'spouse', 
-                               'anniversary', 'children', 'photo'), 
-        _("Location") => array('workStreet', 'workCity', 'workProvince', 
-                               'workPostalCode', 'workCountryFree', 
-                               'homeStreet', 'homeCity', 'homeProvince', 
-                               'homePostalCode', 'homeCountryFree'), 
-        _("Communications") => array('emails', 'homePhone', 'workPhone', 
-                                     'cellPhone', 'fax', 'imaddress'), 
-        _("Organization") => array('title', 'role', 'company', 'department', 
-                                   'office', 'manager', 'assistant'), 
-        _("Other") => array('notes', 'website', 'freebusyUrl', 
-                            'language', 'latitude', 'longitude'), 
-    ), 
-    'search' => array( 
-        'name', 
-        'emails' 
-    ), 
-    'strict' => array( 
-        'uid', 
-    ), 
-    'export' => true, 
-    'browse' => true, 
-    'use_shares' => true, 
-    'all_shares' => true, 
-    'list_name_field' => 'lastname', 
-); 
- 
-/** 
- * 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 'name' parameter. 
- * 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['prefs'] = array( 
-    // Disabled by default 
-    'disabled' => true, 
-    'title' => _("Private Address Book"), 
-    'type' => 'prefs', 
-    'params' => array( 
-        'name' => 'prefs', 
-        'charset' => 'UTF-8' 
-    ), 
-    'map' => array( 
-        '__key' => 'id', 
-        '__type' => '_type', 
-        '__members' => '_members', 
-        '__uid' => 'uid', 
-        'name' => 'name', 
-        'email' => 'mail', 
-        'alias' => 'alias' 
-    ), 
-    'search' => array( 
-        'name', 
-        'email', 
-        'alias' 
-    ), 
-    'strict' => array( 
-        'id', 
-        '_type', 
-        'uid' 
-    ), 
-    'export' => true, 
-    'browse' => true, 
-); 
- 
-/** 
- * An address book based on message recipients. This will always be private and 
- * read-only. The address book content is provided by the 
- * contacts/favouriteRecipients API method which should be implemented by a 
- * mail client that collects the most regular message recipients, like IMP 
- * 4.2. 
- */ 
-$cfgSources['favourites'] = array( 
-    // ENABLED by default 
-    // Django : 2014-09-12 Adressbuch (Favoriten) deaktiviert 
-    // default: 'disabled' => false, 
-    'disabled' => true, 
-    // Django : 2014-09-12 Adressbuch personalisiert 
-    // default: 'title' => _("Favourite Recipients"), 
-    'title' => _("pers. Adressbuch (Favoriten)"), 
-    'type' => 'favourites', 
-    'params' => array( 
-        'limit' => 10 
-    ), 
-    'map' => array( 
-        '__key' => 'email', 
-        'name' => 'email', 
-        'email' => 'email' 
-    ), 
-    'search' => array( 
-        'email' 
-    ), 
-    'strict' => array( 
-        'id', 
-    ), 
-    'export' => true, 
-    'browse' => true, 
-); 
- 
-/** 
- * 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['conf']['facebook']['id'])) { 
-    $cfgSources['facebook'] = array( 
-        // Disabled if no provisioning with the Facebook API. 
-        'disabled' => !$GLOBALS['injector']->getInstance('Horde_Service_Facebook')->auth->getSessionKey(), 
-        'title' => _("Facebook Friends"), 
-        'type' => 'facebook', 
-        'params' => array( 
-            'limit' => 10 
-        ), 
-        'map' => array( 
-            '__key' => 'uid', 
-            'name' => 'name', 
-            'lastname' => 'last_name', 
-            'firstname' => 'first_name', 
-            'middlenames' => 'middle_name', 
-            // 'email' => 'email', 
-            'birthday' => 'birthday_date', 
-            'homeCity' => 'current_location.city', 
-            'homeProvince' => 'current_location.state', 
-            'homePostalCode' => 'current_location.zip', 
-            'homeCountry' => 'current_location.country', 
-            'homeAddress' => array('fields' => array('homeCity', 
-                                                     'homeProvince', 
-                                                     'homePostalCode'), 
-                                   'format' => "%s, %s %s"), 
-            'notes' => 'about_me', 
-            // 'website' => 'website', 
-        ), 
-        'search' => array( 
-            'name', 
-            'email', 
-        ), 
-        'export' => true, 
-        'browse' => true, 
-    ); 
-} 
- 
-/** 
- * 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.  No email 
- * address will result in that member not being included in the address book. 
- */ 
-//$grpSource = array( 
-//    'title' => _("Group"), 
-//    'type' => 'group', 
-//    'params' => array( 
-//       'name' => '' 
-//    ), 
-//    'map' => array( 
-//        '__key' => 'email', 
-//        'name' => 'name', 
-//        'email' => 'email' 
-//    ), 
-//    'search' => array( 
-//        'name', 
-//        'email' 
-//    ), 
-//    'export' => true, 
-//    'browse' => true, 
-//); 
- 
-//foreach ($GLOBALS['injector']->getInstance('Horde_Group')->listGroups($GLOBALS['registry']->getAuth()) as $_group_id => $_group_name) { 
-//    $cfgSources['group_' . $_group_id] = $grpSource; 
-//    $cfgSources['group_' . $_group_id]['params'] = array('gid' => $_group_id); 
-//    $cfgSources['group_' . $_group_id]['title'] = $_group_name; 
-//} 
- 
-/** 
- * IMSP based address book. 
- * 
- * Communicates with an IMSP backend server. 
- * 
- * Notes: 
- * You should configure the user's "main" address book here. The name of the 
- * address book is set in the 'name' element of the params array. It should 
- * 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 'cram_md5', 
- * 'imtest', and 'plaintext' - these must match a IMSP_Auth_ driver. If you 
- * are using the imtest driver for Cyrus, please read the 
- * framework/Net_IMSP/Auth/imtest.php file for more configuration information. 
- * 
- * Groups in other IMSP-aware applications are just entries with multiple 
- * email addresses in the email field and a 'group' field set to flag the 
- * entry as a group. (The Cyrusoft applications, Mulberry and Silkymail both 
- * use a field named 'group' set to equal 'group' to signify this). A 
- * 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 'group' entry and 
- * 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 'name' attribute as a key, this is 
- * what __key is mapped to ... and a dynamic field 'fullname' is added and 
- * mapped to the horde 'name' field. This is populated with the IMSP 'name' 
- * field when the object is read from the server. 
- * 
- * If you wish to keep track of ownership of individual contacts, set 
- * 'contact_ownership' = true. Note that entries created using other clients 
- * will not be created this way and will therefore have no 'owner'. Set 
- * 'contact_ownership' = false and the __owner field will be automatically 
- * populated with the current username. 
- * 
- * To integrate with Horde_Share, set use_shares to true and uncomment the 
- * IMSP Horde_Share hooks in horde/config/hooks.php. 
- */ 
-// Check that IMSP is configured in Horde but fall through if there is no 
-// configuration at all. 
-if (!empty($GLOBALS['conf']['imsp']['enabled'])) { 
-    // First, get the user name to login to IMSP server with. 
-    $_imsp_auth_user = $GLOBALS['prefs']->getValue('imsp_auth_user'); 
-    $_imsp_auth_pass = $GLOBALS['prefs']->getValue('imsp_auth_pass'); 
-    if (!strlen($_imsp_auth_user)) { 
-        $_imsp_auth_user = $GLOBALS['registry']->getAuth('bare'); 
-        $_imsp_auth_pass = $GLOBALS['registry']->getAuthCredential('password'); 
-    } 
-    $cfgSources['imsp'] = array( 
-        // ENABLED by default 
-        'disabled' => false, 
-        'title' => _("IMSP"), 
-        'type' => 'imsp', 
-        'params' => array( 
-            'server'  => $GLOBALS['conf']['imsp']['server'], 
-            'port'    => $GLOBALS['conf']['imsp']['port'], 
-            'auth_method' => $GLOBALS['conf']['imsp']['auth_method'], 
-            // socket, command, and auth_mechanism are for imtest driver. 
-            'socket'  => isset($GLOBALS['conf']['imsp']['socket']) ? 
-                         $GLOBALS['conf']['imsp']['socket'] . $_imsp_auth_user . '.sck' : 
-                         '', 
-            'command' => isset($GLOBALS['conf']['imsp']['command']) ? 
-                         $GLOBALS['conf']['imsp']['command'] : '' , 
-            'auth_mechanism' => isset($GLOBALS['conf']['imsp']['auth_mechanism']) ? 
-                                $GLOBALS['conf']['imsp']['auth_mechanism'] : '', 
-            'username' => $_imsp_auth_user, 
-            'password' => $_imsp_auth_pass, 
-            'name' => $_imsp_auth_user, 
-            'group_id_field' => 'group', 
-            'group_id_value' => 'group', 
-            'contact_ownership' => false, 
-            // Dynamically generated acl rights for current user. 
-            'my_rights' => '', 
-            ), 
-        'map' => array( 
-            '__key' => 'name', 
-            '__type' => '__type', 
-            '__members' => '__members', 
-            '__owner' => '__owner', 
-            '__uid' => '__uid', 
-            'name' => 'fullname', 
-            'email' => 'email', 
-            'alias' => 'alias', 
-            'company' => 'company', 
-            'notes' => 'notes', 
-            'workPhone' => 'phone-work', 
-            'fax' => 'fax', 
-            'homePhone' => 'phone-home', 
-            'cellPhone' => 'cellphone', 
-            'freebusyUrl' => 'freebusyUrl' 
-            ), 
-        'search' => array( 
-            'name', 
-            'email', 
-            'alias', 
-            'company', 
-            'homePhone' 
-            ), 
-        'strict' => array('__uid'), 
-        'export' => true, 
-        'browse' => true, 
-        'use_shares' => false, 
-        ); 
- 
-    /** 
-     * Get any other address books this user might be privy to. 
-     * The values for attributes such as 'export' and 'browse' for books 
-     * 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['imsp']['use_shares']) && !empty($cfgSources['imsp']['enabled'])) { 
-         try { 
-            $result = Horde_Core_Imsp_Utils::getAllBooks($cfgSources['imsp']); 
-            $resultCount = count($result); 
-            for ($i = 0; $i < $resultCount; ++$i) { 
-                // 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['type'] == 'imsp') && 
-                        ($thisSource['params']['name'] == $result[$i]['params']['name'])) { 
- 
-                        $dup = true; 
-                        $acl = $result[$i]['params']['my_rights']; 
-                        $cfgSources[$key]['params']['my_rights'] = $acl; 
-                        break; 
-                    } 
-                } 
-                if (!$dup) { 
-                    $cfgSources[$result[$i]['params']['name']] = $result[$i]; 
-                } 
-            } 
-        } catch (Horde_Imsp_Exception $e) { 
-            $GLOBALS['notification']->push($e->getMessage()); 
-        } 
-     } 
-} 
-/* End IMSP sources. */ 
-</file> 
  
-===== Konfigurationsanpassung des Apache vHOST =====+==== Anpassung des Apache vHOST ====
 Bei der Installation des RPMs wurde die Apache-Konfigurationsdatei //**/etc/httpd/conf.d/php-horde-turba.conf**// mitgebracht. Da wir bereits in der zentralen Konfigurationsdatei den passenden Konfigurationsabschnitt berücksichtigt haben, können wir den Inhalt der Datei //**/etc/httpd/conf.d/php-horde-turba.conf**// komplett disablen. Bei der Installation des RPMs wurde die Apache-Konfigurationsdatei //**/etc/httpd/conf.d/php-horde-turba.conf**// mitgebracht. Da wir bereits in der zentralen Konfigurationsdatei den passenden Konfigurationsabschnitt berücksichtigt haben, können wir den Inhalt der Datei //**/etc/httpd/conf.d/php-horde-turba.conf**// komplett disablen.
    # vim /etc/httpd/conf.d/php-horde-turba.conf    # vim /etc/httpd/conf.d/php-horde-turba.conf
Zeile 1473: Zeile 682:
  
  
-===== Konfiguration über die WEB-GUI =====+==== Applikation via WEB-GUI ====
 Die Konfiguration der Applikation **Turba** erfolgt dann über die GUI des Web-Frameworks. Dazu rufen wir unseren angelegten VHOST im Webbrowser auf. Die Konfiguration der Applikation **Turba** erfolgt dann über die GUI des Web-Frameworks. Dazu rufen wir unseren angelegten VHOST im Webbrowser auf.
    $ firefox https://horde.sec-mail.guru/admin/config/    $ firefox https://horde.sec-mail.guru/admin/config/
Zeile 1513: Zeile 722:
 Die erfolgreiche Sicherung wird uns entsprechend angezeigt. Die erfolgreiche Sicherung wird uns entsprechend angezeigt.
  
-{{ :centos:mail_c7:horde_23.png?direct&850 |Bild: Bestätigung der erfolgreichen Sicherung}}+{{ :centos:mail_c7:horde_26.png?direct&850 |Bild: Bestätigung der erfolgreichen Sicherung}}
  
 ====== Links ====== ====== Links ======
-  * **⇐ [[centos:mail_c7:horde_4|Zurück zum Kapitel "Horde Applikation nag (Aufgaben) konfigurieren"]]** +  * **⇐ [[centos:mail_c7:horde_4|Zurück zum Kapitel "Horde Applikation Aufgaben(-Verwaltung): Nag unter CentOS 7.x"]]** 
-  * **⇒ [[centos:mail_c7:horde_6|Weiter zum Kapitel "Horde Applikation mnemo (Notizen) konfigurieren"]]**+  * **⇒ [[centos:mail_c7:horde_6|Weiter zum Kapitel "Horde Applikation Notizen: Mnemo unter CentOS 7.x"]]**
   * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**   * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
-~~DISCUSSION~~ 
  
  • centos/mail_c7/horde_5.1410783298.txt.gz
  • Zuletzt geändert: 15.09.2014 12:14.
  • von django