Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:horde5_-_ingo

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)).

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:

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:

Repository: EPEL

Nachfolgende Beschreibung bindet das Drittanbieter-Repository von EPEL ein:

Installation

php-horde-ingo

Nachdem das Drittanbieter-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:

Horde5 - Erster Aufruf - Ingo

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:

Horde5 - Einstellungen - Administration - Konfiguration

Ingo - Schritt 3

Nachdem nachfolgender Bildschirm zur Anzeige gekommen sein sollte:

Horde5 - Einstellungen - Administration - Konfiguration - Filter (ingo) 3.x.x

Zuerst sollte nun das DB-Schema aktualisiert werden, was durch anklicken der Schaltfläche [Alle DB-Schemas aktualisieren] mit der [linken Maustaste] erfolgen kann:

Horde5 - Einstellungen - Administration - Konfiguration - Filter (ingo) 3.x.x - Alle DB-Schemas aktualisieren - fertig

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:

Horde5 - Einstellungen - Administration - Konfiguration - Filter (ingo) 3.x.x - Alle Konfigurationen aktualisieren - fertig

Ingo - Schritt 5

Nachdem nachfolgender Bildschirm zur Anzeige gekommen sein sollte:

Horde5 - Einstellungen - Administration - Konfiguration - Filter (ingo) 3.x.x

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!

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/horde5_-_ingo.txt · Zuletzt geändert: 2016/05/04 16:16 von klaus