Als nächste Applikation installieren wir uns die Anwendung Turba. Diese Anwendung stellt uns zentrale und auch persönliche Adressbücher zur Verfügung. Informationen zu Installation und Konfiguration findet man auch auf der offiziellen Doku-Seite.
Die Installation der Applikation Nag können wir ganz einfach über das Paketverwaltungswerkzeug yum vornehmen.
# yum install php-horde-turba -y
Was uns das Paket php-horde-turba alles mitgebracht hat zeigt uns der folgende Aufruf.
# rpm -qil php-horde-turba
Name : php-horde-turba Version : 4.2.1 Release : 1.el7 Architecture: noarch Install Date: Fri 12 Sep 2014 10:08:00 AM CEST Group : Development/Libraries Size : 2190525 License : ASL 1.0 Signature : RSA/SHA256, Fri 08 Aug 2014 07:32:34 AM CEST, Key ID 6a2faea2352c64e5 Source RPM : php-horde-turba-4.2.1-1.el7.src.rpm Build Date : Tue 05 Aug 2014 09:04:16 AM CEST Build Host : buildvm-26.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.horde.org/apps/turba Summary : A web based address book Description : Turba is the Horde contact management application. Leveraging the Horde framework to provide seamless integration with IMP and other Horde applications, it supports storing contacts in SQL, LDAP, Kolab, and IMSP address books. /etc/horde/turba /etc/horde/turba/attributes.php /etc/horde/turba/backends.php /etc/horde/turba/conf.xml /etc/horde/turba/hooks.php.dist /etc/horde/turba/menu.php.dist /etc/horde/turba/mime_drivers.php /etc/horde/turba/prefs.php /etc/httpd/conf.d/php-horde-turba.conf /usr/bin/turba-convert-datatree-shares-to-sql /usr/bin/turba-convert-sql-shares-to-sqlng /usr/bin/turba-import-openxchange /usr/bin/turba-import-squirrelmail-file-abook /usr/bin/turba-import-squirrelmail-sql-abook /usr/bin/turba-import-vcards /usr/bin/turba-public-to-horde-share /usr/share/doc/pear/turba /usr/share/doc/pear/turba/CHANGES /usr/share/doc/pear/turba/CREDITS /usr/share/doc/pear/turba/INSTALL /usr/share/doc/pear/turba/LDAP /usr/share/doc/pear/turba/LICENSE /usr/share/doc/pear/turba/README /usr/share/doc/pear/turba/RELEASE_NOTES /usr/share/doc/pear/turba/UPGRADING /usr/share/doc/pear/turba/vcf /usr/share/doc/pear/turba/vcf/README /usr/share/doc/pear/turba/vcf/brad.vcf /usr/share/doc/pear/turba/vcf/dimitris.vcf /usr/share/doc/pear/turba/vcf/dwalt.vcf /usr/share/doc/pear/turba/vcf/foo.vcf /usr/share/doc/pear/turba/vcf/larry.vcf /usr/share/doc/pear/turba/vcf/multiple.vcf /usr/share/doc/pear/turba/vcf/palm.vcf /usr/share/doc/pear/turba/vcf/sfg.vcf /usr/share/doc/pear/turba/vcf/test.vcf /usr/share/horde/turba /usr/share/horde/turba/add.php /usr/share/horde/turba/addressbooks /usr/share/horde/turba/addressbooks/create.php /usr/share/horde/turba/addressbooks/delete.php /usr/share/horde/turba/addressbooks/edit.php /usr/share/horde/turba/addressbooks/index.php /usr/share/horde/turba/browse.php /usr/share/horde/turba/config /usr/share/horde/turba/contact.php /usr/share/horde/turba/data.php /usr/share/horde/turba/delete.php /usr/share/horde/turba/deletefile.php /usr/share/horde/turba/edit.php /usr/share/horde/turba/index.php /usr/share/horde/turba/js /usr/share/horde/turba/js/browse.js /usr/share/horde/turba/js/columnprefs.js /usr/share/horde/turba/js/contact_tabs.js /usr/share/horde/turba/js/minisearch.js /usr/share/horde/turba/js/search.js /usr/share/horde/turba/js/smartmobile.js /usr/share/horde/turba/lib /usr/share/horde/turba/lib/Ajax /usr/share/horde/turba/lib/Ajax/Application /usr/share/horde/turba/lib/Ajax/Application.php /usr/share/horde/turba/lib/Ajax/Application/Handler /usr/share/horde/turba/lib/Ajax/Application/Handler/Minisearch.php /usr/share/horde/turba/lib/Ajax/Application/Handler/Smartmobile.php /usr/share/horde/turba/lib/Ajax/Imple /usr/share/horde/turba/lib/Ajax/Imple/TagAutoCompleter.php /usr/share/horde/turba/lib/Api.php /usr/share/horde/turba/lib/Application.php /usr/share/horde/turba/lib/Block /usr/share/horde/turba/lib/Block/Minisearch.php /usr/share/horde/turba/lib/Data /usr/share/horde/turba/lib/Data/Ldif.php /usr/share/horde/turba/lib/Driver /usr/share/horde/turba/lib/Driver.php /usr/share/horde/turba/lib/Driver/Facebook.php /usr/share/horde/turba/lib/Driver/Favourites.php /usr/share/horde/turba/lib/Driver/Group.php /usr/share/horde/turba/lib/Driver/Imsp.php /usr/share/horde/turba/lib/Driver/Kolab.php /usr/share/horde/turba/lib/Driver/Ldap.php /usr/share/horde/turba/lib/Driver/Prefs.php /usr/share/horde/turba/lib/Driver/Share.php /usr/share/horde/turba/lib/Driver/Sql.php /usr/share/horde/turba/lib/Driver/Vbook.php /usr/share/horde/turba/lib/Exception /usr/share/horde/turba/lib/Exception.php /usr/share/horde/turba/lib/Exception/NotSupported.php /usr/share/horde/turba/lib/Exception/ObjectExists.php /usr/share/horde/turba/lib/Factory /usr/share/horde/turba/lib/Factory/Driver.php /usr/share/horde/turba/lib/Factory/Shares.php /usr/share/horde/turba/lib/Factory/Tagger.php /usr/share/horde/turba/lib/Form /usr/share/horde/turba/lib/Form/AddContact.php /usr/share/horde/turba/lib/Form/Contact.php /usr/share/horde/turba/lib/Form/ContactBase.php /usr/share/horde/turba/lib/Form/CreateAddressBook.php /usr/share/horde/turba/lib/Form/DeleteAddressBook.php /usr/share/horde/turba/lib/Form/EditAddressBook.php /usr/share/horde/turba/lib/Form/EditContact.php /usr/share/horde/turba/lib/Form/EditContactGroup.php /usr/share/horde/turba/lib/Form/Type /usr/share/horde/turba/lib/Form/Type/TurbaTags.php /usr/share/horde/turba/lib/List.php /usr/share/horde/turba/lib/LoginTasks /usr/share/horde/turba/lib/LoginTasks/SystemTask /usr/share/horde/turba/lib/LoginTasks/SystemTask/Upgrade.php /usr/share/horde/turba/lib/Object /usr/share/horde/turba/lib/Object.php /usr/share/horde/turba/lib/Object/Group.php /usr/share/horde/turba/lib/Prefs /usr/share/horde/turba/lib/Prefs/Special /usr/share/horde/turba/lib/Prefs/Special/Columnselect.php /usr/share/horde/turba/lib/Smartmobile.php /usr/share/horde/turba/lib/Tagger.php /usr/share/horde/turba/lib/Test.php /usr/share/horde/turba/lib/Turba.php /usr/share/horde/turba/lib/Ui /usr/share/horde/turba/lib/Ui/VarRenderer /usr/share/horde/turba/lib/Ui/VarRenderer/Turba.php /usr/share/horde/turba/lib/View /usr/share/horde/turba/lib/View/Browse.php /usr/share/horde/turba/lib/View/Contact.php /usr/share/horde/turba/lib/View/DeleteContact.php /usr/share/horde/turba/lib/View/Duplicates.php /usr/share/horde/turba/lib/View/EditContact.php /usr/share/horde/turba/lib/View/List /usr/share/horde/turba/lib/View/List.php /usr/share/horde/turba/lib/View/List/AlphaFilter.php /usr/share/horde/turba/lib/View/List/PageFilter.php /usr/share/horde/turba/locale /usr/share/horde/turba/locale/ar /usr/share/horde/turba/locale/ar/LC_MESSAGES /usr/share/horde/turba/locale/ar/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/bg /usr/share/horde/turba/locale/bg/LC_MESSAGES /usr/share/horde/turba/locale/bg/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/ca /usr/share/horde/turba/locale/ca/LC_MESSAGES /usr/share/horde/turba/locale/ca/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/ca/help.xml /usr/share/horde/turba/locale/cs /usr/share/horde/turba/locale/cs/LC_MESSAGES /usr/share/horde/turba/locale/cs/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/da /usr/share/horde/turba/locale/da/LC_MESSAGES /usr/share/horde/turba/locale/da/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/de /usr/share/horde/turba/locale/de/LC_MESSAGES /usr/share/horde/turba/locale/de/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/de/help.xml /usr/share/horde/turba/locale/el /usr/share/horde/turba/locale/el/LC_MESSAGES /usr/share/horde/turba/locale/el/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/en /usr/share/horde/turba/locale/en/help.xml /usr/share/horde/turba/locale/es /usr/share/horde/turba/locale/es/LC_MESSAGES /usr/share/horde/turba/locale/es/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/es/help.xml /usr/share/horde/turba/locale/et /usr/share/horde/turba/locale/et/LC_MESSAGES /usr/share/horde/turba/locale/et/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/eu /usr/share/horde/turba/locale/eu/LC_MESSAGES /usr/share/horde/turba/locale/eu/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/eu/help.xml /usr/share/horde/turba/locale/fa /usr/share/horde/turba/locale/fa/LC_MESSAGES /usr/share/horde/turba/locale/fa/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/fa/help.xml /usr/share/horde/turba/locale/fi /usr/share/horde/turba/locale/fi/LC_MESSAGES /usr/share/horde/turba/locale/fi/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/fi/help.xml /usr/share/horde/turba/locale/fr /usr/share/horde/turba/locale/fr/LC_MESSAGES /usr/share/horde/turba/locale/fr/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/fr/help.xml /usr/share/horde/turba/locale/gl /usr/share/horde/turba/locale/gl/LC_MESSAGES /usr/share/horde/turba/locale/gl/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/hr /usr/share/horde/turba/locale/hr/LC_MESSAGES /usr/share/horde/turba/locale/hr/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/hr/help.xml /usr/share/horde/turba/locale/hu /usr/share/horde/turba/locale/hu/LC_MESSAGES /usr/share/horde/turba/locale/hu/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/is /usr/share/horde/turba/locale/is/LC_MESSAGES /usr/share/horde/turba/locale/is/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/it /usr/share/horde/turba/locale/it/LC_MESSAGES /usr/share/horde/turba/locale/it/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/ja /usr/share/horde/turba/locale/ja/LC_MESSAGES /usr/share/horde/turba/locale/ja/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/ko /usr/share/horde/turba/locale/ko/LC_MESSAGES /usr/share/horde/turba/locale/ko/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/lt /usr/share/horde/turba/locale/lt/LC_MESSAGES /usr/share/horde/turba/locale/lt/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/lv /usr/share/horde/turba/locale/lv/LC_MESSAGES /usr/share/horde/turba/locale/lv/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/lv/help.xml /usr/share/horde/turba/locale/mk /usr/share/horde/turba/locale/mk/LC_MESSAGES /usr/share/horde/turba/locale/mk/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/nb /usr/share/horde/turba/locale/nb/LC_MESSAGES /usr/share/horde/turba/locale/nb/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/nl /usr/share/horde/turba/locale/nl/LC_MESSAGES /usr/share/horde/turba/locale/nl/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/nn /usr/share/horde/turba/locale/nn/LC_MESSAGES /usr/share/horde/turba/locale/nn/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/pl /usr/share/horde/turba/locale/pl/LC_MESSAGES /usr/share/horde/turba/locale/pl/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/pt /usr/share/horde/turba/locale/pt/LC_MESSAGES /usr/share/horde/turba/locale/pt/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/pt/help.xml /usr/share/horde/turba/locale/pt_BR /usr/share/horde/turba/locale/pt_BR/LC_MESSAGES /usr/share/horde/turba/locale/pt_BR/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/pt_BR/help.xml /usr/share/horde/turba/locale/ro /usr/share/horde/turba/locale/ro/LC_MESSAGES /usr/share/horde/turba/locale/ro/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/ru /usr/share/horde/turba/locale/ru/LC_MESSAGES /usr/share/horde/turba/locale/ru/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/sk /usr/share/horde/turba/locale/sk/LC_MESSAGES /usr/share/horde/turba/locale/sk/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/sk/help.xml /usr/share/horde/turba/locale/sl /usr/share/horde/turba/locale/sl/LC_MESSAGES /usr/share/horde/turba/locale/sl/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/sv /usr/share/horde/turba/locale/sv/LC_MESSAGES /usr/share/horde/turba/locale/sv/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/tr /usr/share/horde/turba/locale/tr/LC_MESSAGES /usr/share/horde/turba/locale/tr/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/tr/help.xml /usr/share/horde/turba/locale/uk /usr/share/horde/turba/locale/uk/LC_MESSAGES /usr/share/horde/turba/locale/uk/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/zh_CN /usr/share/horde/turba/locale/zh_CN/LC_MESSAGES /usr/share/horde/turba/locale/zh_CN/LC_MESSAGES/turba.mo /usr/share/horde/turba/locale/zh_TW /usr/share/horde/turba/locale/zh_TW/LC_MESSAGES /usr/share/horde/turba/locale/zh_TW/LC_MESSAGES/turba.mo /usr/share/horde/turba/merge.php /usr/share/horde/turba/migration /usr/share/horde/turba/migration/10_turba_upgrade_categoriestotags.php /usr/share/horde/turba/migration/11_turba_upgrade_parents.php /usr/share/horde/turba/migration/1_turba_base_tables.php /usr/share/horde/turba/migration/2_turba_upgrade_autoincrement.php /usr/share/horde/turba/migration/3_turba_upgrade_sqlng.php /usr/share/horde/turba/migration/4_turba_upgrade_sqlhierarchical.php /usr/share/horde/turba/migration/5_turba_upgrade_sqlnghierarchical.php /usr/share/horde/turba/migration/6_turba_upgrade_updateschema.php /usr/share/horde/turba/migration/7_turba_upgrade_activesyncschema.php /usr/share/horde/turba/migration/8_turba_fix_blob_length.php /usr/share/horde/turba/migration/9_turba_upgrade_schema.php /usr/share/horde/turba/search.php /usr/share/horde/turba/smartmobile.php /usr/share/horde/turba/templates /usr/share/horde/turba/templates/block /usr/share/horde/turba/templates/block/minisearch.inc /usr/share/horde/turba/templates/browse /usr/share/horde/turba/templates/browse/actions.inc /usr/share/horde/turba/templates/browse/column_footers.inc /usr/share/horde/turba/templates/browse/column_headers.inc /usr/share/horde/turba/templates/browse/header.inc /usr/share/horde/turba/templates/browse/row.inc /usr/share/horde/turba/templates/data /usr/share/horde/turba/templates/data/export.inc /usr/share/horde/turba/templates/data/import.inc /usr/share/horde/turba/templates/list /usr/share/horde/turba/templates/list/alphaPager.inc /usr/share/horde/turba/templates/list/numPager.inc /usr/share/horde/turba/templates/prefs /usr/share/horde/turba/templates/prefs/column.html /usr/share/horde/turba/templates/search /usr/share/horde/turba/templates/search/advanced.html.php /usr/share/horde/turba/templates/search/basic.html.php /usr/share/horde/turba/templates/search/duplicate /usr/share/horde/turba/templates/search/duplicate.html.php /usr/share/horde/turba/templates/search/duplicate/contact_footer.html.php /usr/share/horde/turba/templates/search/duplicate/contact_header.html.php /usr/share/horde/turba/templates/search/duplicate/footer.html.php /usr/share/horde/turba/templates/search/duplicate/header.html.php /usr/share/horde/turba/templates/search/duplicate/list.html.php /usr/share/horde/turba/templates/search/footer.html.php /usr/share/horde/turba/templates/search/header.html.php /usr/share/horde/turba/templates/search/vbook.html.php /usr/share/horde/turba/templates/smartmobile /usr/share/horde/turba/templates/smartmobile/browse.html.php /usr/share/horde/turba/templates/smartmobile/entry.html.php /usr/share/horde/turba/templates/test /usr/share/horde/turba/templates/test/ldapserver.inc /usr/share/horde/turba/themes /usr/share/horde/turba/themes/default /usr/share/horde/turba/themes/default/block /usr/share/horde/turba/themes/default/block/screen.css /usr/share/horde/turba/themes/default/graphics /usr/share/horde/turba/themes/default/graphics/az.png /usr/share/horde/turba/themes/default/graphics/az_secondary.png /usr/share/horde/turba/themes/default/graphics/contact.png /usr/share/horde/turba/themes/default/graphics/delete.png /usr/share/horde/turba/themes/default/graphics/edit.png /usr/share/horde/turba/themes/default/graphics/favicon.ico /usr/share/horde/turba/themes/default/graphics/group.png /usr/share/horde/turba/themes/default/graphics/loading.gif /usr/share/horde/turba/themes/default/graphics/menu /usr/share/horde/turba/themes/default/graphics/menu/browse.png /usr/share/horde/turba/themes/default/graphics/menu/new.png /usr/share/horde/turba/themes/default/graphics/mime /usr/share/horde/turba/themes/default/graphics/mime/vcard.png /usr/share/horde/turba/themes/default/graphics/new.png /usr/share/horde/turba/themes/default/graphics/search.png /usr/share/horde/turba/themes/default/graphics/turba.png /usr/share/horde/turba/themes/default/graphics/za.png /usr/share/horde/turba/themes/default/graphics/za_secondary.png /usr/share/horde/turba/themes/default/screen.css /usr/share/horde/turba/themes/default/smartmobile /usr/share/horde/turba/themes/default/smartmobile/screen.css /usr/share/horde/turba/vcard.php /usr/share/horde/turba/view.php /usr/share/pear-data/turba /usr/share/pear-data/turba/scripts /usr/share/pear-data/turba/scripts/Turba.reg /usr/share/pear-data/turba/scripts/ldap /usr/share/pear-data/turba/scripts/ldap/addou /usr/share/pear-data/turba/scripts/ldap/addou.pl /usr/share/tests/pear/turba /usr/share/tests/pear/turba/Turba /usr/share/tests/pear/turba/Turba/AllTests.php /usr/share/tests/pear/turba/Turba/Autoload.php /usr/share/tests/pear/turba/Turba/Stub /usr/share/tests/pear/turba/Turba/Stub/Hooks.php /usr/share/tests/pear/turba/Turba/TestCase.php /usr/share/tests/pear/turba/Turba/ToDo /usr/share/tests/pear/turba/Turba/ToDo/ApiTest.php /usr/share/tests/pear/turba/Turba/ToDo/BrowsePageTest.php /usr/share/tests/pear/turba/Turba/ToDo/DriverTest.php /usr/share/tests/pear/turba/Turba/ToDo/GroupTest.php /usr/share/tests/pear/turba/Turba/ToDo/KolabTest.php /usr/share/tests/pear/turba/Turba/ToDo/KolabTestBase.php /usr/share/tests/pear/turba/Turba/ToDo/ListTest.php /usr/share/tests/pear/turba/Turba/ToDo/ListViewTest.php /usr/share/tests/pear/turba/Turba/ToDo/TestBase.php /usr/share/tests/pear/turba/Turba/ToDo/ViewBrowseTest.php /usr/share/tests/pear/turba/Turba/ToDo/ViewListTest.php /usr/share/tests/pear/turba/Turba/Unit /usr/share/tests/pear/turba/Turba/Unit/Driver /usr/share/tests/pear/turba/Turba/Unit/Driver/Base.php /usr/share/tests/pear/turba/Turba/Unit/Driver/KolabTest.php /usr/share/tests/pear/turba/Turba/Unit/Driver/Sql /usr/share/tests/pear/turba/Turba/Unit/Driver/Sql/Base.php /usr/share/tests/pear/turba/Turba/Unit/Driver/Sql/Pdo /usr/share/tests/pear/turba/Turba/Unit/Driver/Sql/Pdo/SqliteTest.php /usr/share/tests/pear/turba/Turba/Unit/ExportTest.php /usr/share/tests/pear/turba/Turba/Unit/ImportTest.php /usr/share/tests/pear/turba/Turba/Unit/LdifTest.php /usr/share/tests/pear/turba/Turba/Unit/Turba /usr/share/tests/pear/turba/Turba/Unit/Turba/Base.php /usr/share/tests/pear/turba/Turba/Unit/Turba/KolabTest.php /usr/share/tests/pear/turba/Turba/Unit/Turba/Sql /usr/share/tests/pear/turba/Turba/Unit/Turba/Sql/Base.php /usr/share/tests/pear/turba/Turba/Unit/Turba/Sql/Pdo /usr/share/tests/pear/turba/Turba/Unit/Turba/Sql/Pdo/SqliteTest.php /usr/share/tests/pear/turba/Turba/bootstrap.php /usr/share/tests/pear/turba/Turba/fixtures /usr/share/tests/pear/turba/Turba/fixtures/az.png /usr/share/tests/pear/turba/Turba/fixtures/bug_6518.ldif /usr/share/tests/pear/turba/Turba/fixtures/export.ldif /usr/share/tests/pear/turba/Turba/fixtures/import.ldif /usr/share/tests/pear/turba/Turba/fixtures/importCRLF.ldif /usr/share/tests/pear/turba/Turba/phpunit.xml /var/lib/pear/pkgxml/php-horde-turba.xml
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.
Die mitgelieferte Konfigurationsdatei backends.php lassen wir unangetastet. Die Konfiguration nehmen wir über die lokale Kopie backends.local.php vor.
# cp -a /etc/horde/turba/backends.php /etc/horde/turba/backends.local.php
Die Personalisierung der Anzeigen sind in der Konfigurationsdatei mit dem Bearbeiter Django und dem Datum gekennzeichnet.
# vim /etc/horde/turba/backends.local.php
<?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 'vhosts' setting has been enabled in Horde's configuration, you can * 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['localldap']['disabled'] = false; * $cfgSources['localldap']['params']['server'] = 'localhost'; * $cfgSources['localldap']['params']['root'] = 'cn=contacts,dc=horde,dc=org'; * $cfgSources['localldap']['params']['bind_dn'] = 'cn=admin,ou=users,dc=horde,dc=org'; * $cfgSources['localldap']['params']['bind_password'] = 'somesecret'; * $cfgSources['localsql']['map']['homeAddress'] = array( * 'fields' => array( * 'homeStreet', * 'homePostalCode', * 'homeCity', * 'homeCountry' * ), * 'format' => "%s\n%s %s\n%s" * ); * * 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 * displayed in the contact source drop-down box. * * type: (string) The types 'ldap', 'sql', 'kolab', 'imsp', 'group', * 'favourites' and 'prefs' are currently supported. Kolab address books * can be used with any IMAP server that supports METADATA. * Preferences-based address books are not intended for production * installs unless you really know what you're doing - they are not * searchable, and they won't scale well if a user has a large number of * entries. * * params: (array) These are the connection parameters specific to the contact * source. * * General settings: * - charset: (string) The character set that the backend stores * data in. Many LDAP servers use utf-8. Database servers * typically use iso-8859-1. * - filter: (string) Filter your result based on certain condition * in SQL and LDAP backends. A filter can be specified to * avoid some unwanted data. For example, if the source is * an external SQL database, to select records with the * delete flag = 0: 'filter' => 'deleted=0'. * Don't enclose 'filter' in brackets - this will done * automatically. Also keep in mind that a full filter * line will be built from 'filter' and 'objectclass' * parameters. * * Settings that only apply to LDAP servers: * - bind_dn: (string) Only applies to LDAP servers which do not * allow anonymous connections. Active Directory servers * do not allow it by default, so before using one as a * Turba source, you must create a "rightless" user, * which is only allowed to connect to the server, and * set the 'bind_dn' parameter like * 'rightless@example.com' (not * 'cn=rightless,dc=example,dc=com'). * - bind_password: (string) Only applies to LDAP servers which do * not allow anonymous connection. You should set * this to the cleartext password for the user * specified in 'bind_dn'. * - checkrequired: (boolean) If true, consult the LDAP schema for * any attributes that are required by the given * objectclass(es). Required attributes will be * provided automatically if the * 'checkrequired_string' parameter is present. * - checksyntax: (boolean) If present, inspect the LDAP schema for * particular attributes by the type defined in the * corresponding schema. * - deref: (integer) One of: * - LDAP_DEREF_NEVER * - LDAP_DEREF_SEARCHING * - LDAP_DEREF_FINDING * - LDAP_DEREF_ALWAYS * This setting tells the LDAP server when to dereference * aliases. See http://www.php.net/ldap for more * information. * - dn: (array) Defines the list of LDAP attributes that build a * valid DN. * - objectclass: (array) Defines a list of objectclasses that * contacts must belong to, and that new objects will * be created with. * - referrals: (integer) Either 0 or 1. See the LDAP documentation * about the corresponding parameter REFERRALS. Windows * 2003 Server requires that you set this parameter to * 0. * - root: (string) Defines the base DN where to start the search * (i.e. dc=example,dc=com). * - scope: (string) Can be set to 'one' to search one level of the * LDAP directory, or 'sub' to search all levels. 'one' * will work for most setups and should be much faster. * However we default to 'sub' for backwards compatibility. * - sizelimit: (integer) Limit the search to this number of * entries. Empty value or 0 means no limit. Keep in * mind that servers can impose their own search * limits. * - tls: (boolean) If true, try to use a TLS connection to the * server. * - version: (integer) Specifies LDAP server version: either 2 or * 3. Active Directory servers require version 3. * * map: (array) A list of mappings from the Turba attribute names (keys) to * the attribute names by which they are known in this contact * source (values). * * Turba also supports composite fields. A composite field is * defined by mapping the field name to an array containing a * list of component fields and a format string (similar to a * printf() format string; however, note that positioned * parameters like %1$s will NOT work). * * 'attribute' defines where the composed value is saved, and is * optional. * * 'parse' defines a list of format strings and field names that * should be used for splitting up composite fields, in the order * of precedence, and is optional. * * An example: * ... * 'name' => array( * 'fields' => array('firstname', 'lastname'), * 'format' => '%s %s', * 'attribute' => 'object_name' * ), * 'firstname' => 'object_firstname', * 'lastname' => 'object_lastname', * ... * * Standard Turba attributes are: * - __key: [REQUIRED] A backend-specific ID for the entry (any * value as long as it is unique inside that source). * - __members: Serialized PHP array with list of Group * members. * - __owner: User name of the contact's owner * - __type: Either 'Object' or 'Group' * - __uid: Globally unique ID of the entry (used for * synchronizing and must be able to be set to any * value). * * More Turba attributes are defined in config/attributes.php. * * tabs: (array) All fields can be grouped into tabs with this optional entry. * This list is multidimensional hash; keys are the tab titles. * * Example: * 'tabs' => array( * 'Addresses' => array( * 'homeAddress', * 'workAddress' * ), * 'Names' => array( * 'firstname', * 'lastname', * 'alias' * ) * ); * * search: (array) A list of Turba attribute names that can be searched for * this source. * * strict: (array) A list of native field/attribute names that must always be * matched exactly in a search. * * approximate: (array) Only applies to LDAP servers. If set, should be an * array of native field/attribute names to search * "approximately" (for example, "S�nchez", "Sanchez", and * "Sanch�z" will all match a search string of "sanchez"). * * export: (boolean) If true, this source will appear on the Export menu, * allowing users to export the contacts to a CSV (etc.) file. * * browse: (boolean) If true, this source will be browseable via the Browse * menu item, and empty searches against the source will return all * contacts. * * use_shares: (boolean) If true, Horde_Share functionality will be enabled * for this source - allowing users to share their personal * address books as well as to create new ones. * * Since Turba only supports having one backend configured for * creating new shares, use the 'shares' configuration option to * specify which backend will be used for creating new shares. All * permission checking will be done against Horde_Share, but note * that any 'extended' permissions (such as max_contacts) will * still be enforced. Also note that the backend driver must have * support for using this. Supported: SQL, IMAP/Kolab, and IMSP. * * all_shares: (boolean) If true (and 'use_shares' is true) the corresponding * source will be assumed to handle all shares that are not * explicitly assigned to another source. Supported: IMAP/Kolab. * * list_name_field: (string) Taken as the field to store contact list names * in. This is required when using a composite field as the * 'name' field. * * alternative_name: (string) Taken as the field to use an alternative in case * the name field is empty. */ /* LOCALSQL */ // Django : 2014-09-12 Adressbuch personalisiert // default: 'title' => _("Shared Address Books"), $cfgSources['localsql']['disabled'] = false; // ENABLED by default // Django : 2014-09-12 Adressbuch (Favoriten) deaktiviert $cfgSources['favourites']['disabled'] = true; $cfgSources['favourites']['title'] = _("pers. Adressbuch (Favoriten)");
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
# Django : 2014-09-15 # default: <DirectoryMatch /usr/share/horde/turba/(config|lib|locale|scripts|templates)> # Deny from all # </DirectoryMatch> # # Wird über die nachfolgende Directive in der globalen vHost-Konfigurationsdatei von Horde erledigt: # # # Deny access to directories that are not served directly by the webserver # <DirectoryMatch "^/usr/shared/horde/(.*/)?(config|lib|locale|po|scripts|templates)/(.*)?"> # Require all denied # </DirectoryMatch>
Anschließend reloaden wir den Apache-Daemon einmal.
# systemctl reload httpd.service
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/
Da wir die Anwendung Turba 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 Update all DB schemas.
Nun fehlt nur noch die Konfiguration vom Adressbuch Turba, diese legen wir nun an, in dem wir auf den Punkt Address Book (turba) klicken.
Hier erfolgt nun die Konfiguration der Horde-Applikation Turba.
$conf[menu][import_export] [✔]
$conf[client][addressbook] None
$conf[gal][addressbook] None
$conf[shares][source] localsql
$conf[comments][allow] [✔]
$conf[documents][type] Horde defaults
Am Ende unserer Konfigurationsarbeit, sichern wir die Konfiguration mit einem Klick auf die Schaltfläche . Die erfolgreiche Sicherung wird uns entsprechend angezeigt.