horde - Create. Communicate. Collaborate.
Horde Groupware ist eine freie browserbasierte Kommunikationsplattform für den professionallen Einsatz. Die Anwender haben so die Möglichkeitn Ihre täglichen Aufgaben(-planungen) und Nachrichten komfortabel über einen Webbrowser von überall her durchzuführen.
So bietet die Horde-Portalseite eine kurze Übersicht über alle wichtigen Informationen. Dort kann angezeigt werden, wie viele neue eMails aufgelaufen sind, welche Termine demnächst anstehen, welche Aufgaben noch zu erledigen sind oder auch die neuesten Nachrichten. Viele dieser Übersichten enthalten eine schnelle Zugriffsmöglichkeit auf häufig benötigte Funktionen, wie das Schreiben neuer Emails oder dem Anlegen neuer Kalendereinträge oder Aufgaben. Auch können gemeinsam genutzte Kalender, Kontakte, Aufgaben und Notizen mit Standard Komponenten des Horde-Projekts realisiert werden.
Die nachfolgende Beschreibung zeigt, wie unter Centos 5 ein Horde-Groupware-Server installiert und konfiguriert werden kann.
Horde - Installation
Für die Installation nutzen wir am besten, das bereits eingebundene extras-Repository, da dort bereits fertige RPMs zur verfügung stehen. Folgende Pakete stehen zur Verfügung, die wir nachfolgend zum Großteil installieren und konfigurieren werden.
- horde.noarch : The common Horde Framework for all Horde modules.
- imp-h3.noarch : The Internet Messaging Program: webmail access to IMAP/POP3 accounts.
- kronolith-h3.noarch : The Horde calendar application.
- turba-h3.noarch : The Horde contact management application
- nag-h3.noarch : The Horde task list manager.
- mnemo-h3.noarch : The Horde note manager application.
- gollem-h3.noarch : The Horde web-based File Manager.
- ingo-h3.noarch : The Horde web-based Email Filter Rules Manager.
Lediglich das Paket ingo-h3 werden wir nicht installieren, da wir für die Verwaltung unserer SIEVE-Filterregeln auf smartsieve zurückgreifen, da wir so sowohl für horde als auch unserem Desktop-Mail-User-Agent Evolution oder kmail unsere Filterregeln anlegen und verwalten können.
horde
Die Installation erfolgt wie gewohnt mittels yum.
# yum install horde
Was uns horde alles mitbringt zeigt uns rpm -iql
# rpm -iql horde Name : horde Relocations: (not relocatable) ... ... URL : http://www.horde.org/ Summary : The common Horde Framework for all Horde modules. Description : The Horde Framework provides a common structure and interface for Horde applications (such as IMP, a web-based mail program). This RPM is required for all other Horde module RPMs. The Horde Project writes web applications in PHP and releases them under Open Source licenses. For more information (including help with Horde and its modules) please visit http://www.horde.org/. /etc/httpd/conf.d/horde.conf /usr/share/horde /usr/share/horde/COPYING /usr/share/horde/README /usr/share/horde/admin /usr/share/horde/admin/cmdshell.php /usr/share/horde/admin/datatree.php /usr/share/horde/admin/groups.php /usr/share/horde/admin/index.php /usr/share/horde/admin/locale /usr/share/horde/admin/locale/en_US /usr/share/horde/admin/locale/en_US/help.xml /usr/share/horde/admin/locale/fi_FI /usr/share/horde/admin/locale/fi_FI/help.xml /usr/share/horde/admin/locale/hu_HU /usr/share/horde/admin/locale/hu_HU/help.xml /usr/share/horde/admin/perms /usr/share/horde/admin/perms/addchild.php /usr/share/horde/admin/perms/delete.php /usr/share/horde/admin/perms/edit.php /usr/share/horde/admin/perms/index.php /usr/share/horde/admin/phpshell.php /usr/share/horde/admin/sessions.php /usr/share/horde/admin/setup /usr/share/horde/admin/setup/config.php /usr/share/horde/admin/setup/diff.php /usr/share/horde/admin/setup/index.php /usr/share/horde/admin/setup/scripts.php /usr/share/horde/admin/sqlshell.php /usr/share/horde/admin/user.php /usr/share/horde/config /usr/share/horde/config/.htaccess /usr/share/horde/config/conf.php /usr/share/horde/config/conf.php.dist /usr/share/horde/config/conf.xml /usr/share/horde/config/mime_drivers.php /usr/share/horde/config/mime_drivers.php.dist /usr/share/horde/config/motd.php /usr/share/horde/config/motd.php.dist /usr/share/horde/config/nls.php /usr/share/horde/config/nls.php.dist /usr/share/horde/config/prefs.php /usr/share/horde/config/prefs.php.dist /usr/share/horde/config/registry.php /usr/share/horde/config/registry.php.dist ...
imp-h3
Die Installation erfolgt auch hier wie gewohnt mittels yum.
# yum install imp-h3
Was uns imp-h3 alles mitbringt zeigt uns rpm -iql
# rpm -iql imp-h3 Name : imp-h3 Relocations: (not relocatable) ... ... URL : http://www.horde.org/ Summary : The Internet Messaging Program: webmail access to IMAP/POP3 accounts. Description : IMP is the Internet Messaging Program, one of the Horde applications. It provides webmail access to IMAP and POP3 accounts. The Horde Project writes web applications in PHP and releases them under Open Source licenses. For more information (including help with IMP) please visit http://www.horde.org/. This package contains customizations for the Mitel Networks SME Server and will probably not work properly on other Linux systems. /usr/share/horde/imp /usr/share/horde/imp/COPYING /usr/share/horde/imp/README /usr/share/horde/imp/acl.php /usr/share/horde/imp/attachment.php /usr/share/horde/imp/compose.php /usr/share/horde/imp/config /usr/share/horde/imp/config/.htaccess /usr/share/horde/imp/config/conf.xml /usr/share/horde/imp/config/filter.txt /usr/share/horde/imp/config/filter.txt.dist /usr/share/horde/imp/config/header.php /usr/share/horde/imp/config/header.php.dist /usr/share/horde/imp/config/menu.php /usr/share/horde/imp/config/menu.php.dist /usr/share/horde/imp/config/mime_drivers.php /usr/share/horde/imp/config/mime_drivers.php.dist /usr/share/horde/imp/config/motd.php /usr/share/horde/imp/config/motd.php.dist /usr/share/horde/imp/config/prefs.php /usr/share/horde/imp/config/prefs.php.dist /usr/share/horde/imp/config/servers.php /usr/share/horde/imp/config/servers.php.dist /usr/share/horde/imp/config/trailer.txt /usr/share/horde/imp/config/trailer.txt.dist /usr/share/horde/imp/contacts.php ...
kronolith-h3
Die Installation erfolgt auch hier wie gewohnt mittels yum.
# yum install kronolith-h3
Was uns kronolith-h3 alles mitbringt zeigt uns rpm -iql
# rpm -iql kronolith-h3 Name : kronolith-h3 Relocations: (not relocatable) ... ... URL : http://www.horde.org/ Summary : The Horde calendar application. Description : Kronolith is the Horde calendar application. It provides repeating events, all-day events, custom fields, keywords, and managing multiple users through Horde Authentication. The calendar API that Kronolith uses is abstracted; MCAL and SQL drivers are currently provided. The Horde Project writes web applications in PHP and releases them under Open Source licenses. For more information (including help with Kronolith) please visit http://www.horde.org/. /usr/share/horde/kronolith /usr/share/horde/kronolith/COPYING /usr/share/horde/kronolith/README /usr/share/horde/kronolith/addevent.php /usr/share/horde/kronolith/addeventaction.php /usr/share/horde/kronolith/attend.php /usr/share/horde/kronolith/attendees.php /usr/share/horde/kronolith/calendar_search.php /usr/share/horde/kronolith/calendars.php /usr/share/horde/kronolith/config /usr/share/horde/kronolith/config/.htaccess /usr/share/horde/kronolith/config/conf.xml /usr/share/horde/kronolith/config/keywords.php /usr/share/horde/kronolith/config/keywords.php.dist /usr/share/horde/kronolith/config/menu.php /usr/share/horde/kronolith/config/menu.php.dist /usr/share/horde/kronolith/config/prefs.php /usr/share/horde/kronolith/config/prefs.php.dist ...
turba-h3
Die Installation erfolgt auch hier wie gewohnt mittels yum.
# yum install turba-h3
Was uns turba-h3 alles mitbringt zeigt uns rpm -iql
# rpm -iql turba-h3 Name : turba-h3 Relocations: (not relocatable) ... ... URL : http://www.horde.org/ Summary : The Horde contact management application. Description : Turba is the Horde contact management application, which allows access to and storage of personal contacts (including name, email address, phone number, and other easily customizable fields). Turba integrates with IMP (Horde's webmail application) as its address book. The Horde Project writes web applications in PHP and releases them under Open Source licenses. For more information (including help with Turba) please visit http://www.horde.org/. /usr/share/horde/turba /usr/share/horde/turba/LICENSE /usr/share/horde/turba/README /usr/share/horde/turba/add.php /usr/share/horde/turba/addressbooks.php /usr/share/horde/turba/browse.php /usr/share/horde/turba/config /usr/share/horde/turba/config/.htaccess /usr/share/horde/turba/config/attributes.php /usr/share/horde/turba/config/attributes.php.dist /usr/share/horde/turba/config/conf.xml /usr/share/horde/turba/config/menu.php /usr/share/horde/turba/config/menu.php.dist /usr/share/horde/turba/config/mime_drivers.php /usr/share/horde/turba/config/mime_drivers.php.dist /usr/share/horde/turba/config/prefs.php /usr/share/horde/turba/config/prefs.php.dist /usr/share/horde/turba/config/sources.php /usr/share/horde/turba/config/sources.php.dist ...
nag-h3
Die Installation erfolgt auch hier wie gewohnt mittels yum.
# yum install nag-h3
Was uns nag-h3 alles mitbringt zeigt uns rpm -iql
# rpm -iql nag-h3 Name : nag-h3 Relocations: (not relocatable) ... ... URL : http://www.horde.org/ Summary : The Horde task list manager. Description : Nag is a multiuser task list manager. Users can create any number of "task lists", which can be shared with individual users, groups, or any combination. Any number of task lists can be viewed in a single list. Tasks have due dates, completion times, and can be imported and exported in multiple formats. The Horde Project writes web applications in PHP and releases them under Open Source licenses. For more information (including help with nag) please visit http://www.horde.org/. /usr/share/horde/nag /usr/share/horde/nag/COPYING /usr/share/horde/nag/README /usr/share/horde/nag/config /usr/share/horde/nag/config/.htaccess /usr/share/horde/nag/config/conf.xml /usr/share/horde/nag/config/menu.php /usr/share/horde/nag/config/menu.php.dist /usr/share/horde/nag/config/prefs.php /usr/share/horde/nag/config/prefs.php.dist ...
mnemo-h3
Die Installation erfolgt auch hier wie gewohnt mittels yum.
# yum install mnemo-h3
Was uns mnemo-h3 alles mitbringt zeigt uns rpm -iql
# rpm -iql mnemo-h3 Name : mnemo-h3 Relocations: (not relocatable) ... ... URL : http://www.horde.org/ Summary : The Horde note manager application. Description : Mnemo is the Horde notes and memos application. It lets users keep free-text notes and other bits of information which doesn't fit as a contact, a todo item, an event, etc. It is very similar in functionality to the Palm Memo application. The Horde Project writes web applications in PHP and releases them under Open Source licenses. For more information (including help with Mnemo) please visit http://www.horde.org/. /usr/share/horde/mnemo /usr/share/horde/mnemo/LICENSE /usr/share/horde/mnemo/README /usr/share/horde/mnemo/config /usr/share/horde/mnemo/config/.htaccess /usr/share/horde/mnemo/config/conf.xml /usr/share/horde/mnemo/config/prefs.php /usr/share/horde/mnemo/config/prefs.php.dist ...
gollem-h3
Die Installation erfolgt auch hier wie gewohnt mittels yum.
# yum install gollem-h3
Was uns gollem-h3 alles mitbringt zeigt uns rpm -iql
# rpm -iql gollem-h3 Name : gollem-h3 Relocations: (not relocatable) ... ... URL : http://www.horde.org/ Summary : The Horde web-based File Manager. Description : Gollem is a web-based File Manager, providing the ability to fully manage a hierarchical file system stored in a variety of backends such as a SQL database, as part of a real filesystem, or on an FTP server. The Horde Project writes web applications in PHP and releases them under Open Source licenses. For more information (including help with gollem) please visit http://www.horde.org/. /usr/share/horde/gollem /usr/share/horde/gollem/COPYING /usr/share/horde/gollem/README /usr/share/horde/gollem/clipboard.php /usr/share/horde/gollem/config /usr/share/horde/gollem/config/backends.php /usr/share/horde/gollem/config/backends.php.dist /usr/share/horde/gollem/config/conf.xml /usr/share/horde/gollem/config/credentials.php /usr/share/horde/gollem/config/credentials.php.dist /usr/share/horde/gollem/config/menu.php /usr/share/horde/gollem/config/menu.php.dist /usr/share/horde/gollem/config/mime_drivers.php /usr/share/horde/gollem/config/mime_drivers.php.dist /usr/share/horde/gollem/config/motd.php /usr/share/horde/gollem/config/motd.php.dist /usr/share/horde/gollem/config/prefs.php /usr/share/horde/gollem/config/prefs.php.dist ...
VHost-Definition
Horde bringt uns zwar eine eigene Konfigurationsdatei für unseren Webserver mit (/etc/httpd/conf.d/horde.conf). Diese werden wir jedoch nicht nutzen, da wir einen eigenen virtuellen Host hierzu aufsetzen möchten. Somit versehen wir den Inhalt daher mit einem # und deaktivieren somit diese Option.
vim /etc/httpd/conf.d/horde.conf
# # Horde is a web application framework written in PHP. # #Alias /horde /usr/share/horde
Wir bearbeiten also unsere VHost-Datei und tragen dort ein:
# vim /etc/httpd/conf.d/vhosts.conf
- vhosts.conf
# # webmailer.nausch.org # <VirtualHost *:80> ServerName webmailer.nausch.org:80 ServerAdmin webmaster@nausch.org ServerPath / DocumentRoot "/usr/share/horde" <Directory "/usr/share/horde"> Options +FollowSymLinks AllowOverride AuthConfig Order allow,deny Allow from all # horde.org's recommended PHP settings: php_admin_flag safe_mode off php_admin_flag magic_quotes_runtime off php_flag session.use_trans_sid off php_flag session.auto_start off php_admin_flag file_uploads on # Optional - required for weather block in Horde to function php_admin_flag allow_url_fopen on # If horde dies while trying to handle large email file attachments, you are probably hitting PHP's memory limit. # Raise that limit here, but use caution # Set to your preference - memory_limit should be at least 32M and be greater than the value set for post_max_size # php_value memory_limit 32M # php_value post_max_size 20M # php_value upload_max_filesize 10M # /usr/bin/pear is needed for PEAR. /var/www/html/horde is needed for Horde itself # TODO: Set an appropriate include_path, too. Might even increase speed a bit. php_admin_value open_basedir "/usr/share/horde:/usr/share/horde/config:/usr/bin/pear:/tmp:/usr/share/pear:/var/log" php_admin_flag register_globals off </Directory> <Directory /var/www/html/horde/config> Order Deny,Allow Deny from all </Directory> <DirectoryMatch "^/usr/share/horde/(.*/)?(config|lib|locale|po|scripts|templates)/(.*)?"> # Deny access to files that are not served directly by the webserver Order Deny,Allow Deny from all </DirectoryMatch> <LocationMatch "^/horde/(.*/)?test.php"> # Deny access to the test.php files except from localhost Order Deny,Allow Deny from all Allow from 127.0.0.1 </LocationMatch> DirectoryIndex index.php ErrorLog logs/webmailer_error.log CustomLog logs/webmailer_access.log combined </VirtualHost>
mySQL-Datenbank
Als Datenbank nutzt horde eine MySQL-Datenbank mit mehreren Tabellen die es nun gilt anzulegen.
Datenbank anlegen
Zum Anlegen des Datenbank-Users, wie auch der Datenbanktabellen, liefert das RPM Vorlagen mit, die wir nun anpassen und einspielen werden.
die Vorlage finden wir unter /usr/share/horde/scripts/sql/create.mysql.sql. DIese datei bearbeiten wir mit dem Editor unserer wahl, also z.B. vim.
# vim /usr/share/horde/scripts/sql/create.mysql.sql
- create.mysql.sql
-- $Horde: horde/scripts/sql/create.mysql.sql,v 1.4.6.10 2007/09/27 22:36:49 jan Exp $ -- -- If you are installing Horde for the first time, you can simply -- direct this file to mysql as STDIN: -- -- $ mysql --user=root --password=<MySQL-root-password> < create.mysql.sql -- -- If you are upgrading from a previous version, you will need to comment -- out the the user creation steps below, as well as the schemas for any -- tables that already exist. -- -- If you choose to grant permissions manually, note that with MySQL, PEAR DB -- emulates sequences by automatically creating extra tables ending in _seq, -- so the MySQL "horde" user must have CREATE privilege on the "horde" -- database. -- -- If you are upgrading from Horde 1.x, the Horde tables you have from -- that version are no longer used; you may wish to either delete those -- tables or simply recreate the database anew. USE mysql; REPLACE INTO USER (host, USER, password) VALUES ( 'localhost', 'hordeuser', -- IMPORTANT: Change this password! PASSWORD('what-the-fuck-is-exchange?') ); REPLACE INTO db (host, db, USER, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, index_priv) VALUES ( 'localhost', 'horde', 'hordeuser', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y' ); ...
In Anlehnung an unsere bereits bestehenden Datenbanken, haben wir den Datenbankuser umbenannt in hordeuser, ebenso haben wir das Passwort unseren Bedürfnissen angepasst.
Somit können wir nun die Vorgabe unserer Konfigurationsdatei unserem MYsql-Server „zum Fraß vorwerfen“:
# mysql -u root -p < /usr/share/horde/scripts/sql/create.mysql.sql # Enter password:
Datenbank Zugangstest
Als nächstes überprüfen wir, ob der zuvor angelegt User/Zugang auch funktioniert.
# mysql -D horde -u hordeuser -h localhost -p Enter password: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 359578 Server version: 6.1.56 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show tables; +---------------------------+ | Tables_in_horde | +---------------------------+ | horde_datatree | | horde_datatree_attributes | | horde_datatree_seq | | horde_histories | | horde_histories_seq | | horde_prefs | | horde_sessionhandler | | horde_tokens | | horde_users | | horde_vfs | | horde_vfs_seq | +---------------------------+ 11 rows in set (0.00 sec) mysql> quit Bye
Horde - Konfiguration
vorbereitende Konfiguration
Die Konfiguration von Horde, wie auch den nachfolgenden Module/Projects, erfolgt über die GUI des Horde-Framworks. Bevor wir uns daran machen können, benötigen wir noch eine entsprechende (leere) Backupdatei für die mitgelieferte Vorgabekonfigurationsdatei. Ferner müssen wir dafür sorgen, dass unser Apache-Webserver die Änderungen im Konfigurationsverzeichnis ablegen kann. Als erstes legen wir also die besagte Backup-Datei für die Konfiguration an …
# touch /usr/share/horde/config/conf.php.bak
… und weisen diese unserem Apachen zu.
# chown root.apache /usr/share/horde/config/conf.php.bak
Zum Schluß passen wir noch die Schreibberechtigung des Konfigurationsordners, samt den darin enthaltenen Dateien an.
# chmod 660 /usr/share/horde/config/*
Nach erfolgter Konfiguration schützen wir selbige indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken.
# chmod 640 /usr/share/horde/config/*
Konfiguration über die WEB-GUI
Die eigentliche Konfigurationsarbeit erledigen wir dann über die GUI des Web-Frameworks. Dazu rufen wir unseren angelegten VHOST im Webbrowser auf.
Den Konfigurationsbereich erreichen wir über den Menüpunkt Administration (im Bild mit einem roten Pfeil gekennzeichnet).
Zur Konfiguration des Horde-Frameworks (Basis-Modul) klicken wir auf den Namen Horde (horde) 3.1.7 im Hauptfenster.
Auf den nun zur Verfügung stehenden Reitern, erfolgt die Konfiguration des Horde-Frameworks (Basis-Modul).
Reiter: Database
Als erstes bearbeiten wir die Datenbankeinstellungen auf dem Reiter Database. Folgende Einstellungen sind anzupassen:
* What database backend should we use? [MySQL] * Username to connect to the database as [hordeuser] * Password to connect with [what-the-fuck-is-exchange?] * Location of UNIX socket [/var/lib/mysql/mysql.sock**] * Database server/host [localhost] * Database name to use [horde]
Reiter: Authentication
Als Nächstes tragen wir unsere Daten im Reiter Authentication ein.
* Which users should be treated as administrators (root, super-user) by Horde? [Adminuser unseres LDAP-Directories] * What backend should we use for authenticating users to Horde? [IMAP authentication] * Configuration type [seperate values] * The hostname or IP address of the server [imap.nausch.org]
Reiter: Logging
* Path to the log file [/var/log/horde.log]
Reiter: Preference System
* What preferences driver should we use [SQL Database]
Reiter: DataTree System
* What backend should we use for Horde DataTree storage? [SQL Database]
Reiter: Token System
* If you want to enable Form Tokens, select a driver here. This is used… [SQL-based token storage]
Reiter: Image Manipulation
* Horde requires either GD support built-in to PHP… [/usr/bin]
Reiter: Custom Session Handler
* What sessionhandler driver should we use? [MySQL based session] * Location of UNIX socket [/var/lib/mysql/mysql.sock] * What password do we authenticate to the database server with? [what-the-fuck-is-exchange?]
Reiter: Mailer
* What method should we use for sending mail? [Use a SMTP server]
Reiter: MIME Detection
* Location of the MIME magic database… [/usr/share/misc/magic]
Reiter: Hostname->Country Lookup
* Horde, by default, can do Hostname… [<Pfad zu GeoIP.dat>]
Reiter: Portal Block Configuration
* What driver should we use? [localhost]
Reiter: Problem Reporting
* Where should problem report emails be sent? [horde-admin@nausch.org] * If Horde cannot determine a user's email address, this domain will… [nausch.org]
Nach erfolgter Konfiguration schützen wir die eben erstellte Konfigurationsdatei, indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken. :
# chmod 640 /usr/share/horde/config/*
Horde Konfiguration: Webmail (imp)
vorbereitende Konfiguration
Die Konfiguration des Modul/Projects imp, erfolgt über die GUI des Horde-Framworks. Bevor wir uns daran machen können, benötigen wir noch eine entsprechende (leere) Konfigurations- und Backupdatei. Ferner müssen wir dafür sorgen, dass unser Apache-Webserver die Änderungen im Konfigurationsverzeichnis ablegen kann. Als erstes legen wir also die besagte Konfigurations- und Backup-Datei an …
# touch /usr/share/horde/imp/config/conf.php # touch /usr/share/horde/imp/config/conf.php.bak
… und weisen diese unserem Apachen zu.
# chown root.apache /usr/share/horde/imp/config/conf.php # chown root.apache /usr/share/horde/imp/config/conf.php.bak
Zum Schluß passen wir noch die Schreibberechtigung des Konfigurationsordners, samt den darin enthaltenen Dateien an.
# chmod 660 /usr/share/horde/imp/config/*
Nach erfolgter Konfiguration schützen wir selbige indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken.
# chmod 640 /usr/share/horde/imp/config/*
IMAP-Server Konfiguration
Bevor mit der WEB-gestützten Konfiguration begonnen werden kann, muss die Konfigurationsdatei /usr/share/horde/imp/config/servers.php noch wie folgt angepasst werden. Wir gehen dabei von unserer Cyrus-IMAP-Konfiguration aus, und kommentieren daher die anderen Beispiele aus.
# vim /usr/share/horde/imp/config/servers.php
... $servers['cyrus'] = array( 'name' => 'Cyrus IMAP Server', 'server' => 'imap.nausch.org', 'hordeauth' => false, 'protocol' => 'imap/notls', 'port' => 143, 'maildomain' => 'nausch.org', 'smtphost' => 'localhost', 'smtpport' => 25, 'realm' => '', 'preferred' => '', 'admin' => array( 'params' => array( 'login' => 'cyrus', 'password' => 'mein-streng-geheimes-cyrus-passwort', // The 'userhierarchy' parameter defaults to 'user.' // If you are using a nonstandard hierarchy for personal // mailboxes, you will need to set it here. 'userhierarchy' => 'user/', // Although these defaults are normally all that is required, // you can modify the following parameters from their default // values. 'protocol' => 'imap/notls', 'hostspec' => 'localhost', 'port' => 143 ) ), 'quota' => array( 'driver' => 'cyrus', 'params' => array(), ), 'acl' => array( 'driver' => 'rfc2086', ), ); ...
Konfiguration über die WEB-GUI
Folgende Änderungen nehmen wir nun über die WEB-GUI vor.
Reiter: External Utilities and Menu
* Enter the location of the binary to either aspell or ispell to enable… [/usr/bin/aspell] * If you want users to have the option of using the GNU Privacy Guard… [/usr/bin/gpg] * The address of the public PGP keyserver(s) to use. keyserver.nausch.org [keyserver.nausch.org] * The location of the OpenSSL binary on your system, e.g. /usr/bin/openssl… [/usr/bin/openssl]
Reiter: Message and Spam
* What should we replace filtered words with? [***SPAM***]
Nach erfolgter Konfiguration schützen wir die eben erstellte Konfigurationsdatei, indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken. :
# chmod 640 /usr/share/horde/imp/config/*
Horde Konfiguration: Adressbuch (turba)
vorbereitende Konfiguration
Die Konfiguration des Modul/Projects turba, erfolgt über die GUI des Horde-Framworks. Bevor wir uns daran machen können, benötigen wir noch eine entsprechende (leere) Konfigurations- und Backupdatei. Ferner müssen wir dafür sorgen, dass unser Apache-Webserver die Änderungen im Konfigurationsverzeichnis ablegen kann. Als erstes legen wir also die besagte Konfigurations- und Backup-Datei an …
# touch /usr/share/horde/turba/config/conf.php # touch /usr/share/horde/turba/config/conf.php.bak
… und weisen diese unserem Apachen zu.
# chown root.apache /usr/share/horde/turba/config/conf.php # chown root.apache /usr/share/horde/turba/config/conf.php.bak
Zum Schluß passen wir noch die Schreibberechtigung des Konfigurationsordners, samt den darin enthaltenen Dateien an.
# chmod 660 /usr/share/horde/turba/config/*
Nach erfolgter Konfiguration schützen wir selbige indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken.
# chmod 640 /usr/share/horde/turba/config/*
Erstellung der Datenbanktabellen
Zuerst müssen die dazugehörigen Tabellen in unserer MySQL-Datenbank erstellt werden. Dies kann über ein mitgeliefertes Script /usr/share/horde/turba/scripts/sql/turba.mysql.sql realisiert werden. Das Script wird mit nachfolgendem Befehl ausgeführt und legt alle relevanten Komponenten in der Datenbank - hier MySQL an:
# mysql -u root -p horde < /usr/share/horde/turba/scripts/sql/turba.mysql.sql Enter password:
Konfiguration über die WEB-GUI
In der WEB-GUI müssen keine Änderungen vorgenommen werden, es reicht lediglich ein Klick auf Adressbuch-Konfiguration erzeugen. Nach erfolgter Konfiguration schützen wir die eben erstellte Konfigurationsdatei, indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken. :
# chmod 640 /usr/share/horde/turba/config/*
Horde Konfiguration: Kalender (kronolith)
vorbereitende Konfiguration
Die Konfiguration des Modul/Projects kronolith, erfolgt über die GUI des Horde-Framworks. Bevor wir uns daran machen können, benötigen wir noch eine entsprechende (leere) Konfigurations- und Backupdatei. Ferner müssen wir dafür sorgen, dass unser Apache-Webserver die Änderungen im Konfigurationsverzeichnis ablegen kann. Als erstes legen wir also die besagte Konfigurations- und Backup-Datei an …
# touch /usr/share/horde/kronolith/config/conf.php # touch /usr/share/horde/kronolith/config/conf.php.bak
… und weisen diese unserem Apachen zu.
# chown root.apache /usr/share/horde/kronolith/config/conf.php # chown root.apache /usr/share/horde/kronolith/config/conf.php.bak
Zum Schluß passen wir noch die Schreibberechtigung des Konfigurationsordners, samt den darin enthaltenen Dateien an.
# chmod 660 /usr/share/horde/kronolith/config/*
Nach erfolgter Konfiguration schützen wir selbige indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken.
# chmod 640 /usr/share/horde/kronolith/config/*
Erstellung der Datenbanktabellen
Zuerst müssen die dazugehörigen Tabellen in unserer MySQL-Datenbank erstellt werden. Dies kann über ein mitgeliefertes Script /usr/share/horde/kronolith/scripts/sql/kronolith.mysql.sql realisiert werden. Das Script wird mit nachfolgendem Befehl ausgeführt und legt alle relevanten Komponenten in der Datenbank - hier MySQL an:
# mysql -u root -p horde < /usr/share/horde/kronolith/scripts/sql/kronolith.mysql.sql Enter password:
Konfiguration über die WEB-GUI
Folgende Änderungen nehmen wir nun über die WEB-GUI vor.
* Default domain to add to attendee email addresses if none is specified. [nausch.org] * Should keywords be loaded from config/keywords.php to be assigned to… [Checkbox on] * Server name from which reminder emails should be sent [mx1.nausch.org] * Email address from which reminder emails should be sent [horde@nausch.org]
Erweiterung cron
Um später auch „Benachrichtigungen“ von kronolith erhalten zu können, muss folgender Eintrag in der Konfigurationsdatei von cron zusätzlich hinterlegt werden.
... # Kronolith reminders */5 * * * * /usr/bin/php /usr/share/horde/kronolith/scripts/reminders.php ...
Nach erfolgter Konfiguration schützen wir die eben erstellte Konfigurationsdatei, indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken. :
# chmod 640 /usr/share/horde/kronolith/config/*
Horde Konfiguration: Aufgaben (nag)
vorbereitende Konfiguration
Die Konfiguration des Modul/Projects nag, erfolgt über die GUI des Horde-Framworks. Bevor wir uns daran machen können, benötigen wir noch eine entsprechende (leere) Konfigurations- und Backupdatei. Ferner müssen wir dafür sorgen, dass unser Apache-Webserver die Änderungen im Konfigurationsverzeichnis ablegen kann. Als erstes legen wir also die besagte Konfigurations- und Backup-Datei an …
# touch /usr/share/horde/nag/config/conf.php # touch /usr/share/horde/nag/config/conf.php.bak
… und weisen diese unserem Apachen zu.
# chown root.apache /usr/share/horde/nag/config/conf.php # chown root.apache /usr/share/horde/nag/config/conf.php.bak
Zum Schluß passen wir noch die Schreibberechtigung des Konfigurationsordners, samt den darin enthaltenen Dateien an.
# chmod 660 /usr/share/horde/nag/config/*
Nach erfolgter Konfiguration schützen wir selbige indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken.
# chmod 640 /usr/share/horde/nag/config/*
Erstellung der Datenbanktabellen
Zuerst müssen die dazugehörigen Tabellen in unserer MySQL-Datenbank erstellt werden. Dies kann über ein mitgeliefertes Script /usr/share/horde/nag/scripts/sql/nag.mysql.sql realisiert werden. Das Script wird mit nachfolgendem Befehl ausgeführt und legt alle relevanten Komponenten in der Datenbank - hier MySQL an:
# mysql -u root -p horde < /usr/share/horde/nag/scripts/sql/nag.mysql.sql Enter password:
Konfiguration über die WEB-GUI
In der WEB-GUI müssen keine Änderungen vorgenommen werden, es reicht lediglich ein Klick auf Aufgaben-Konfiguration erzeugen. Nach erfolgter Konfiguration schützen wir die eben erstellte Konfigurationsdatei, indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken. :
# chmod 640 /usr/share/horde/nag/config/*
Horde Konfiguration: Notizen (mnemo)
vorbereitende Konfiguration
Die Konfiguration des Modul/Projects mnemo, erfolgt über die GUI des Horde-Framworks. Bevor wir uns daran machen können, benötigen wir noch eine entsprechende (leere) Konfigurations- und Backupdatei. Ferner müssen wir dafür sorgen, dass unser Apache-Webserver die Änderungen im Konfigurationsverzeichnis ablegen kann. Als erstes legen wir also die besagte Konfigurations- und Backup-Datei an …
# touch /usr/share/horde/mnemo/config/conf.php # touch /usr/share/horde/mnemo/config/conf.php.bak
… und weisen diese unserem Apachen zu.
# chown root.apache /usr/share/horde/mnemo/config/conf.php # chown root.apache /usr/share/horde/mnemo/config/conf.php.bak
Zum Schluß passen wir noch die Schreibberechtigung des Konfigurationsordners, samt den darin enthaltenen Dateien an.
# chmod 660 /usr/share/horde/mnemo/config/*
Nach erfolgter Konfiguration schützen wir selbige indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken.
# chmod 640 /usr/share/horde/mnemo/config/*
Erstellung der Datenbanktabellen
Zuerst müssen die dazugehörigen Tabellen in unserer MySQL-Datenbank erstellt werden. Dies kann über ein mitgeliefertes Script /usr/share/horde/mnemo/scripts/sql/mnemo.mysql.sql realisiert werden. Das Script wird mit nachfolgendem Befehl ausgeführt und legt alle relevanten Komponenten in der Datenbank - hier MySQL an:
# mysql -u root -p horde < /usr/share/horde/mnemo/scripts/sql/mnemo.mysql.sql Enter password:
Konfiguration über die WEB-GUI
In der WEB-GUI müssen keine Änderungen vorgenommen werden, es reicht lediglich ein Klick auf Notitz-Konfiguration erzeugen. Nach erfolgter Konfiguration schützen wir die eben erstellte Konfigurationsdatei, indem wir die Schreibberechtigung(en) wieder auf den Root-Account beschränken. :
# chmod 640 /usr/share/horde/mnemo/config/*