Inhaltsverzeichnis

Grundinstallation - und Konfiguration

Bild: Horde Logo 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 6.x ein Horde 5 -Groupware-Server installiert und konfiguriert werden kann. Wichtige weiterführende Informationen hierzu findet man auch in der Installations-Dokumentation auf der Horde Projektseite.

Voraussetzungen und Abhängigkeiten

RPM-Pakete

Für die Installation des Horde Framworks in der Version 5 benötigen wir noch mehrere Pakete, die wir Danke der Intergration des epel-Repositories mit Hilfe von yum installieren können. Im Detail sind das folgende Pakete:

 # yum install php-cli php-domxml-php4-php5 php-gd php-idn php-intl php-mbstring php-mysql \
   php-mcrypt php-pear php-pecl-geoip php-pecl-imagick php-pecl-lzf php-pecl-memcache \
   php-php-gettext php-tidy perl-Image-ExifTool aspell GeoIP -y

Wie immer kann man sich mit Hilfe des Aufrufes rpm -qil <Paketname> anziegen lassen, was jedes einzelne Paket mit in das System gebracht hat.

PHP Extension and Application Repository

Zur Installation des Horde-Frameworks greifen wir auf das PHP Extension and Application Repository kurz PEAR zurück. Bevor wir aber damit beginnen können, bedarf es noch zu erst der Installation mehrerer PEAR-Pakete und eines Updates von PEAR.

 # pear install -a -B -f Auth_SASL2
 # pear install -a -B -f Console_GetoptPlus
 # pear install -a -B -f Crypt_CHAP
 # pear install -a -B -f Date
 # pear install -a -B -f Date_Holidays
 # pear install -a -B -f Date_Holidays_Germany
 # pear install -a -B -f File
 # pear install -a -B -f File_Fstab
 # pear install -a -B -f HTML_Common2
 # pear install -a -B -f HTML_Template_IT
 # pear install -a -B -f HTTP
 # pear install -a -B -f HTTP_Request2
 # pear install -a -B -f HTTP_WebDAV_Server
 # pear install -a -B -f Log
 # pear install -a -B -f Mail
 # pear install -a -B -f Mail_mimeDecode
 # pear install -a -B -f Mail_Mime
 # pear install -a -B -f MDB2
 # pear install -a -B -f MDB2_Driver_mysql
 # pear install -a -B -f MDB2_Schema
 # pear install -a -B -f Net_Ping
 # pear install -a -B -f Net_Sieve
 # pear install -a -B -f Net_SMTP
 # pear install -a -B -f Net_Traceroute
 # pear install -a -B -f Net_UserAgent_Detect
 # pear install -a -B -f Net_URL2
 # pear install -a -B -f Numbers_Words
 # pear install -a -B -f Services_Weather
 # pear install -a -B -f SOAP
 # pear install -a -B -f Text_CAPTCHA
 # pear install -a -B -f XML_Parser
 # pear install -a -B -f XML_RPC2
 # pear install -a -B -f XML_Serializer
 # pear install -a -B -f XML_SVG

Anschließend prüfen wir, ob noch weitere Updates, eventuell bereits bestehender PEAR-Pakete anstehen.

 # pear upgrade PEAR
 Nothing to upgrade
 # pear upgrade --force pear
downloading PEAR-1.9.4.tgz ...
Starting to download PEAR-1.9.4.tgz (296,332 bytes)
.............................................................done: 296,332 bytes
downloading Archive_Tar-1.3.10.tgz ...
Starting to download Archive_Tar-1.3.10.tgz (18,294 bytes)
...done: 18,294 bytes
upgrade ok: channel://pear.php.net/Archive_Tar-1.3.10
upgrade ok: channel://pear.php.net/PEAR-1.9.4
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
 # pear channel-update pear.php.net
 Updating channel "pear.php.net"
 Update of Channel "pear.php.net" succeeded

Installation von Horde

Als Installationsort für unser virtuelles Büro verwenden wir am einfachsten /var/www/horde, oder einen anderen Verzeichnis, welches wir für den Apache Web-Server definiert haben. bzw. noch werden. Wir legen als erstes das betreffende Verzeichnis an.

 # mkdir -p /var/www/horde

Im nächsten Schritt passen wir die Zugriffs- und Verzeichnisrechte des gerade angelegten Verzeichnisses an.

 # chown -R root:apache /var/www/horde
 # chmod -R 775 /var/www/horde

Zur Installation von Horde über das PHP Extension and Application Repository sind nun folgende Schritte notwendig:

Channel horde Registrierung

Mit Hilfe des nachfolgenden Befehls, registrieren wir nun als erstes den Channel Horde beim lokalen PHP Extension and Application Repository.

 # pear channel-discover pear.horde.org
 Adding Channel "pear.horde.org" succeeded
 Discovery of channel "pear.horde.org" succeeded

Role Definition

Im nächsten Schritt definieren wir das Verzeichnis, in dem Horde installiert werden soll. In unserem Fall ist das Eingangs definierte Verzeichnis /var/www/horde unseres Apache Webservers.

 # pear install horde/horde_role
downloading Horde_Role-1.0.1.tgz ...
Starting to download Horde_Role-1.0.1.tgz (10,977 bytes)
.....done: 10,977 bytes
install ok: channel://pear.horde.org/Horde_Role-1.0.1
horde/Horde_Role has post-install scripts:
/usr/share/pear/PEAR/Installer/Role/Horde/Role.php
Horde_Role: Use "pear run-scripts horde/Horde_Role" to finish setup.
DO NOT RUN SCRIPTS FROM UNTRUSTED SOURCES

Anschließend geben wir der Horde_Role noch das Verzeichnis bekannt, in welches anschließend die Installation erfolgen soll.

 # pear run-scripts horde/horde_role
Including external post-installation script "/usr/share/pear/PEAR/Installer/Role/Horde/Role.php" - any errors are in this script
Inclusion succeeded
running post-install script "Horde_Role_postinstall->init()"
init succeeded
Filesystem location for the base Horde application

Hier geben wir nun das Verzeichnis unserer Hordeinstallation /var/www/horde ein.

Configuration successfully saved to PEAR config.
Install scripts complete

Installation des Frameworks

Nun erfolgt die Installation des Frameworks über das PHP Extension and Application Repository. Entsprechende Abhängigkeiten können nun Dank des PEAR automatisch aufgelöst werden. Die beiden Parameter -B und -a legen fest, dass keine PECL-Pakete aufgelöst, heruntergeladen und separat kompiliert werden sollen.

 # pear install -B -a horde/horde
Package "sasl" Version "0.1.0" does not have REST xml available
WARNING: failed to download pear.php.net/Text_LanguageDetect within preferred state "stable", will instead download version 0.3.0, stability "alpha"
WARNING: failed to download pecl.php.net/idn within preferred state "stable", will instead download version 0.2.0, stability "beta"
WARNING: failed to download pecl.php.net/ssh2 within preferred state "stable", will instead download version 0.12, stability "beta"
WARNING: "pear/Console_Color" is deprecated in favor of "pear/Console_Color2"
Unknown remote channel: pear.phpunit.de
Unknown remote channel: pear.phpunit.de
WARNING: "pear/HTTP_Request" is deprecated in favor of "pear/HTTP_Request2"
WARNING: "pear/Auth_SASL" is deprecated in favor of "pear/Auth_SASL2"
horde/Horde_Auth can optionally use package "pecl/sasl"
horde/Horde_Http can optionally use PHP extension "http"
horde/Horde_Rpc can optionally use PHP extension "xmlrpc"
warning: horde/Horde_Test requires package "channel://pear.phpunit.de/PHPUnit" (version >= 3.5.0)
horde/Horde_Cache can optionally use PHP extension "eaccelerator" (version >= 0.9.5)
horde/Horde_Kolab_Server can optionally use package "channel://pear.phpunit.de/PHPUnit_Story"
downloading horde-5.0.3.tgz ...
Starting to download horde-5.0.3.tgz (2,858,855 bytes)
.................................................................................done: 2,858,855 bytes
downloading Horde_Alarm-2.0.3.tgz ...
Starting to download Horde_Alarm-2.0.3.tgz (34,203 bytes)
...done: 34,203 bytes
downloading Horde_Argv-2.0.3.tgz ...
Starting to download Horde_Argv-2.0.3.tgz (47,523 bytes)
...done: 47,523 bytes
downloading Horde_Auth-2.0.2.tgz ...
Starting to download Horde_Auth-2.0.2.tgz (52,079 bytes)
...done: 52,079 bytes
downloading Horde_Autoloader-2.0.1.tgz ...
Starting to download Horde_Autoloader-2.0.1.tgz (14,202 bytes)
...done: 14,202 bytes
downloading Horde_Browser-2.0.3.tgz ...
Starting to download Horde_Browser-2.0.3.tgz (35,614 bytes)
...done: 35,614 bytes
downloading Horde_Core-2.1.5.tgz ...
Starting to download Horde_Core-2.1.5.tgz (1,383,920 bytes)
...done: 1,383,920 bytes
downloading Horde_Date-2.0.2.tgz ...
Starting to download Horde_Date-2.0.2.tgz (58,553 bytes)
...done: 58,553 bytes
downloading Horde_Exception-2.0.2.tgz ...
Starting to download Horde_Exception-2.0.2.tgz (23,914 bytes)
...done: 23,914 bytes
downloading Horde_Form-2.0.2.tgz ...
Starting to download Horde_Form-2.0.2.tgz (191,807 bytes)
...done: 191,807 bytes
downloading Horde_Group-2.0.1.tgz ...
Starting to download Horde_Group-2.0.1.tgz (20,110 bytes)
...done: 20,110 bytes
downloading Horde_Http-2.0.1.tgz ...
Starting to download Horde_Http-2.0.1.tgz (12,269 bytes)
...done: 12,269 bytes
downloading Horde_Image-2.0.2.tgz ...
Starting to download Horde_Image-2.0.2.tgz (770,070 bytes)
...done: 770,070 bytes
downloading Horde_LoginTasks-2.0.2.tgz ...
Starting to download Horde_LoginTasks-2.0.2.tgz (29,990 bytes)
...done: 29,990 bytes
downloading Horde_Mail-2.0.3.tgz ...
Starting to download Horde_Mail-2.0.3.tgz (28,280 bytes)
...done: 28,280 bytes
downloading Horde_Mime-2.0.2.tgz ...
Starting to download Horde_Mime-2.0.2.tgz (86,881 bytes)
...done: 86,881 bytes
downloading Horde_Nls-2.0.2.tgz ...
Starting to download Horde_Nls-2.0.2.tgz (434,821 bytes)
...done: 434,821 bytes
downloading Horde_Perms-2.0.2.tgz ...
Starting to download Horde_Perms-2.0.2.tgz (36,840 bytes)
...done: 36,840 bytes
downloading Horde_Prefs-2.1.0.tgz ...
Starting to download Horde_Prefs-2.1.0.tgz (52,813 bytes)
...done: 52,813 bytes
downloading Horde_Rpc-2.0.2.tgz ...
Starting to download Horde_Rpc-2.0.2.tgz (61,678 bytes)
...done: 61,678 bytes
downloading Horde_Serialize-2.0.1.tgz ...
Starting to download Horde_Serialize-2.0.1.tgz (15,953 bytes)
...done: 15,953 bytes
downloading Horde_Support-2.0.2.tgz ...
Starting to download Horde_Support-2.0.2.tgz (23,100 bytes)
...done: 23,100 bytes
downloading Horde_Template-2.0.1.tgz ...
Starting to download Horde_Template-2.0.1.tgz (14,822 bytes)
...done: 14,822 bytes
downloading Horde_Text_Diff-2.0.1.tgz ...
Starting to download Horde_Text_Diff-2.0.1.tgz (28,657 bytes)
...done: 28,657 bytes
downloading Horde_Token-2.0.2.tgz ...
Starting to download Horde_Token-2.0.2.tgz (29,362 bytes)
...done: 29,362 bytes
downloading Horde_Text_Filter-2.0.4.tgz ...
Starting to download Horde_Text_Filter-2.0.4.tgz (52,142 bytes)
...done: 52,142 bytes
downloading Horde_Tree-2.0.1.tgz ...
Starting to download Horde_Tree-2.0.1.tgz (15,893 bytes)
...done: 15,893 bytes
downloading Horde_Url-2.0.1.tgz ...
Starting to download Horde_Url-2.0.1.tgz (14,938 bytes)
...done: 14,938 bytes
downloading Horde_Util-2.0.3.tgz ...
Starting to download Horde_Util-2.0.3.tgz (31,854 bytes)
...done: 31,854 bytes
downloading Horde_View-2.0.1.tgz ...
Starting to download Horde_View-2.0.1.tgz (43,640 bytes)
...done: 43,640 bytes
downloading Horde_Vfs-2.0.4.tgz ...
Starting to download Horde_Vfs-2.0.4.tgz (70,225 bytes)
...done: 70,225 bytes
downloading Net_DNS2-1.2.5.tgz ...
Starting to download Net_DNS2-1.2.5.tgz (72,371 bytes)
...done: 72,371 bytes
downloading Horde_ActiveSync-2.1.2.tgz ...
Starting to download Horde_ActiveSync-2.1.2.tgz (157,206 bytes)
...done: 157,206 bytes
downloading Horde_Db-2.0.1.tgz ...
Starting to download Horde_Db-2.0.1.tgz (106,771 bytes)
...done: 106,771 bytes
downloading Horde_Feed-2.0.1.tgz ...
Starting to download Horde_Feed-2.0.1.tgz (1,612,317 bytes)
...done: 1,612,317 bytes
downloading Horde_Oauth-2.0.1.tgz ...
Starting to download Horde_Oauth-2.0.1.tgz (6,058 bytes)
...done: 6,058 bytes
downloading Horde_Service_Facebook-2.0.2.tgz ...
Starting to download Horde_Service_Facebook-2.0.2.tgz (30,675 bytes)
...done: 30,675 bytes
downloading Horde_Service_Twitter-2.0.1.tgz ...
Starting to download Horde_Service_Twitter-2.0.1.tgz (9,221 bytes)
...done: 9,221 bytes
downloading Horde_Service_Weather-2.0.2.tgz ...
Starting to download Horde_Service_Weather-2.0.2.tgz (171,085 bytes)
...done: 171,085 bytes
downloading Horde_SyncMl-2.0.2.tgz ...
Starting to download Horde_SyncMl-2.0.2.tgz (134,284 bytes)
...done: 134,284 bytes
downloading Console_Table-1.1.5.tgz ...
Starting to download Console_Table-1.1.5.tgz (9,487 bytes)
...done: 9,487 bytes
downloading File_Find-1.3.2.tgz ...
Starting to download File_Find-1.3.2.tgz (8,157 bytes)
...done: 8,157 bytes
downloading Horde_Translation-2.0.1.tgz ...
Starting to download Horde_Translation-2.0.1.tgz (13,636 bytes)
...done: 13,636 bytes
downloading Horde_Log-2.0.1.tgz ...
Starting to download Horde_Log-2.0.1.tgz (13,832 bytes)
...done: 13,832 bytes
downloading Horde_Notification-2.0.1.tgz ...
Starting to download Horde_Notification-2.0.1.tgz (20,868 bytes)
...done: 20,868 bytes
downloading Horde_Test-2.1.0.tgz ...
Starting to download Horde_Test-2.1.0.tgz (20,270 bytes)
...done: 20,270 bytes
downloading Horde_History-2.0.1.tgz ...
Starting to download Horde_History-2.0.1.tgz (17,168 bytes)
...done: 17,168 bytes
downloading Horde_Lock-2.0.1.tgz ...
Starting to download Horde_Lock-2.0.1.tgz (14,011 bytes)
...done: 14,011 bytes
downloading Horde_Imap_Client-2.4.2.tgz ...
Starting to download Horde_Imap_Client-2.4.2.tgz (157,575 bytes)
...done: 157,575 bytes
downloading Horde_Kolab_Session-2.0.1.tgz ...
Starting to download Horde_Kolab_Session-2.0.1.tgz (21,181 bytes)
...done: 21,181 bytes
downloading Horde_Ldap-2.0.1.tgz ...
Starting to download Horde_Ldap-2.0.1.tgz (63,212 bytes)
...done: 63,212 bytes
downloading Horde_Imsp-2.0.2.tgz ...
Starting to download Horde_Imsp-2.0.2.tgz (33,101 bytes)
...done: 33,101 bytes
downloading pam-1.0.3.tgz ...
Starting to download pam-1.0.3.tgz (6,671 bytes)
...done: 6,671 bytes
downloading Horde_Cache-2.0.1.tgz ...
Starting to download Horde_Cache-2.0.1.tgz (18,863 bytes)
...done: 18,863 bytes
downloading Horde_Cli-2.0.2.tgz ...
Starting to download Horde_Cli-2.0.2.tgz (26,286 bytes)
...done: 26,286 bytes
downloading Horde_Compress-2.0.2.tgz ...
Starting to download Horde_Compress-2.0.2.tgz (35,236 bytes)
...done: 35,236 bytes
downloading Horde_Controller-2.0.1.tgz ...
Starting to download Horde_Controller-2.0.1.tgz (10,566 bytes)
...done: 10,566 bytes
downloading Horde_Data-2.0.2.tgz ...
Starting to download Horde_Data-2.0.2.tgz (42,015 bytes)
...done: 42,015 bytes
downloading Horde_Injector-2.0.1.tgz ...
Starting to download Horde_Injector-2.0.1.tgz (21,538 bytes)
...done: 21,538 bytes
downloading Horde_Mime_Viewer-2.0.2.tgz ...
Starting to download Horde_Mime_Viewer-2.0.2.tgz (155,722 bytes)
...done: 155,722 bytes
downloading Horde_Secret-2.0.2.tgz ...
Starting to download Horde_Secret-2.0.2.tgz (13,470 bytes)
...done: 13,470 bytes
downloading Horde_SessionHandler-2.0.1.tgz ...
Starting to download Horde_SessionHandler-2.0.1.tgz (21,078 bytes)
...done: 21,078 bytes
downloading Horde_Share-2.0.2.tgz ...
Starting to download Horde_Share-2.0.2.tgz (59,654 bytes)
...done: 59,654 bytes
downloading Horde_Text_Filter_Csstidy-2.0.1.tgz ...
Starting to download Horde_Text_Filter_Csstidy-2.0.1.tgz (24,792 bytes)
...done: 24,792 bytes
downloading Horde_Crypt-2.1.1.tgz ...
Starting to download Horde_Crypt-2.1.1.tgz (143,472 bytes)
...done: 143,472 bytes
downloading Horde_Editor-2.0.1.tgz ...
Starting to download Horde_Editor-2.0.1.tgz (734,365 bytes)
...done: 734,365 bytes
downloading Horde_ElasticSearch-1.0.1.tgz ...
Starting to download Horde_ElasticSearch-1.0.1.tgz (3,047 bytes)
...done: 3,047 bytes
downloading Horde_Icalendar-2.0.2.tgz ...
Starting to download Horde_Icalendar-2.0.2.tgz (103,788 bytes)
...done: 103,788 bytes
downloading Horde_Kolab_Server-2.0.1.tgz ...
Starting to download Horde_Kolab_Server-2.0.1.tgz (101,817 bytes)
...done: 101,817 bytes
downloading Horde_Kolab_Storage-2.0.3.tgz ...
Starting to download Horde_Kolab_Storage-2.0.3.tgz (170,485 bytes)
...done: 170,485 bytes
downloading Horde_Routes-2.0.2.tgz ...
Starting to download Horde_Routes-2.0.2.tgz (44,955 bytes)
...done: 44,955 bytes
downloading Horde_SpellChecker-2.1.0.tgz ...
Starting to download Horde_SpellChecker-2.1.0.tgz (13,109 bytes)
...done: 13,109 bytes
downloading Text_LanguageDetect-0.3.0.tgz ...
Starting to download Text_LanguageDetect-0.3.0.tgz (123,677 bytes)
...done: 123,677 bytes
downloading Horde_Stream_Filter-2.0.1.tgz ...
Starting to download Horde_Stream_Filter-2.0.1.tgz (13,146 bytes)
...done: 13,146 bytes
downloading Horde_Text_Flowed-2.0.1.tgz ...
Starting to download Horde_Text_Flowed-2.0.1.tgz (14,202 bytes)
...done: 14,202 bytes
downloading idn-0.2.0.tgz ...
Starting to download idn-0.2.0.tgz (6,313 bytes)
...done: 6,313 bytes
downloading intl-2.0.1.tgz ...
Starting to download intl-2.0.1.tgz (149,430 bytes)
...done: 149,430 bytes
downloading Horde_Xml_Element-2.0.1.tgz ...
Starting to download Horde_Xml_Element-2.0.1.tgz (10,680 bytes)
...done: 10,680 bytes
downloading Horde_Stream_Wrapper-2.0.1.tgz ...
Starting to download Horde_Stream_Wrapper-2.0.1.tgz (11,808 bytes)
...done: 11,808 bytes
downloading xdiff-1.4.1.tgz ...
Starting to download xdiff-1.4.1.tgz (8,623 bytes)
...done: 8,623 bytes
downloading ssh2-0.12.tgz ...
Starting to download ssh2-0.12.tgz (26,223 bytes)
...done: 26,223 bytes
downloading Horde_Xml_Wbxml-2.0.1.tgz ...
Starting to download Horde_Xml_Wbxml-2.0.1.tgz (26,541 bytes)
...done: 26,541 bytes
downloading Console_Color-1.0.3.tgz ...
Starting to download Console_Color-1.0.3.tgz (4,933 bytes)
...done: 4,933 bytes
downloading Horde_Constraint-2.0.1.tgz ...
Starting to download Horde_Constraint-2.0.1.tgz (5,003 bytes)
...done: 5,003 bytes
downloading Horde_Scribe-2.0.1.tgz ...
Starting to download Horde_Scribe-2.0.1.tgz (5,021 bytes)
...done: 5,021 bytes
downloading Horde_Stream-1.2.0.tgz ...
Starting to download Horde_Stream-1.2.0.tgz (13,718 bytes)
...done: 13,718 bytes
downloading Horde_Memcache-2.0.1.tgz ...
Starting to download Horde_Memcache-2.0.1.tgz (13,771 bytes)
...done: 13,771 bytes
downloading APC-3.1.9.tgz ...
Starting to download APC-3.1.9.tgz (155,540 bytes)
...done: 155,540 bytes
downloading Horde_Crypt_Blowfish-1.0.2.tgz ...
Starting to download Horde_Crypt_Blowfish-1.0.2.tgz (24,146 bytes)
...done: 24,146 bytes
downloading Horde_Kolab_Format-2.0.2.tgz ...
Starting to download Horde_Kolab_Format-2.0.2.tgz (57,754 bytes)
...done: 57,754 bytes
downloading Net_IMAP-1.1.2.tgz ...
Starting to download Net_IMAP-1.1.2.tgz (38,117 bytes)
...done: 38,117 bytes
downloading Horde_Thrift-2.0.1.tgz ...
Starting to download Horde_Thrift-2.0.1.tgz (22,602 bytes)
...done: 22,602 bytes
install ok: channel://pear.horde.org/Horde_Autoloader-2.0.1
install ok: channel://pear.horde.org/Horde_Template-2.0.1
install ok: channel://pear.horde.org/Horde_Util-2.0.3
install ok: channel://pear.php.net/Net_DNS2-1.2.5
install ok: channel://pear.php.net/Console_Table-1.1.5
install ok: channel://pear.php.net/File_Find-1.3.2
install ok: channel://pear.horde.org/Horde_Translation-2.0.1
install ok: channel://pecl.php.net/pam-1.0.3
install ok: channel://pear.php.net/Text_LanguageDetect-0.3.0
install ok: channel://pear.horde.org/Horde_Stream_Filter-2.0.1
install ok: channel://pecl.php.net/idn-0.2.0
install ok: channel://pecl.php.net/intl-2.0.1
install ok: channel://pear.horde.org/Horde_Stream_Wrapper-2.0.1
install ok: channel://pecl.php.net/xdiff-1.4.1
install ok: channel://pecl.php.net/ssh2-0.12
install ok: channel://pear.php.net/Console_Color-1.0.3
install ok: channel://pear.horde.org/Horde_Constraint-2.0.1
install ok: channel://pecl.php.net/APC-3.1.9
install ok: channel://pear.php.net/Net_IMAP-1.1.2
install ok: channel://pear.horde.org/Horde_Thrift-2.0.1
install ok: channel://pear.horde.org/Horde_Exception-2.0.2
install ok: channel://pear.horde.org/Horde_LoginTasks-2.0.2
install ok: channel://pear.horde.org/Horde_Nls-2.0.2
install ok: channel://pear.horde.org/Horde_Imsp-2.0.2
install ok: channel://pear.horde.org/Horde_Text_Flowed-2.0.1
install ok: channel://pear.horde.org/Horde_Xml_Wbxml-2.0.1
install ok: channel://pear.horde.org/Horde_Scribe-2.0.1
install ok: channel://pear.horde.org/Horde_Argv-2.0.3
install ok: channel://pear.horde.org/Horde_Auth-2.0.2
install ok: channel://pear.horde.org/Horde_Browser-2.0.3
install ok: channel://pear.horde.org/Horde_Date-2.0.2
install ok: channel://pear.horde.org/Horde_Group-2.0.1
install ok: channel://pear.horde.org/Horde_Serialize-2.0.1
install ok: channel://pear.horde.org/Horde_Support-2.0.2
install ok: channel://pear.horde.org/Horde_Text_Diff-2.0.1
install ok: channel://pear.horde.org/Horde_Text_Filter-2.0.4
install ok: channel://pear.horde.org/Horde_Url-2.0.1
install ok: channel://pear.horde.org/Horde_Vfs-2.0.4
install ok: channel://pear.horde.org/Horde_Log-2.0.1
install ok: channel://pear.horde.org/Horde_Notification-2.0.1
install ok: channel://pear.horde.org/Horde_Kolab_Session-2.0.1
install ok: channel://pear.horde.org/Horde_Ldap-2.0.1
install ok: channel://pear.horde.org/Horde_Cache-2.0.1
install ok: channel://pear.horde.org/Horde_Compress-2.0.2
install ok: channel://pear.horde.org/Horde_Injector-2.0.1
install ok: channel://pear.horde.org/Horde_SessionHandler-2.0.1
install ok: channel://pear.horde.org/Horde_Routes-2.0.2
install ok: channel://pear.horde.org/Horde_SpellChecker-2.1.0
install ok: channel://pear.horde.org/Horde_Xml_Element-2.0.1
install ok: channel://pear.horde.org/Horde_Stream-1.2.0
install ok: channel://pear.horde.org/Horde_Memcache-2.0.1
install ok: channel://pear.horde.org/Horde_Kolab_Format-2.0.2
install ok: channel://pear.horde.org/Horde_Alarm-2.0.3
install ok: channel://pear.horde.org/Horde_Http-2.0.1
install ok: channel://pear.horde.org/Horde_Image-2.0.2
install ok: channel://pear.horde.org/Horde_Mime-2.0.2
install ok: channel://pear.horde.org/Horde_Token-2.0.2
install ok: channel://pear.horde.org/Horde_Tree-2.0.1
install ok: channel://pear.horde.org/Horde_View-2.0.1
install ok: channel://pear.horde.org/Horde_Db-2.0.1
install ok: channel://pear.horde.org/Horde_Test-2.1.0
install ok: channel://pear.horde.org/Horde_Lock-2.0.1
install ok: channel://pear.horde.org/Horde_Cli-2.0.2
install ok: channel://pear.horde.org/Horde_Controller-2.0.1
install ok: channel://pear.horde.org/Horde_Text_Filter_Csstidy-2.0.1
install ok: channel://pear.horde.org/Horde_Editor-2.0.1
install ok: channel://pear.horde.org/Horde_Kolab_Server-2.0.1
install ok: channel://pear.horde.org/Horde_Crypt_Blowfish-1.0.2
install ok: channel://pear.horde.org/Horde_Mail-2.0.3
install ok: channel://pear.horde.org/Horde_Perms-2.0.2
install ok: channel://pear.horde.org/Horde_Feed-2.0.1
install ok: channel://pear.horde.org/Horde_Oauth-2.0.1
install ok: channel://pear.horde.org/Horde_Service_Facebook-2.0.2
install ok: channel://pear.horde.org/Horde_Service_Weather-2.0.2
install ok: channel://pear.horde.org/Horde_History-2.0.1
install ok: channel://pear.horde.org/Horde_Mime_Viewer-2.0.2
install ok: channel://pear.horde.org/Horde_Secret-2.0.2
install ok: channel://pear.horde.org/Horde_Crypt-2.1.1
install ok: channel://pear.horde.org/Horde_ElasticSearch-1.0.1
install ok: channel://pear.horde.org/Horde_Kolab_Storage-2.0.3
install ok: channel://pear.horde.org/Horde_Prefs-2.1.0
install ok: channel://pear.horde.org/Horde_Service_Twitter-2.0.1
install ok: channel://pear.horde.org/Horde_Imap_Client-2.4.2
install ok: channel://pear.horde.org/Horde_Share-2.0.2
install ok: channel://pear.horde.org/Horde_Icalendar-2.0.2
install ok: channel://pear.horde.org/Horde_ActiveSync-2.1.2
install ok: channel://pear.horde.org/Horde_SyncMl-2.0.2
install ok: channel://pear.horde.org/Horde_Data-2.0.2
install ok: channel://pear.horde.org/Horde_Core-2.1.5
install ok: channel://pear.horde.org/Horde_Form-2.0.2
install ok: channel://pear.horde.org/Horde_Rpc-2.0.2
install ok: channel://pear.horde.org/horde-5.0.3

Update von Horde / Pear

In (un)regelmäßigen Abständen, werden für die im System bekannten Channels und installierten Paketen Updates angeboten.

PEAR Optionen

Einen ersten Überblick über die Optionen des Programms verschafft man sich mit nachfolgendem Aufruf.

 # pear help
Commands:
build                  Build an Extension From C Source
bundle                 Unpacks a Pecl Package
channel-add            Add a Channel
channel-alias          Specify an alias to a channel name
channel-delete         Remove a Channel From the List
channel-discover       Initialize a Channel from its server
channel-info           Retrieve Information on a Channel
channel-login          Connects and authenticates to remote channel server
channel-logout         Logs out from the remote channel server
channel-update         Update an Existing Channel
clear-cache            Clear Web Services Cache
config-create          Create a Default configuration file
config-get             Show One Setting
config-help            Show Information About Setting
config-set             Change Setting
config-show            Show All Settings
convert                Convert a package.xml 1.0 to package.xml 2.0 format
cvsdiff                Run a "cvs diff" for all files in a package
cvstag                 Set CVS Release Tag
download               Download Package
download-all           Downloads each available package from the default channel
info                   Display information about a package
install                Install Package
list                   List Installed Packages In The Default Channel
list-all               List All Packages
list-channels          List Available Channels
list-files             List Files In Installed Package
list-upgrades          List Available Upgrades
login                  Connects and authenticates to remote server [Deprecated in favor of channel-login]
logout                 Logs out from the remote server [Deprecated in favor of channel-logout]
makerpm                Builds an RPM spec file from a PEAR package
package                Build Package
package-dependencies   Show package dependencies
package-validate       Validate Package Consistency
pickle                 Build PECL Package
remote-info            Information About Remote Packages
remote-list            List Remote Packages
run-scripts            Run Post-Install Scripts bundled with a package
run-tests              Run Regression Tests
search                 Search remote package database
shell-test             Shell Script Test
sign                   Sign a package distribution file
svntag                 Set SVN Release Tag
uninstall              Un-install Package
update-channels        Update the Channel List
upgrade                Upgrade Package
upgrade-all            Upgrade All Packages [Deprecated in favor of calling upgrade with no parameters]
Usage: pear [options] command [command-options] <parameters>
Type "pear help options" to list all options.
Type "pear help shortcuts" to list all command shortcuts.
Type "pear help <command>" to get the help for the specified command.

Channel-Übersicht

Möchte man einen Überblick über die im System bekannten Channels, so bedient man sich folgenden Aufrufs.

 # pear list-channels
Registered Channels:
====================
Channel        Alias   Summary
doc.php.net    phpdocs PHP Documentation Team
pear.horde.org horde   Horde PEAR server
pear.php.net   pear    PHP Extension and Application
                       Repository
pecl.php.net   pecl    PHP Extension Community Library
__uri          __uri   Pseudo-channel for static packages

Updateübersicht abrufen

Einen Überblick über aktuell anstehende Updates einzelner Pakete/Channels bekommt man, wenn man die Option list-upgrades beim Aufruf von pear verwendet.

 # pear list-upgrades
pear.horde.org Available Upgrades (stable):
===========================================
Channel        Package          Local          Remote         Size
pear.horde.org Horde_ActiveSync 2.1.2 (stable) 2.1.4 (stable) 154kB
pear.php.net Available Upgrades (stable):
=========================================
Channel      Package       Local            Remote         Size
pear.php.net Auth_SASL     1.0.4 (stable)   1.0.6 (stable) 9.0kB
pear.php.net Date_Holidays 0.21.7 (alpha)   0.21.8 (alpha) 38kB
pear.php.net Image_Text    0.6.0beta (beta) 0.6.1 (beta)   59kB
pear.php.net XML_RPC       1.5.4 (stable)   1.5.5 (stable) 32kB
WARNING: channel "pecl.php.net" has updated its protocols, use "pear channel-update pecl.php.net" to update
pecl.php.net Available Upgrades (stable):
=========================================
Channel      Package  Local          Remote         Size
pecl.php.net imagick  2.2.2 (stable) 3.0.1 (stable) 92kB
pecl.php.net memcache 3.0.5 (beta)   3.0.7 (beta)   55kB

Channel Updaten

Will man einen Channel Updaten hat man zwei Möglichkeiten. Entweder man spricht den Channel übe seinen Alias oder über seinen vollständigen Channel-Namen an, also entweder

 # pear upgrade -a -B -c pear.horde.org

oder eben

 # pear upgrade -a -B -c pear

Das Ergebnis wird dabei am Bildschirm ausgegeben.

downloading Horde_ActiveSync-2.1.4.tgz ...
Starting to download Horde_ActiveSync-2.1.4.tgz (157,386 bytes)
.................................done: 157,386 bytes
upgrade ok: channel://pear.horde.org/Horde_ActiveSync-2.1.4

Deinstallation von Horde

Deinstallation einer Horde-Applikation

Hat man aus Neugierde oder einfach so zum Testen eine Horde-Applikation installiert und möchte diese wieder restlos vom System bekommen, so kann man natürlich nicht auf die Boardmittel rpm oder yum zurückgreifen, da wir die Installationsquelle PEAR bei der Installation verwendet hatten.

Wie schon bei der Installation und beim Upgrade greifen wir auch hier auf den Befehl pear zurück. In folgendem Beispiel entfernen wir die Anwendung ingo vom System.

  # pear uninstall horde/ingo
  uninstall ok: channel://pear.horde.org/ingo-3.0.2

Übrig bleiben dabei nur die local erzeugten bzw. bearbeiteten (Konfigurations-)Dateien und deren Verzeichnisse. Im gezeigten Beispiel der Anwendung ingo sind dies folgende Reste.

/var/www/horde
│ 
├── ingo
│   └── config
│       ├── backends.local.php
│       ├── conf.bak.php
│       └── conf.php

Diese können später wiederverwenden, wenn wir uns entscheiden sollten die Applikation wieder neu zu installieren.

Deinstallation der gesamten Horde-Installation

Auch die gesamte Hordeinstallation lässt sich genauso leicht entfernen, wie eine einzelne Applikation.

 # pear uninstall `pear list -c horde | tail -n +4 | awk '{ print "horde/"$1 }'`
<code>uninstall ok: channel://pear.horde.org/kronolith-4.0.3
uninstall ok: channel://pear.horde.org/Horde_Role-1.0.1
uninstall ok: channel://pear.horde.org/nag-4.0.2
uninstall ok: channel://pear.horde.org/Horde_Service_Facebook-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Rpc-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Timezone-1.0.1
uninstall ok: channel://pear.horde.org/Horde_SyncMl-2.0.2
uninstall ok: channel://pear.horde.org/content-2.0.1
uninstall ok: channel://pear.horde.org/timeobjects-2.0.2
uninstall ok: channel://pear.horde.org/mnemo-4.0.2
uninstall ok: channel://pear.horde.org/turba-4.0.2
uninstall ok: channel://pear.horde.org/imp-6.0.3
uninstall ok: channel://pear.horde.org/horde-5.0.3
uninstall ok: channel://pear.horde.org/Horde_Form-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Vfs-2.0.4
uninstall ok: channel://pear.horde.org/Horde_Core-2.1.5
uninstall ok: channel://pear.horde.org/Horde_Serialize-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Routes-2.0.2
uninstall ok: channel://pear.horde.org/Horde_ActiveSync-2.1.4
uninstall ok: channel://pear.horde.org/Horde_Mime_Viewer-2.0.2
uninstall ok: channel://pear.horde.org/Horde_LoginTasks-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Service_Twitter-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Oauth-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Pdf-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Rdo-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Template-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Token-2.0.2
uninstall ok: channel://pear.horde.org/Horde_View-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Xml_Element-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Xml_Wbxml-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Text_Filter_Csstidy-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Text_Diff-2.0.1
uninstall ok: channel://pear.horde.org/Horde_SessionHandler-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Share-2.0.2
uninstall ok: channel://pear.horde.org/Horde_SpellChecker-2.1.0
uninstall ok: channel://pear.horde.org/Horde_Lock-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Service_Weather-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Notification-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Feed-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Controller-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Group-2.0.1
uninstall ok: channel://pear.horde.org/Horde_History-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Image-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Http-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Crypt-2.1.1
uninstall ok: channel://pear.horde.org/Horde_ListHeaders-1.0.1
uninstall ok: channel://pear.horde.org/Horde_Date_Parser-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Data-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Tree-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Url-2.0.1
uninstall ok: channel://pear.horde.org/Horde_ElasticSearch-1.0.1
uninstall ok: channel://pear.horde.org/Horde_Editor-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Imsp-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Compress-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Browser-2.0.3
uninstall ok: channel://pear.horde.org/Horde_Kolab_Server-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Kolab_Storage-2.0.3
uninstall ok: channel://pear.horde.org/Horde_Auth-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Alarm-2.0.3
uninstall ok: channel://pear.horde.org/Horde_Argv-2.0.3
uninstall ok: channel://pear.horde.org/Horde_Kolab_Format-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Kolab_Session-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Injector-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Perms-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Ldap-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Itip-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Prefs-2.1.0
uninstall ok: channel://pear.horde.org/Horde_Date-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Translation-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Cli-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Constraint-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Cache-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Crypt_Blowfish-1.0.2
uninstall ok: channel://pear.horde.org/Horde_Util-2.0.3
uninstall ok: channel://pear.horde.org/Horde_Autoloader-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Stream_Filter-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Nls-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Imap_Client-2.5.0
uninstall ok: channel://pear.horde.org/Horde_Secret-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Mime-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Memcache-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Log-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Mail-2.0.3
uninstall ok: channel://pear.horde.org/Horde_Icalendar-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Exception-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Db-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Text_Filter-2.0.4
uninstall ok: channel://pear.horde.org/Horde_Text_Flowed-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Test-2.1.0
uninstall ok: channel://pear.horde.org/Horde_Support-2.0.2
uninstall ok: channel://pear.horde.org/Horde_Stream-1.2.0
uninstall ok: channel://pear.horde.org/Horde_Scribe-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Stream_Wrapper-2.0.1
uninstall ok: channel://pear.horde.org/Horde_Thrift-2.0.1

Anschließend können wir entweder das verbliebene Verzeichis /var/www/horde löschen oder wir heben die Konfigurationsdateien für eine spätere Neuinstallation auf.

Wollen wir die Konfigurationsdateien für später sichern, löschen wir als erstes die beiden Unterverzeichnisse js und static löschen wir noch einzeln.

 # rm -rf /var/www/horde/static /var/www/horde/js

Somit verbleiben nur noch die lokal erzeugten Konfigurationsdateien und der Verzeichnisse.

/var/www/horde
├── config
│   ├── conf.bak.php
│   ├── conf.php
│   ├── conf.php.old
│   ├── hooks.php
│   └── registry.local.php
├── imp
│   └── config
│       ├── backends.local.php
│       ├── backends.php.dist
│       ├── conf.bak.php
│       ├── conf.php
│       ├── filter.txt
│       ├── hooks.php
│       └── menu.php
├── ingo
│   └── config
│       ├── backends.local.php
│       ├── conf.bak.php
│       └── conf.php
├── kronolith
│   └── config
│       ├── conf.bak.php
│       ├── conf.php
│       ├── hooks.php
│       └── menu.php
├── mnemo
│   └── config
│       ├── conf.bak.php
│       ├── conf.php
│       └── hooks.php
├── nag
│   └── config
│       ├── conf.bak.php
│       ├── conf.php
│       ├── hooks.php
│       └── menu.php
└── turba
    └── config
        ├── backends.local.php
        ├── conf.bak.php
        ├── conf.php
        ├── hooks.php
        └── menu.php

13 directories, 31 files

Die Reste packen wir uns nun für später in ein tar.gz-Archiv und löschen anschließend das Verzeichnis.

 # tar cfvj /root/horde_config.tar.bz2 /var/www/horde
 # rm -rf /var/www/horde

alle Tabellen der Horde-Datenbank löschen

Wollen horde neu installieren, so ist es notwendig, die zugehörige Datenbank „auf Null zurückzusetzen“, also alle Tabellen zu löschen, aber die Datenbank an sich nicht zu löschen.

Hat man keinen Zugriff auf die Datenbank mit Hilfe einer Web-GUI wie phpMyAdmin, so kann man das gewünschte Ergebnis auch schnell und einfach von der Konsole aus mit dem Befehl mysql bewerkstelligen.

Um jetzt nicht alle Tabellen einzeln mit dem truncate-Befehl zu löschen greifen wir auf einen einfachen aber effektiven Einzeiler zurück.

 # mysql -D <datenbankname> -h <datenbankhost> -u <datenbankuser> --password=<passwort> -e "show tables" | grep -v Tables_in | grep -v "+" | gawk '{print "drop table " $1 ";"}' | mysql -D <datenbankname> -h <datenbankhost> -u <datenbankuser> --password=<passwort>

Voila, schon haben wir wieder eine jungfräuliche, also mit keinen Datenbanktabellen, Datenbank und wir können beim Applikationstest wieder von vorne beginnen.

Links