Inhaltsverzeichnis
Horde5 - Ingo
Horde Groupware ist eine freie, für den professionellen Einsatz, Browser basierte Kommunikationsanwendung. Benutzer können e-Mails lesen, versenden und verwalten. Es können gemeinsam genutzte Kalender, Kontakte, Aufgaben und Notizen mit Standard Komponenten des Horde-Projekts realisiert werden.
Horde - Ingo ist der Horde-Filterregelmanager (Filter-Regeln (Sieve), Positiv- und Negativlisten und Abwesenheitsnachrichten (vacation)).
Beschreibung | Externer Link |
---|---|
Homepage | http://www.horde.org/apps/ingo |
Dokumentation | http://www.horde.org/apps/ingo/docs |
Installation | http://www.horde.org/apps/ingo/docs/INSTALL |
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Voraussetzungen
Als Voraussetzung für die Installation von Horde - Ingo sind folgende Komponenten erforderlich:
- Lauffähiger Web-Server z.B. Apache HTTP Server
- Siehe auch den internen Link: Apache HTTP Server CentOS 7
- Lauffähiger Datenbank-Server z.B. MariaDB
- Siehe auch den internen Link: MariaDB CentOS 7
- Lauffähiger IMAP-Server z.B. Dovecot
- Siehe auch den internen Link: Dovecot CentOS 7
- Installiertes und lauffähiges Horde Framework
- Siehe auch den internen Link: Horde5 Framework
Vorbereitung
HINWEIS - Nachfolgende Installation soll grundsätzlich unter Zuhilfenahme von rpm
-Pakten aus dem EPEL-Repository erfolgen und nicht ausschließlich, wie in der Originalanleitung, über eine PEAR Installation erfolgen !!!
Zur Installation von Horde über rpm
-Pakete, muss nachfolgendes Repository genutzt bzw. eingebunden werden:
- EPEL-Repository
Repository: EPEL
Nachfolgende Beschreibung bindet das Drittanbieter-Repository von EPEL ein:
- Siehe nachfolgenden internen Link: EPEL CentOS 7
Installation
php-horde-ingo
Nachdem das Drittanbieter-Repository
- EPEL-Repository
erfolgreich eingebunden wurde, kann mit nachfolgendem Befehl, das rpm-Paket - php-horde-ingo
installiert werden:
# yum install php-horde-ingo ... Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit dem Paket php-horde-ingo
installiert wurden.
# rpm -qil php-horde-ingo Name : php-horde-ingo Version : 3.2.10 Release : 1.el7 Architecture: noarch Install Date: Wed 04 May 2016 02:56:14 PM CEST Group : Development/Libraries Size : 1460548 License : BSD Signature : RSA/SHA256, Wed 06 Apr 2016 01:48:04 PM CEST, Key ID 6a2faea2352c64e5 Source RPM : php-horde-ingo-3.2.10-1.el7.src.rpm Build Date : Wed 06 Apr 2016 09:05:12 AM CEST Build Host : buildppc-02.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.horde.org/apps/ingo Summary : An email filter rules manager Description : Ingo is an email-filter management application. It is fully internationalized, integrated with Horde and the IMP Webmail client, and supports both server-side (Sieve, Procmail, Maildrop) and client-side (IMAP) message filtering. /etc/horde/ingo /etc/horde/ingo/backends.php /etc/horde/ingo/conf.xml /etc/horde/ingo/fields.php /etc/horde/ingo/hooks.php.dist /etc/horde/ingo/prefs.php /etc/httpd/conf.d/php-horde-ingo.conf /usr/bin/ingo-admin-upgrade /usr/bin/ingo-convert-prefs-to-sql /usr/bin/ingo-convert-sql-shares-to-sqlng /usr/bin/ingo-postfix-policyd /usr/share/doc/pear/ingo /usr/share/doc/pear/ingo/CHANGES /usr/share/doc/pear/ingo/CREDITS /usr/share/doc/pear/ingo/INSTALL /usr/share/doc/pear/ingo/LICENSE /usr/share/doc/pear/ingo/README /usr/share/doc/pear/ingo/RELEASE_NOTES /usr/share/doc/pear/ingo/TODO /usr/share/doc/pear/ingo/UPGRADING /usr/share/horde/ingo /usr/share/horde/ingo/basic.php /usr/share/horde/ingo/config /usr/share/horde/ingo/index.php /usr/share/horde/ingo/js /usr/share/horde/ingo/js/blacklist.js /usr/share/horde/ingo/js/filters.js /usr/share/horde/ingo/js/new_folder.js /usr/share/horde/ingo/js/rule.js /usr/share/horde/ingo/js/smartmobile.js /usr/share/horde/ingo/js/whitelist.js /usr/share/horde/ingo/lib /usr/share/horde/ingo/lib/Ajax /usr/share/horde/ingo/lib/Ajax/Application /usr/share/horde/ingo/lib/Ajax/Application.php /usr/share/horde/ingo/lib/Ajax/Application/Filters.php /usr/share/horde/ingo/lib/Ajax/Application/Smartmobile.php /usr/share/horde/ingo/lib/Api.php /usr/share/horde/ingo/lib/Application.php /usr/share/horde/ingo/lib/Basic /usr/share/horde/ingo/lib/Basic/Base.php /usr/share/horde/ingo/lib/Basic/Blacklist.php /usr/share/horde/ingo/lib/Basic/Filters.php /usr/share/horde/ingo/lib/Basic/Forward.php /usr/share/horde/ingo/lib/Basic/Rule.php /usr/share/horde/ingo/lib/Basic/Script.php /usr/share/horde/ingo/lib/Basic/Spam.php /usr/share/horde/ingo/lib/Basic/Vacation.php /usr/share/horde/ingo/lib/Basic/Whitelist.php /usr/share/horde/ingo/lib/Block /usr/share/horde/ingo/lib/Block/Overview.php /usr/share/horde/ingo/lib/Exception /usr/share/horde/ingo/lib/Exception.php /usr/share/horde/ingo/lib/Exception/Pear.php /usr/share/horde/ingo/lib/Factory /usr/share/horde/ingo/lib/Factory/Script.php /usr/share/horde/ingo/lib/Factory/Shares.php /usr/share/horde/ingo/lib/Factory/Storage.php /usr/share/horde/ingo/lib/Factory/Transport.php /usr/share/horde/ingo/lib/Flist.php /usr/share/horde/ingo/lib/Form /usr/share/horde/ingo/lib/Form/Base.php /usr/share/horde/ingo/lib/Form/Forward.php /usr/share/horde/ingo/lib/Form/Spam.php /usr/share/horde/ingo/lib/Form/Type /usr/share/horde/ingo/lib/Form/Type/Longemail.php /usr/share/horde/ingo/lib/Form/Vacation.php /usr/share/horde/ingo/lib/Ingo.php /usr/share/horde/ingo/lib/LoginTasks /usr/share/horde/ingo/lib/LoginTasks/SystemTask /usr/share/horde/ingo/lib/LoginTasks/SystemTask/Upgrade.php /usr/share/horde/ingo/lib/Perms.php /usr/share/horde/ingo/lib/Script /usr/share/horde/ingo/lib/Script/Base.php /usr/share/horde/ingo/lib/Script/Customsql.php /usr/share/horde/ingo/lib/Script/Imap /usr/share/horde/ingo/lib/Script/Imap.php /usr/share/horde/ingo/lib/Script/Imap/Api.php /usr/share/horde/ingo/lib/Script/Imap/Live.php /usr/share/horde/ingo/lib/Script/Imap/Mock.php /usr/share/horde/ingo/lib/Script/Ispconfig /usr/share/horde/ingo/lib/Script/Ispconfig.php /usr/share/horde/ingo/lib/Script/Ispconfig/Vacation.php /usr/share/horde/ingo/lib/Script/Item.php /usr/share/horde/ingo/lib/Script/Maildrop /usr/share/horde/ingo/lib/Script/Maildrop.php /usr/share/horde/ingo/lib/Script/Maildrop/Comment.php /usr/share/horde/ingo/lib/Script/Maildrop/Recipe.php /usr/share/horde/ingo/lib/Script/Maildrop/Variable.php /usr/share/horde/ingo/lib/Script/Procmail /usr/share/horde/ingo/lib/Script/Procmail.php /usr/share/horde/ingo/lib/Script/Procmail/Comment.php /usr/share/horde/ingo/lib/Script/Procmail/Default.php /usr/share/horde/ingo/lib/Script/Procmail/Recipe.php /usr/share/horde/ingo/lib/Script/Procmail/Variable.php /usr/share/horde/ingo/lib/Script/Sieve /usr/share/horde/ingo/lib/Script/Sieve.php /usr/share/horde/ingo/lib/Script/Sieve/Action /usr/share/horde/ingo/lib/Script/Sieve/Action.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Addflag.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Discard.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Fileinto.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Flag.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Keep.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Notify.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Redirect.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Reject.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Removeflag.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Stop.php /usr/share/horde/ingo/lib/Script/Sieve/Action/Vacation.php /usr/share/horde/ingo/lib/Script/Sieve/Comment.php /usr/share/horde/ingo/lib/Script/Sieve/Else.php /usr/share/horde/ingo/lib/Script/Sieve/Elsif.php /usr/share/horde/ingo/lib/Script/Sieve/If.php /usr/share/horde/ingo/lib/Script/Sieve/Require.php /usr/share/horde/ingo/lib/Script/Sieve/Test /usr/share/horde/ingo/lib/Script/Sieve/Test.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Address.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Allof.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Anyof.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Body.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Exists.php /usr/share/horde/ingo/lib/Script/Sieve/Test/False.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Header.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Not.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Relational.php /usr/share/horde/ingo/lib/Script/Sieve/Test/Size.php /usr/share/horde/ingo/lib/Script/Sieve/Test/True.php /usr/share/horde/ingo/lib/Script/String.php /usr/share/horde/ingo/lib/Script/Util.php /usr/share/horde/ingo/lib/Session.php /usr/share/horde/ingo/lib/Smartmobile.php /usr/share/horde/ingo/lib/Storage /usr/share/horde/ingo/lib/Storage.php /usr/share/horde/ingo/lib/Storage/Blacklist.php /usr/share/horde/ingo/lib/Storage/Filters /usr/share/horde/ingo/lib/Storage/Filters.php /usr/share/horde/ingo/lib/Storage/Filters/Sql.php /usr/share/horde/ingo/lib/Storage/Forward.php /usr/share/horde/ingo/lib/Storage/Mock.php /usr/share/horde/ingo/lib/Storage/Prefs.php /usr/share/horde/ingo/lib/Storage/Rule.php /usr/share/horde/ingo/lib/Storage/Spam.php /usr/share/horde/ingo/lib/Storage/Sql.php /usr/share/horde/ingo/lib/Storage/Vacation.php /usr/share/horde/ingo/lib/Storage/VacationTest.php /usr/share/horde/ingo/lib/Storage/Whitelist.php /usr/share/horde/ingo/lib/Test.php /usr/share/horde/ingo/lib/Transport /usr/share/horde/ingo/lib/Transport/Base.php /usr/share/horde/ingo/lib/Transport/Ispconfig.php /usr/share/horde/ingo/lib/Transport/Ldap.php /usr/share/horde/ingo/lib/Transport/Null.php /usr/share/horde/ingo/lib/Transport/Sivtest.php /usr/share/horde/ingo/lib/Transport/Sql.php /usr/share/horde/ingo/lib/Transport/Timsieved.php /usr/share/horde/ingo/lib/Transport/Vfs.php /usr/share/horde/ingo/lib/Ui /usr/share/horde/ingo/lib/Ui/VarRenderer /usr/share/horde/ingo/lib/Ui/VarRenderer/Ingo.php /usr/share/horde/ingo/locale /usr/share/horde/ingo/locale/ca /usr/share/horde/ingo/locale/ca/LC_MESSAGES /usr/share/horde/ingo/locale/ca/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/ca/help.xml /usr/share/horde/ingo/locale/cs /usr/share/horde/ingo/locale/cs/LC_MESSAGES /usr/share/horde/ingo/locale/cs/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/da /usr/share/horde/ingo/locale/da/LC_MESSAGES /usr/share/horde/ingo/locale/da/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/de /usr/share/horde/ingo/locale/de/LC_MESSAGES /usr/share/horde/ingo/locale/de/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/de/help.xml /usr/share/horde/ingo/locale/el /usr/share/horde/ingo/locale/el/LC_MESSAGES /usr/share/horde/ingo/locale/el/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/en /usr/share/horde/ingo/locale/en/help.xml /usr/share/horde/ingo/locale/es /usr/share/horde/ingo/locale/es/LC_MESSAGES /usr/share/horde/ingo/locale/es/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/es/help.xml /usr/share/horde/ingo/locale/et /usr/share/horde/ingo/locale/et/LC_MESSAGES /usr/share/horde/ingo/locale/et/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/eu /usr/share/horde/ingo/locale/eu/LC_MESSAGES /usr/share/horde/ingo/locale/eu/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/eu/help.xml /usr/share/horde/ingo/locale/fi /usr/share/horde/ingo/locale/fi/LC_MESSAGES /usr/share/horde/ingo/locale/fi/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/fi/help.xml /usr/share/horde/ingo/locale/fr /usr/share/horde/ingo/locale/fr/LC_MESSAGES /usr/share/horde/ingo/locale/fr/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/fr/help.xml /usr/share/horde/ingo/locale/gl /usr/share/horde/ingo/locale/gl/LC_MESSAGES /usr/share/horde/ingo/locale/gl/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/hr /usr/share/horde/ingo/locale/hr/LC_MESSAGES /usr/share/horde/ingo/locale/hr/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/hr/help.xml /usr/share/horde/ingo/locale/hu /usr/share/horde/ingo/locale/hu/LC_MESSAGES /usr/share/horde/ingo/locale/hu/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/it /usr/share/horde/ingo/locale/it/LC_MESSAGES /usr/share/horde/ingo/locale/it/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/ja /usr/share/horde/ingo/locale/ja/LC_MESSAGES /usr/share/horde/ingo/locale/ja/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/ko /usr/share/horde/ingo/locale/ko/LC_MESSAGES /usr/share/horde/ingo/locale/ko/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/lt /usr/share/horde/ingo/locale/lt/LC_MESSAGES /usr/share/horde/ingo/locale/lt/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/lv /usr/share/horde/ingo/locale/lv/LC_MESSAGES /usr/share/horde/ingo/locale/lv/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/lv/help.xml /usr/share/horde/ingo/locale/nb /usr/share/horde/ingo/locale/nb/LC_MESSAGES /usr/share/horde/ingo/locale/nb/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/nl /usr/share/horde/ingo/locale/nl/LC_MESSAGES /usr/share/horde/ingo/locale/nl/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/pl /usr/share/horde/ingo/locale/pl/LC_MESSAGES /usr/share/horde/ingo/locale/pl/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/pt /usr/share/horde/ingo/locale/pt/LC_MESSAGES /usr/share/horde/ingo/locale/pt/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/pt_BR /usr/share/horde/ingo/locale/pt_BR/LC_MESSAGES /usr/share/horde/ingo/locale/pt_BR/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/ro /usr/share/horde/ingo/locale/ro/LC_MESSAGES /usr/share/horde/ingo/locale/ro/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/ru /usr/share/horde/ingo/locale/ru/LC_MESSAGES /usr/share/horde/ingo/locale/ru/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/sk /usr/share/horde/ingo/locale/sk/LC_MESSAGES /usr/share/horde/ingo/locale/sk/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/sl /usr/share/horde/ingo/locale/sl/LC_MESSAGES /usr/share/horde/ingo/locale/sl/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/sv /usr/share/horde/ingo/locale/sv/LC_MESSAGES /usr/share/horde/ingo/locale/sv/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/tr /usr/share/horde/ingo/locale/tr/LC_MESSAGES /usr/share/horde/ingo/locale/tr/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/uk /usr/share/horde/ingo/locale/uk/LC_MESSAGES /usr/share/horde/ingo/locale/uk/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/zh_CN /usr/share/horde/ingo/locale/zh_CN/LC_MESSAGES /usr/share/horde/ingo/locale/zh_CN/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/locale/zh_TW /usr/share/horde/ingo/locale/zh_TW/LC_MESSAGES /usr/share/horde/ingo/locale/zh_TW/LC_MESSAGES/ingo.mo /usr/share/horde/ingo/migration /usr/share/horde/ingo/migration/1_ingo_base_tables.php /usr/share/horde/ingo/migration/2_ingo_upgrade_autoincrement.php /usr/share/horde/ingo/migration/3_ingo_upgrade_sqlng.php /usr/share/horde/ingo/migration/4_ingo_upgrade_sqlhierarchical.php /usr/share/horde/ingo/migration/5_ingo_upgrade_sqlnghierarchical.php /usr/share/horde/ingo/migration/6_ingo_upgrade_parents.php /usr/share/horde/ingo/migration/7_ingo_fix_rule_order.php /usr/share/horde/ingo/smartmobile.php /usr/share/horde/ingo/templates /usr/share/horde/ingo/templates/basic /usr/share/horde/ingo/templates/basic/blacklist /usr/share/horde/ingo/templates/basic/blacklist/blacklist.html.php /usr/share/horde/ingo/templates/basic/filters /usr/share/horde/ingo/templates/basic/filters/filters.html.php /usr/share/horde/ingo/templates/basic/menu /usr/share/horde/ingo/templates/basic/menu/menu.html.php /usr/share/horde/ingo/templates/basic/rule /usr/share/horde/ingo/templates/basic/rule/rule.html.php /usr/share/horde/ingo/templates/basic/script /usr/share/horde/ingo/templates/basic/script/_script.html.php /usr/share/horde/ingo/templates/basic/script/script.html.php /usr/share/horde/ingo/templates/basic/whitelist /usr/share/horde/ingo/templates/basic/whitelist/whitelist.html.php /usr/share/horde/ingo/templates/flist /usr/share/horde/ingo/templates/flist/input.html.php /usr/share/horde/ingo/templates/flist/select.html.php /usr/share/horde/ingo/templates/smartmobile /usr/share/horde/ingo/templates/smartmobile/rule.html.php /usr/share/horde/ingo/templates/smartmobile/rules.html.php /usr/share/horde/ingo/themes /usr/share/horde/ingo/themes/default /usr/share/horde/ingo/themes/default/block /usr/share/horde/ingo/themes/default/block/screen.css /usr/share/horde/ingo/themes/default/graphics /usr/share/horde/ingo/themes/default/graphics/blacklist.png /usr/share/horde/ingo/themes/default/graphics/copy.png /usr/share/horde/ingo/themes/default/graphics/disable.png /usr/share/horde/ingo/themes/default/graphics/enable.png /usr/share/horde/ingo/themes/default/graphics/favicon.ico /usr/share/horde/ingo/themes/default/graphics/forward.png /usr/share/horde/ingo/themes/default/graphics/ingo.png /usr/share/horde/ingo/themes/default/graphics/script.png /usr/share/horde/ingo/themes/default/graphics/spam.png /usr/share/horde/ingo/themes/default/graphics/vacation.png /usr/share/horde/ingo/themes/default/graphics/whitelist.png /usr/share/horde/ingo/themes/default/screen.css /usr/share/horde/ingo/themes/default/smartmobile /usr/share/horde/ingo/themes/default/smartmobile/screen.css /usr/share/tests/pear/ingo /usr/share/tests/pear/ingo/Ingo /usr/share/tests/pear/ingo/Ingo/AllTests.php /usr/share/tests/pear/ingo/Ingo/Autoload.php /usr/share/tests/pear/ingo/Ingo/Unit /usr/share/tests/pear/ingo/Ingo/Unit/MaildropTest.php /usr/share/tests/pear/ingo/Ingo/Unit/ProcmailTest.php /usr/share/tests/pear/ingo/Ingo/Unit/ScriptTest.php /usr/share/tests/pear/ingo/Ingo/Unit/SieveTest.php /usr/share/tests/pear/ingo/Ingo/Unit/TestBase.php /usr/share/tests/pear/ingo/Ingo/bootstrap.php /usr/share/tests/pear/ingo/Ingo/fixtures /usr/share/tests/pear/ingo/Ingo/fixtures/from_spammer /usr/share/tests/pear/ingo/Ingo/fixtures/not_from_spammer /usr/share/tests/pear/ingo/Ingo/phpunit.xml /var/lib/pear/pkgxml/php-horde-ingo.xml
Konfiguration: Webserver
Nachfolgende Konfigurationen sind durchzuführen um den Apache HTTP Server in Bezug auf Horde Groupware Turba anzupassen.
Quelle | Link |
---|---|
Horde - Ingo - Konfiguration | http://www.horde.org/apps/ingo/docs/INSTALL |
/etc/httpd/conf.d/php-horde-ingo.conf
WICHTIG - Die Änderungen sind nicht in der Konfigurationsdatei
/etc/httpd/conf.d/php-horde-ingo.conf
durchzuführen, sondern es soll ein
- eigener VHOST für Horde Groupware
erstellt werden!
HINWEIS - Alle Inhalte in der Konfigurationsdatei
/etc/httpd/conf.d/php-horde-ingo.conf
sollten auskommentiert werden, wie nachfolgend dargestellt:
# Tachtler - DISABLED - #<DirectoryMatch /usr/share/horde/ingo/(config|lib|locale|templates)> # Deny from all #</DirectoryMatch>
Anschließend, die Ergänzungen in der Konfigurationsdatei:
/etc/httpd/conf.d/php-horde-horde.conf
# # horde.tachtler.net (Horde Groupware) # <VirtualHost *:80> ServerAdmin webmaster@tachtler.net ServerName horde.tachtler.net ServerAlias www.horde.tachtler.net ServerPath / AddType application/x-httpd-php .php Alias /horde /usr/share/horde Alias /Microsoft-Server-ActiveSync /usr/share/horde/rpc.php Alias /autodiscover/autodiscover.xml /usr/share/horde/rpc.php Alias /Autodiscover/Autodiscover.xml /usr/share/horde/rpc.php Alias /AutoDiscover/AutoDiscover.xml /usr/share/horde/rpc.php # Exclude file from password protection SetEnvIf Request_URI "(rpc.php)$" allow SetEnvIf Request_URI "(rpc.php/.*)$" allow SetEnvIf Request_URI "(rpc.php/turba/master-benutzer@tachtler.net/)$" allow SetEnvIf Request_URI "(sapi/profile/client)$" allow SetEnvIf Request_URI "(devinfo)$" allow SetEnvIf Request_URI "(Microsoft-Server-ActiveSync)$" allow DocumentRoot "/usr/share/horde" <Directory "/usr/share/horde"> Options All AllowOverride All <RequireAny> Require env allow <RequireAll> # Tachtler - LDAP AuthType Basic AuthName "Tachtler's Horde (horde.tachtler.net)" AuthBasicProvider ldap AuthLDAPURL "ldaps://ldap.tachtler.net:636/ou=People,dc=tachtler,dc=net?uid" AuthLDAPBindDN "cn=Ersatzauthentifizierer,dc=tachtler,dc=net" AuthLDAPBindPassword "geheim" # Tachtler (enable for LDAP access) Require ldap-user benutzer </RequireAll> </RequireAny> # ActiveSync <IfModule rewrite_module> RewriteEngine On RewriteRule ^/Microsoft-Server-ActiveSync /rpc.php [PT,L,QSA] RewriteRule .* - [E=HTTP_MS_ASPROTOCOLVERSION:%{HTTP:Ms-Asprotocolversion}] RewriteRule .* - [E=HTTP_X_MS_POLICYKEY:%{HTTP:X-Ms-Policykey}] RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] </IfModule> <IfModule rewrite_module> RewriteEngine On RewriteBase /horde/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ rampage.php [QSA,L] </IfModule> </Directory> # Content rewrite rules from php-horde-content.conf <Directory "/usr/share/horde/content"> <IfModule rewrite_module> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> </Directory> # Deny access to files that are not served directly by the webserver <DirectoryMatch "/usr/share/horde/(config|lib|locale|scripts|templates)"> Require all denied </DirectoryMatch> # Deny access to files that are not served directly by the webserver for imp <DirectoryMatch "/usr/share/horde/imp/(config|lib|locale|templates)"> Require all denied </DirectoryMatch # Deny access to files that are not served directly by the webserver for turba <DirectoryMatch "/usr/share/horde/turba/(config|lib|locale|scripts|templates)"> Require all denied </DirectoryMatch> # Deny access to files that are not served directly by the webserver for kronolith <DirectoryMatch "/usr/share/horde/kronolith/(config|lib|locale|templates)"> Require all denied </DirectoryMatch> <Directory "/usr/share/horde/kronolith/feed/"> <IfModule rewrite_module> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?c=$1 [QSA,L] </IfModule> </Directory> # Deny access to files that are not served directly by the webserver for nag <DirectoryMatch "/usr/share/horde/nag/(config|lib|locale|templates)"> Require all denied </DirectoryMatch> # Deny access to files that are not served directly by the webserver for mnemo <DirectoryMatch "/usr/share/horde/mnemo/(config|locale|templates)"> Require all denied </DirectoryMatch> # Deny access to files that are not served directly by the webserver for ingo <DirectoryMatch "/usr/share/horde/ingo/(config|lib|locale|templates)"> Require all denied </DirectoryMatch> <Directory "/usr/share/horde/rpc"> <IfModule rewrite_module> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,L] </IfModule> </Directory> <Files "test.php"> Options -Indexes +FollowSymLinks AllowOverride None # Tachtler - LDAP AuthType Basic AuthName "Tachtler's Horde - Test (horde.tachtler.net)" AuthBasicProvider ldap AuthLDAPURL "ldaps://ldap.tachtler.net:636/dc=tachtler,dc=net?uid" AuthLDAPBindDN "cn=Ersatzauthentifizierer,dc=tachtler,dc=net" AuthLDAPBindPassword "geheim" <RequireAll> # Tachtler (enable for LDAP access) Require ldap-user master-benutzer </RequireAll> </Files> <IfModule deflate_module> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript AddOutputFilterByType DEFLATE application/javascript application/x-javascript <Location /> <IfModule setenvif_module> SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary </IfModule> <IfModule headers_module> Header append Vary User-Agent env=!dont-vary </IfModule> </Location> </IfModule> DirectoryIndex index.php ErrorLog logs/horde_error.log SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded CustomLog logs/horde_access.log combined_deflate env=!forwarded CustomLog logs/horde_access.log combined_deflate_proxypass env=forwarded
Erklärung der Ergänzungen:
# Deny access to files that are not served directly by the webserver for ingo <DirectoryMatch "/usr/share/horde/ingo/(config|lib|locale|templates)"> Require all denied </DirectoryMatch>
Ergänzungen im VHOST für Horde Groupware, um den Zugriff auf bestimmte Bereiche einzuschränken.
Neustart
Bevor weitere Konfigurationsschritte erfolgen, sollte einem Neustart nichts im Wege stehen, welcher mit nachfolgendem Befehl durchgeführt werden kann:
# systemctl restart httpd.service
HINWEIS - Es erfolgen keine weiteren Ausgaben, wenn der Neustart erfolgreich war !
Apache Webserver Überprüfung
Ob der Apache HTTP Server, sprich der httpd
-Dienst/Deamon auch tatsächlich als Hintergrundprozess läuft, kann mit nachfolgendem Befehl überprüft werden:
# systemctl status httpd.service httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: active (running) since Fri 2014-11-21 10:26:51 CET; 4s ago Process: 10513 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Main PID: 10525 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─10525 /usr/sbin/httpd -DFOREGROUND ├─10526 /usr/sbin/httpd -DFOREGROUND ├─10527 /usr/sbin/httpd -DFOREGROUND ├─10528 /usr/sbin/httpd -DFOREGROUND ├─10529 /usr/sbin/httpd -DFOREGROUND └─10530 /usr/sbin/httpd -DFOREGROUND Nov 21 10:26:51 rechner90.idmz.tachtler.net systemd[1]: Started The Apache HTT... Hint: Some lines were ellipsized, use -l to show in full.
bzw.
# ps auxwf | grep httpd root 10538 0.0 0.0 112640 924 pts/0 S+ 10:27 0:00 \_ grep --color=auto httpd root 10525 0.0 0.1 213700 4776 ? Ss 10:26 0:00 /usr/sbin/httpd -DFOREGROUND apache 10526 0.0 0.0 213700 2868 ? S 10:26 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 10527 0.0 0.0 213700 2868 ? S 10:26 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 10528 0.0 0.0 213700 2868 ? S 10:26 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 10529 0.0 0.0 213700 2868 ? S 10:26 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 10530 0.0 0.0 213700 2868 ? S 10:26 0:00 \_ /usr/sbin/httpd -DFOREGROUND
Eine weitere Überprüfung, ob der erste Start erfolgreich war, kann durch Einsicht der LOG-Dateien
/var/log/httpd/error_log
durchgeführt werden.
Ausgabe der LOG-Datei /var/log/httpd/error
mit nachfolgendem Befehl, die Ausgabe sollte wie nachfolgend dargestellt aussehen:
# cat /var/log/httpd/error_log [Fri Nov 21 10:26:51.978953 2014] [suexec:notice] [pid 10525] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Fri Nov 21 10:26:51.995381 2014] [auth_digest:notice] [pid 10525] AH01757: generating secret for digest authentication ... [Fri Nov 21 10:26:51.997618 2014] [lbmethod_heartbeat:notice] [pid 10525] AH02282: No slotmem from mod_heartmonitor [Fri Nov 21 10:26:52.004882 2014] [mpm_prefork:notice] [pid 10525] AH00163: Apache/2.4.6 (CentOS) configured -- resuming normal operations [Fri Nov 21 10:26:52.004970 2014] [core:notice] [pid 10525] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
Konfiguration: Backend
Damit Horde - Ingo die Verwaltung von z.B. Sieve-Regeln übernehmen kann, ist es zusätzlich erforderlich das sogenannte „Backend“ zu definieren.
WICHTIG - Ohne definiertes „Backend“ ist die Funktionalität von Horde - Ingo NICHT gegeben !!!
Die Konfiguration eines „Backend“ erfolgt NICHT über die Web-Anwendung!
Nachfolgend ist eine Kopie unter einem abgeänderten Namen der Konfigurationsdatei
/etc/horde/ingo/backends.php
mit nachfolgendem Befehl anzufertigen, um dort die Definitionen für das „Backend“ durchzuführen:
# cp -a /etc/horde/ingo/backends.php /etc/horde/ingo/backends.local.php
/etc/horde/ingo/backends.local.php
Nachfolgend dargestelltes Beispiel ist für eine Anbindung eines Dovecot Managesieve Server an Horde - Ingo:
/etc/horde/ingo/backends.local.php
<?php /** * Ingo works purely on a preferred mechanism for server selection. * */ // Tachtler /* IMAP */ $backends['imap']['disabled'] = true; /* Sieve */ $backends['sieve']['disabled'] = false; $backends['sieve']['transport'][Ingo::RULE_ALL]['driver'] = 'timsieved'; $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['hostspec'] = 'imap.tachtler.net'; $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['logintype'] = 'CRAM-MD5'; $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['usetls'] = true; $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['port'] = 4190; $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['scriptname'] = 'ingo'; $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['debug'] = false; $backends['sieve']['script'][Ingo::RULE_ALL]['driver'] = 'sieve'; $backends['sieve']['script'][Ingo::RULE_ALL]['params']['utf8'] = true; $backends['sieve']['shares'] = false;
Konfiguration: Hooks (Erweiterungen)
/etc/horde/ingo/config/hooks.php
Diese Konfigurationsdatei muss, falls noch nicht vorhanden mit nachfolgendem Befehl von der Grundkonfigurationsdatei
/etc/horde/ingo/hooks.php.dist
erstellt werden.
# cp -a /etc/horde/ingo/hooks.php.dist /etc/horde/ingo/hooks.php
HINWEIS - Damit werden zusätzliche Konfigurationen für Horde - Ingo aktiviert bzw. ermöglicht !!!
Nachfolgende Konfiguration erlaubt Horde - Ingo als client die Verwendung des Benutzernamens im Format e-Mail-Adresse localpar@domain.tld
für Dovecot:
(Nur relevanter Ausschnitt)
... // Tachtler - ENABLED - public function transport_auth($driver) { switch ($driver) { // case 'foo': // Tachtler - new - case 'timsieved': // // Example #1: Use full Horde username for password. // return array( // 'username' => $GLOBALS['registry']->getAuth(null) // ); // // // Example #2: Use IMP password/username. $ob = $GLOBALS['registry']->call('mail/imapOb'); return array( // Tachtler - new - 'euser' => $ob->getParam('username'), 'password' => $ob->getParam('password'), 'username' => $ob->getParam('username') ); } // // // DEFAULT: Use hordeauth (identical to not defining hook at all). return true; } ...
Konfiguration: Preferences (Einstellungen)
/etc/horde/ingo/config/prefs.local.php
Diese Konfigurationsdatei muss, falls noch nicht vorhanden mit nachfolgendem Befehl von der Grundkonfigurationsdatei
/etc/horde/ingo/prefs.php
erstellt werden.
# cp -a /etc/horde/ingo/prefs.php /etc/horde/ingo/prefs.local.php
HINWEIS - Damit werden zusätzliche Konfigurationen für Horde - Ingo aktiviert bzw. ermöglicht !!!
Nachfolgende Konfiguration erlaubt Horde - Ingo das Ausblenden von bestimmten Einstellungen in Horde - Ingo - wie nachfolgend z.B. für:
- Blacklist
- Whitelist
- Vacation notices (Abwesenheits-Agenten-Einstellungen)
- Forwarding (Weiterleitungen)
- Smap rule (SPAM-Filter-Regeln)
(Nur relevanter Ausschnitt)
... // The following preference are only used if using the 'prefs' storage driver. // Filter rules. $_prefs['rules'] = array( 'value' => 'a:5:{i:0;a:2:{s:4:"name";s:9:"Whitelist";s:6:"action";i:' . Ingo_Storage::ACTION_WHITELIST . ';}i:1;a:3:{s:4:"name";s:8:"Vacation";s:6:"action";i:' . Ingo_Storage::ACTION_VACATION . ';s:7:"disable";b:1;}i:2;a:2:{s:4:"name";s:9:"Blacklist";s:6:"action";i:' . Ingo_Storage::ACTION_BLACKLIST . ';}i:3;a:3:{s:4:"name";s:11:"Spam Filter";s:6:"action";i:' . Ingo_Storage::ACTION_SPAM . ';s:7:"disable";b:1;}i:4;a:3:{s:4:"name";s:7:"Forward";s:6:"action";i:' . Ingo_Storage::ACTION_FORWARD . ';s:7:"disable";b:1;}}', 'locked' => false, 'type' => 'implicit' ); // Blacklist. $_prefs['blacklist'] = array( 'value' => 'a:2:{s:1:"a";a:0:{}s:1:"f";s:0:"";}', // Lock this preference to disable blacklists. // Tachtler - DISABLED - // default: 'locked' => false, 'locked' => true, 'type' => 'implicit' ); // Whitelist. $_prefs['whitelist'] = array( 'value' => 'a:0:{}', // Lock this preference to disable whitelists. // Tachtler - DISABLED - // default: 'locked' => false, 'locked' => true, 'type' => 'implicit' ); // Vacation notices. $_prefs['vacation'] = array( 'value' => 'a:8:{s:9:"addresses";a:0:{}s:4:"days";i:7;s:8:"excludes";a:0:{}s:10:"ignorelist";b:1;s:6:"reason";s:0:"";s:7:"subject";s:0:"";s:5:"start";i:0;s:3:"end";i:0;}', // Lock this preference to disable vacation notices. // Tachtler - DISABLED - // default: 'locked' => false, 'locked' => true, 'type' => 'implicit' ); // Forwarding. $_prefs['forward'] = array( 'value' => 'a:2:{s:1:"a";a:0:{}s:1:"k";i:0;}', // Lock this preference to disable forwarding. // Tachtler - DISABLED - // default: 'locked' => false, 'locked' => true, 'type' => 'implicit' ); // Spam rule. $_prefs['spam'] = array( 'value' => 'a:2:{s:6:"folder";N;s:5:"level";i:5;}', // Lock this preference to disable the spam rule. // Tachtler - DISABLED - // default: 'locked' => false, 'locked' => true, 'type' => 'implicit' ); // End preferences storage driver entries ...
Konfiguration: Horde5 - Ingo
Die Basis-Konfiguration des Horde Framework kann komfortabel über den Aufruf der Web-Anwendung erfolgen. Nachfolgende Schritte zeigen die Grundlegende Einrichtung.
Ingo - Schritt 1
Aufruf der Web-Anwendung über den Browser und den definierten virtuellen Host, hier:
Ingo - Schritt 2
Anschließend muss mit der Mauszeiger über das [Zahnrad-Symbol] (Einstellungen) bewegt werden, woraufhin sich nachfolgende Menüpunkte beim darüber bewegen des [Mauszeigers] öffnen sollten:
- Administration > Konfiguration
wie nachfolgende Bildschirmkopie zeigt:
Ingo - Schritt 3
Nachdem nachfolgender Bildschirm zur Anzeige gekommen sein sollte:
Zuerst sollte nun das DB-Schema aktualisiert werden, was durch anklicken der Schaltfläche [Alle DB-Schemas aktualisieren] mit der [linken Maustaste] erfolgen kann:
Ingo - Schritt 4
Anschließend sollte nun eine erste Konfiguration erzeugt werden, was durch anklicken der Schaltfläche [Alle Konfigurationen aktualisieren] mit der [linken Maustaste] erfolgen kann:
Ingo - Schritt 5
Nachdem nachfolgender Bildschirm zur Anzeige gekommen sein sollte:
Sollte hier mit der [linken Maustaste] der
- [Link: Filter (ingo) 3.x.x]
angeklickt werden.
Anschließend können die Konfigurationen in den einzelnen Punkten durchgeführt werden:
Rules Storage | ||
---|---|---|
Einstellung | Standard | Wert |
* $conf[storage][driver] | SQL | SQL |
* $conf[storage][params][driverconfig] | Horde_defaults | Horde_defaults |
Rules Options | ||
Einstellung | Standard | Wert |
* $conf[rules][userheader] | ✔ | ✔ |
Spam Filtering | ||
Einstellung | Standard | Wert |
* $conf[spam][compare] | String | String |
* $conf[spam][header] | X-Spam-Level | X-Spam-Level |
* $conf[spam][char] | * | * |
HINWEIS - Das erzeugen einer Filter-Konfiguration ist NICHT erforderlich, da hier die Standardwerte genutzt werden !
Ab sofort können Filter genutzt werden!