Grundinstallation - und Konfiguration
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:
- 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
# 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.