Inhaltsverzeichnis

Horde Framework 5 unter CentOS 7.x mit Apache 2.4, PHP 7 und PHP-FPM installieren und einrichten - Grundinstallation und Konfiguration

Bild: Horde Logo Horde Groupware ist eine freie browserbasierte Kommunikationsplattform für den professionellen Einsatz. Die Anwender haben so die Möglichkeiten Ihre täglichen Aufgaben(-planungen) und Nachrichten komfortabel über einen Webbrowser oder von einem Smartphone/Tablett 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 7.x einen Horde 5 Groupware-Server mit PHP 7 und dem Alternativer FastCGI Process Manager installiert und konfiguriert werden kann. Im Gegensatz zur RPM-Installation mit PHP5, die hier beschrieben ist, werden wir die Installation in diesem Konfigurationsbeispiel nicht mit Hilfe svon RPM-Paketen, sondern dem PHP Extension and Application Repository - PEAR vornehmen.

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. Die PHP 7 Pakete beziehen wir aus dem Repository IUS. Im Detail sind das folgende Pakete:

 # yum install php70u-cli php70u-gd php70u-intl php70u-mbstring php70u-mysqlnd \
   php70u-mcrypt php70u-pear php70u-pecl-geoip php70u-pecl-imagick php70u-pecl-memcached \
   php70u-tidy perl-Image-ExifTool aspell aspell-de GeoIP GeoIP-data syntaxhighlighter \
   prototype scriptaculous -y

Wie immer kann man sich mit Hilfe des Aufrufes rpm -qil <Paketname> anzeigen 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

Anschliessend 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 den in unserer Anwendungsumgebung passendsten Ort so z.B. am einfachsten /srv/www/html/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 /srv/www/html/horde

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

 # chown -R root:php-fpm /srv/www/html/horde
 # chmod -R 775 /srv/www/html/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 /srv/www/html/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 /srv/www/html/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
WARNING: "pear/Console_Getopt" is deprecated in favor of "pear/Console_GetoptPlus"
Failed to download pecl/sasl within preferred state "stable", latest release is version 0.1.0, stability "alpha", use "channel://pecl.php.net/sasl-0.1.0" to install
Failed to download horde/Horde_Backup within preferred state "stable", latest release is version 1.0.0RC1, stability "beta", use "channel://pear.horde.org/Horde_Backup-1.0.0RC1" to install
Failed to download pecl/idn within preferred state "stable", latest release is version 0.2.0, stability "beta", use "channel://pecl.php.net/idn-0.2.0" to install
Failed to download pear/Console_Color2 within preferred state "stable", latest release is version 0.1.2, stability "alpha", use "channel://pear.php.net/Console_Color2-0.1.2" to install
Unknown remote channel: pear.nrk.io
^C
[root@vml000107 ~]# ll /srv/www/html/horde/
total 0
[root@vml000107 ~]# pear install -B -a horde/horde
WARNING: "pear/Console_Getopt" is deprecated in favor of "pear/Console_GetoptPlus"
Failed to download pecl/sasl within preferred state "stable", latest release is version 0.1.0, stability "alpha", use "channel://pecl.php.net/sasl-0.1.0" to install
Failed to download horde/Horde_Backup within preferred state "stable", latest release is version 1.0.0RC1, stability "beta", use "channel://pear.horde.org/Horde_Backup-1.0.0RC1" to install
Failed to download pecl/idn within preferred state "stable", latest release is version 0.2.0, stability "beta", use "channel://pecl.php.net/idn-0.2.0" to install
Failed to download pear/Console_Color2 within preferred state "stable", latest release is version 0.1.2, stability "alpha", use "channel://pear.php.net/Console_Color2-0.1.2" to install
Unknown remote channel: pear.nrk.io
WARNING: "pear/HTTP_Request" is deprecated in favor of "pear/HTTP_Request2"
WARNING: "pecl/mongo" is deprecated in favor of "channel:///mongodb"
WARNING: "pear/Auth_SASL" is deprecated in favor of "pear/Auth_SASL2"
horde/Horde_Auth can optionally use package "pecl/sasl"
horde/Horde_Core can optionally use package "horde/Horde_Backup" (version >= 1.0.0, version <= 2.0.0alpha1, excluded versions: 3.0.0alpha1)
horde/Horde_Mime can optionally use package "pecl/idn"
horde/Horde_Rpc can optionally use PHP extension "soap"
horde/Horde_Rpc can optionally use PHP extension "xmlrpc"
horde/Horde_Db can optionally use PHP extension "mysql"
horde/Horde_Db can optionally use PHP extension "oci8"
pear/Console_Table can optionally use package "pear/Console_Color2" (version >= 0.1.2)
horde/Horde_Cache can optionally use PHP extension "eaccelerator" (version >= 0.9.5, version <= 0.9.6, excluded versions: 0.9.6)
horde/Horde_Cache can optionally use PHP extension "xcache"
horde/Horde_HashTable can optionally use package "channel://pear.nrk.io/Predis" (version >= 0.8.3)
pecl/ssh2 requires PHP (version >= 4.0.0, version <= 6.0.0), installed version is 7.0.23
pecl/mongo requires PHP (version >= 5.3.0, version <= 5.99.99), installed version is 7.0.23
downloading horde-5.2.17.tgz ...
Starting to download horde-5.2.17.tgz (2,946,297 bytes)
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................done: 2,946,297 bytes
downloading Horde_Alarm-2.2.10.tgz ...
Starting to download Horde_Alarm-2.2.10.tgz (39,026 bytes)
...done: 39,026 bytes
downloading Horde_Argv-2.1.0.tgz ...
Starting to download Horde_Argv-2.1.0.tgz (64,636 bytes)
...done: 64,636 bytes
downloading Horde_Auth-2.2.2.tgz ...
Starting to download Horde_Auth-2.2.2.tgz (60,174 bytes)
...done: 60,174 bytes
downloading Horde_Autoloader-2.1.2.tgz ...
Starting to download Horde_Autoloader-2.1.2.tgz (15,521 bytes)
...done: 15,521 bytes
downloading Horde_Browser-2.0.15.tgz ...
Starting to download Horde_Browser-2.0.15.tgz (37,935 bytes)
...done: 37,935 bytes
downloading Horde_Core-2.31.0.tgz ...
Starting to download Horde_Core-2.31.0.tgz (1,662,583 bytes)
...done: 1,662,583 bytes
downloading Horde_Date-2.4.1.tgz ...
Starting to download Horde_Date-2.4.1.tgz (73,961 bytes)
...done: 73,961 bytes
downloading Horde_Exception-2.0.8.tgz ...
Starting to download Horde_Exception-2.0.8.tgz (24,402 bytes)
...done: 24,402 bytes
downloading Horde_Form-2.0.18.tgz ...
Starting to download Horde_Form-2.0.18.tgz (197,432 bytes)
...done: 197,432 bytes
downloading Horde_Group-2.1.1.tgz ...
Starting to download Horde_Group-2.1.1.tgz (23,174 bytes)
...done: 23,174 bytes
downloading Horde_Http-2.1.7.tgz ...
Starting to download Horde_Http-2.1.7.tgz (15,199 bytes)
...done: 15,199 bytes
downloading Horde_Image-2.5.2.tgz ...
Starting to download Horde_Image-2.5.2.tgz (778,627 bytes)
...done: 778,627 bytes
downloading Horde_LoginTasks-2.0.7.tgz ...
Starting to download Horde_LoginTasks-2.0.7.tgz (30,230 bytes)
...done: 30,230 bytes
downloading Horde_Mail-2.6.4.tgz ...
Starting to download Horde_Mail-2.6.4.tgz (38,087 bytes)
...done: 38,087 bytes
downloading Horde_Mime-2.10.3.tgz ...
Starting to download Horde_Mime-2.10.3.tgz (143,657 bytes)
...done: 143,657 bytes
downloading Horde_Nls-2.2.1.tgz ...
Starting to download Horde_Nls-2.2.1.tgz (448,774 bytes)
...done: 448,774 bytes
downloading Horde_Perms-2.1.7.tgz ...
Starting to download Horde_Perms-2.1.7.tgz (37,824 bytes)
...done: 37,824 bytes
downloading Horde_Prefs-2.9.0.tgz ...
Starting to download Horde_Prefs-2.9.0.tgz (54,916 bytes)
...done: 54,916 bytes
downloading Horde_Rpc-2.1.8.tgz ...
Starting to download Horde_Rpc-2.1.8.tgz (39,096 bytes)
...done: 39,096 bytes
downloading Horde_Serialize-2.0.5.tgz ...
Starting to download Horde_Serialize-2.0.5.tgz (16,090 bytes)
...done: 16,090 bytes
downloading Horde_Support-2.2.0.tgz ...
Starting to download Horde_Support-2.2.0.tgz (24,787 bytes)
...done: 24,787 bytes
downloading Horde_Text_Diff-2.2.0.tgz ...
Starting to download Horde_Text_Diff-2.2.0.tgz (29,673 bytes)
...done: 29,673 bytes
downloading Horde_Token-2.0.9.tgz ...
Starting to download Horde_Token-2.0.9.tgz (31,728 bytes)
...done: 31,728 bytes
downloading Horde_Text_Filter-2.3.5.tgz ...
Starting to download Horde_Text_Filter-2.3.5.tgz (54,438 bytes)
...done: 54,438 bytes
downloading Horde_Tree-2.0.5.tgz ...
Starting to download Horde_Tree-2.0.5.tgz (19,049 bytes)
...done: 19,049 bytes
downloading Horde_Url-2.2.6.tgz ...
Starting to download Horde_Url-2.2.6.tgz (16,479 bytes)
...done: 16,479 bytes
downloading Horde_Util-2.5.8.tgz ...
Starting to download Horde_Util-2.5.8.tgz (36,540 bytes)
...done: 36,540 bytes
downloading Horde_View-2.0.6.tgz ...
Starting to download Horde_View-2.0.6.tgz (43,952 bytes)
...done: 43,952 bytes
downloading Horde_Vfs-2.4.0.tgz ...
Starting to download Horde_Vfs-2.4.0.tgz (73,791 bytes)
...done: 73,791 bytes
downloading Net_DNS2-1.4.3.tgz ...
Starting to download Net_DNS2-1.4.3.tgz (82,572 bytes)
...done: 82,572 bytes
downloading Horde_ActiveSync-2.38.8.tgz ...
Starting to download Horde_ActiveSync-2.38.8.tgz (386,632 bytes)
...done: 386,632 bytes
downloading Horde_Db-2.4.0.tgz ...
Starting to download Horde_Db-2.4.0.tgz (96,916 bytes)
...done: 96,916 bytes
downloading Horde_Feed-2.0.4.tgz ...
Starting to download Horde_Feed-2.0.4.tgz (1,612,541 bytes)
...done: 1,612,541 bytes
downloading Horde_Oauth-2.0.4.tgz ...
Starting to download Horde_Oauth-2.0.4.tgz (6,175 bytes)
...done: 6,175 bytes
downloading Horde_OpenXchange-1.0.1.tgz ...
Starting to download Horde_OpenXchange-1.0.1.tgz (6,006 bytes)
...done: 6,006 bytes
downloading Horde_Service_Facebook-2.0.10.tgz ...
Starting to download Horde_Service_Facebook-2.0.10.tgz (31,330 bytes)
...done: 31,330 bytes
downloading Horde_Service_Twitter-2.1.6.tgz ...
Starting to download Horde_Service_Twitter-2.1.6.tgz (9,756 bytes)
...done: 9,756 bytes
downloading Horde_Service_Weather-2.5.4.tgz ...
Starting to download Horde_Service_Weather-2.5.4.tgz (215,881 bytes)
...done: 215,881 bytes
downloading Horde_SyncMl-2.0.7.tgz ...
Starting to download Horde_SyncMl-2.0.7.tgz (136,309 bytes)
...done: 136,309 bytes
downloading Console_Table-1.3.0.tgz ...
Starting to download Console_Table-1.3.0.tgz (11,391 bytes)
...done: 11,391 bytes
downloading File_Find-1.3.3.tgz ...
Starting to download File_Find-1.3.3.tgz (8,212 bytes)
...done: 8,212 bytes
downloading Horde_Translation-2.2.2.tgz ...
Starting to download Horde_Translation-2.2.2.tgz (15,959 bytes)
...done: 15,959 bytes
downloading Horde_Log-2.3.0.tgz ...
Starting to download Horde_Log-2.3.0.tgz (14,806 bytes)
...done: 14,806 bytes
downloading Horde_Notification-2.0.4.tgz ...
Starting to download Horde_Notification-2.0.4.tgz (21,018 bytes)
...done: 21,018 bytes
downloading Horde_Test-2.6.3.tgz ...
Starting to download Horde_Test-2.6.3.tgz (732,814 bytes)
...done: 732,814 bytes
downloading Horde_Cli-2.2.4.tgz ...
Starting to download Horde_Cli-2.2.4.tgz (29,622 bytes)
...done: 29,622 bytes
downloading Horde_History-2.3.6.tgz ...
Starting to download Horde_History-2.3.6.tgz (26,205 bytes)
...done: 26,205 bytes
downloading Horde_Lock-2.1.4.tgz ...
Starting to download Horde_Lock-2.1.4.tgz (17,580 bytes)
...done: 17,580 bytes
downloading Horde_Imap_Client-2.29.15.tgz ...
Starting to download Horde_Imap_Client-2.29.15.tgz (250,047 bytes)
...done: 250,047 bytes
downloading Horde_Kolab_Session-2.0.3.tgz ...
Starting to download Horde_Kolab_Session-2.0.3.tgz (21,250 bytes)
...done: 21,250 bytes
downloading Horde_Ldap-2.4.0.tgz ...
Starting to download Horde_Ldap-2.4.0.tgz (65,012 bytes)
...done: 65,012 bytes
downloading Horde_Imsp-2.0.10.tgz ...
Starting to download Horde_Imsp-2.0.10.tgz (33,324 bytes)
...done: 33,324 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.5.5.tgz ...
Starting to download Horde_Cache-2.5.5.tgz (27,049 bytes)
...done: 27,049 bytes
downloading Horde_Compress-2.2.1.tgz ...
Starting to download Horde_Compress-2.2.1.tgz (2,198,999 bytes)
...done: 2,198,999 bytes
downloading Horde_Compress_Fast-1.1.1.tgz ...
Starting to download Horde_Compress_Fast-1.1.1.tgz (12,992 bytes)
...done: 12,992 bytes
downloading Horde_Controller-2.0.4.tgz ...
Starting to download Horde_Controller-2.0.4.tgz (10,675 bytes)
...done: 10,675 bytes
downloading Horde_CssMinify-1.0.4.tgz ...
Starting to download Horde_CssMinify-1.0.4.tgz (11,717 bytes)
...done: 11,717 bytes
downloading Horde_Data-2.1.4.tgz ...
Starting to download Horde_Data-2.1.4.tgz (44,351 bytes)
...done: 44,351 bytes
downloading Horde_HashTable-1.2.6.tgz ...
Starting to download Horde_HashTable-1.2.6.tgz (16,739 bytes)
...done: 16,739 bytes
downloading Horde_Injector-2.0.5.tgz ...
Starting to download Horde_Injector-2.0.5.tgz (21,867 bytes)
...done: 21,867 bytes
downloading Horde_JavascriptMinify-1.1.5.tgz ...
Starting to download Horde_JavascriptMinify-1.1.5.tgz (15,419 bytes)
...done: 15,419 bytes
downloading Horde_Mime_Viewer-2.2.2.tgz ...
Starting to download Horde_Mime_Viewer-2.2.2.tgz (410,159 bytes)
...done: 410,159 bytes
downloading Horde_Pack-1.0.7.tgz ...
Starting to download Horde_Pack-1.0.7.tgz (16,074 bytes)
...done: 16,074 bytes
downloading Horde_Secret-2.0.6.tgz ...
Starting to download Horde_Secret-2.0.6.tgz (13,638 bytes)
...done: 13,638 bytes
downloading Horde_SessionHandler-2.2.9.tgz ...
Starting to download Horde_SessionHandler-2.2.9.tgz (24,709 bytes)
...done: 24,709 bytes
downloading Horde_Share-2.1.2.tgz ...
Starting to download Horde_Share-2.1.2.tgz (61,126 bytes)
...done: 61,126 bytes
downloading Horde_Template-2.0.3.tgz ...
Starting to download Horde_Template-2.0.3.tgz (14,897 bytes)
...done: 14,897 bytes
downloading Horde_Crypt-2.7.11.tgz ...
Starting to download Horde_Crypt-2.7.11.tgz (154,850 bytes)
...done: 154,850 bytes
downloading Horde_Dav-1.1.4.tgz ...
Starting to download Horde_Dav-1.1.4.tgz (247,189 bytes)
...done: 247,189 bytes
downloading Horde_Editor-2.0.5.tgz ...
Starting to download Horde_Editor-2.0.5.tgz (744,870 bytes)
...done: 744,870 bytes
downloading Horde_ElasticSearch-1.0.4.tgz ...
Starting to download Horde_ElasticSearch-1.0.4.tgz (4,006 bytes)
...done: 4,006 bytes
downloading Horde_Icalendar-2.1.7.tgz ...
Starting to download Horde_Icalendar-2.1.7.tgz (107,673 bytes)
...done: 107,673 bytes
downloading Horde_JavascriptMinify_Jsmin-1.0.2.tgz ...
Starting to download Horde_JavascriptMinify_Jsmin-1.0.2.tgz (4,826 bytes)
...done: 4,826 bytes
downloading Horde_Kolab_Server-2.0.5.tgz ...
Starting to download Horde_Kolab_Server-2.0.5.tgz (101,943 bytes)
...done: 101,943 bytes
downloading Horde_Kolab_Storage-2.2.3.tgz ...
Starting to download Horde_Kolab_Storage-2.2.3.tgz (178,498 bytes)
...done: 178,498 bytes
downloading Horde_Mongo-1.1.0.tgz ...
Starting to download Horde_Mongo-1.1.0.tgz (99,713 bytes)
...done: 99,713 bytes
downloading Horde_Queue-1.1.5.tgz ...
Starting to download Horde_Queue-1.1.5.tgz (12,009 bytes)
...done: 12,009 bytes
downloading Horde_Routes-2.0.5.tgz ...
Starting to download Horde_Routes-2.0.5.tgz (45,034 bytes)
...done: 45,034 bytes
downloading Horde_SpellChecker-2.1.3.tgz ...
Starting to download Horde_SpellChecker-2.1.3.tgz (13,255 bytes)
...done: 13,255 bytes
downloading Text_LanguageDetect-1.0.0.tgz ...
Starting to download Text_LanguageDetect-1.0.0.tgz (125,576 bytes)
...done: 125,576 bytes
downloading pecl_http-3.1.0.tgz ...
Starting to download pecl_http-3.1.0.tgz (214,166 bytes)
...done: 214,166 bytes
downloading Horde_Stream-1.6.3.tgz ...
Starting to download Horde_Stream-1.6.3.tgz (18,014 bytes)
...done: 18,014 bytes
downloading Horde_Idna-1.1.1.tgz ...
Starting to download Horde_Idna-1.1.1.tgz (9,835 bytes)
...done: 9,835 bytes
downloading Horde_Stream_Filter-2.0.4.tgz ...
Starting to download Horde_Stream_Filter-2.0.4.tgz (13,535 bytes)
...done: 13,535 bytes
downloading Horde_Smtp-1.9.5.tgz ...
Starting to download Horde_Smtp-1.9.5.tgz (33,751 bytes)
...done: 33,751 bytes
downloading Horde_Stream_Wrapper-2.1.3.tgz ...
Starting to download Horde_Stream_Wrapper-2.1.3.tgz (5,524 bytes)
...done: 5,524 bytes
downloading Horde_ListHeaders-1.2.5.tgz ...
Starting to download Horde_ListHeaders-1.2.5.tgz (17,486 bytes)
...done: 17,486 bytes
downloading Horde_Text_Flowed-2.0.3.tgz ...
Starting to download Horde_Text_Flowed-2.0.3.tgz (14,273 bytes)
...done: 14,273 bytes
downloading intl-3.0.0.tgz ...
Starting to download intl-3.0.0.tgz (248,200 bytes)
...done: 248,200 bytes
downloading Horde_Xml_Element-2.0.4.tgz ...
Starting to download Horde_Xml_Element-2.0.4.tgz (10,932 bytes)
...done: 10,932 bytes
downloading LZF-1.6.6.tgz ...
Starting to download LZF-1.6.6.tgz (17,603 bytes)
...done: 17,603 bytes
downloading xdiff-2.0.1.tgz ...
Starting to download xdiff-2.0.1.tgz (10,418 bytes)
...done: 10,418 bytes
downloading Horde_Text_Filter_Jsmin-1.0.2.tgz ...
Starting to download Horde_Text_Filter_Jsmin-1.0.2.tgz (4,646 bytes)
...done: 4,646 bytes
downloading Horde_Mapi-1.0.8.tgz ...
Starting to download Horde_Mapi-1.0.8.tgz (18,380 bytes)
...done: 18,380 bytes
downloading Horde_Xml_Wbxml-2.0.3.tgz ...
Starting to download Horde_Xml_Wbxml-2.0.3.tgz (26,620 bytes)
...done: 26,620 bytes
downloading Horde_Constraint-2.0.3.tgz ...
Starting to download Horde_Constraint-2.0.3.tgz (5,073 bytes)
...done: 5,073 bytes
downloading Horde_Scribe-2.0.3.tgz ...
Starting to download Horde_Scribe-2.0.3.tgz (5,106 bytes)
...done: 5,106 bytes
downloading Horde_Socket_Client-2.1.1.tgz ...
Starting to download Horde_Socket_Client-2.1.1.tgz (12,852 bytes)
...done: 12,852 bytes
downloading Horde_Crypt_Blowfish-1.1.2.tgz ...
Starting to download Horde_Crypt_Blowfish-1.1.2.tgz (26,056 bytes)
...done: 26,056 bytes
downloading Horde_Stringprep-1.0.4.tgz ...
Starting to download Horde_Stringprep-1.0.4.tgz (65,383 bytes)
...done: 65,383 bytes
downloading Horde_Memcache-2.1.1.tgz ...
Starting to download Horde_Memcache-2.1.1.tgz (15,009 bytes)
...done: 15,009 bytes
downloading APC-3.1.13.tgz ...
Starting to download APC-3.1.13.tgz (171,591 bytes)
...done: 171,591 bytes
downloading horde_lz4-1.0.10.tgz ...
Starting to download horde_lz4-1.0.10.tgz (31,229 bytes)
...done: 31,229 bytes
downloading Horde_Css_Parser-1.0.11.tgz ...
Starting to download Horde_Css_Parser-1.0.11.tgz (81,943 bytes)
...done: 81,943 bytes
downloading msgpack-2.0.2.tgz ...
Starting to download msgpack-2.0.2.tgz (45,601 bytes)
...done: 45,601 bytes
downloading Horde_Kolab_Format-2.0.9.tgz ...
Starting to download Horde_Kolab_Format-2.0.9.tgz (58,281 bytes)
...done: 58,281 bytes
downloading Net_IMAP-1.1.3.tgz ...
Starting to download Net_IMAP-1.1.3.tgz (41,082 bytes)
...done: 41,082 bytes
downloading mongodb-1.3.0.tgz ...
Starting to download mongodb-1.3.0.tgz (927,842 bytes)
...done: 927,842 bytes
downloading raphf-2.0.0.tgz ...
Starting to download raphf-2.0.0.tgz (15,715 bytes)
...done: 15,715 bytes
downloading propro-2.0.1.tgz ...
Starting to download propro-2.0.1.tgz (13,399 bytes)
...done: 13,399 bytes
downloading Horde_Thrift-2.0.3.tgz ...
Starting to download Horde_Thrift-2.0.3.tgz (22,696 bytes)
...done: 22,696 bytes
downloading memcache-2.2.7.tgz ...
Starting to download memcache-2.2.7.tgz (36,459 bytes)
...done: 36,459 bytes
install ok: channel://pear.horde.org/Horde_Autoloader-2.1.2
install ok: channel://pear.horde.org/Horde_Util-2.5.8
install ok: channel://pear.php.net/Net_DNS2-1.4.3
install ok: channel://pear.php.net/Console_Table-1.3.0
install ok: channel://pear.php.net/File_Find-1.3.3
install ok: channel://pear.horde.org/Horde_Translation-2.2.2
install ok: channel://pecl.php.net/pam-1.0.3
install ok: channel://pear.horde.org/Horde_Template-2.0.3
install ok: channel://pear.horde.org/Horde_Mongo-1.1.0
install ok: channel://pear.horde.org/Horde_Queue-1.1.5
install ok: channel://pear.php.net/Text_LanguageDetect-1.0.0
install ok: channel://pear.horde.org/Horde_Stream_Filter-2.0.4
install ok: channel://pear.horde.org/Horde_Stream_Wrapper-2.1.3
install ok: channel://pecl.php.net/intl-3.0.0
install ok: channel://pecl.php.net/LZF-1.6.6
install ok: channel://pecl.php.net/xdiff-2.0.1
install ok: channel://pear.horde.org/Horde_Constraint-2.0.3
install ok: channel://pear.horde.org/Horde_Stringprep-1.0.4
install ok: channel://pecl.php.net/APC-3.1.13
install ok: channel://pear.horde.org/horde_lz4-1.0.10
install ok: channel://pear.horde.org/Horde_Css_Parser-1.0.11
install ok: channel://pecl.php.net/msgpack-2.0.2
install ok: channel://pear.php.net/Net_IMAP-1.1.3
install ok: channel://pecl.php.net/mongodb-1.3.0
install ok: channel://pecl.php.net/raphf-2.0.0
install ok: channel://pecl.php.net/propro-2.0.1
install ok: channel://pear.horde.org/Horde_Thrift-2.0.3
install ok: channel://pecl.php.net/memcache-2.2.7
install ok: channel://pear.horde.org/Horde_Exception-2.0.8
install ok: channel://pear.horde.org/Horde_LoginTasks-2.0.7
install ok: channel://pear.horde.org/Horde_Nls-2.2.1
install ok: channel://pear.horde.org/Horde_Imsp-2.0.10
install ok: channel://pecl.php.net/pecl_http-3.1.0
install ok: channel://pear.horde.org/Horde_ListHeaders-1.2.5
install ok: channel://pear.horde.org/Horde_Text_Flowed-2.0.3
install ok: channel://pear.horde.org/Horde_Xml_Wbxml-2.0.3
install ok: channel://pear.horde.org/Horde_Scribe-2.0.3
install ok: channel://pear.horde.org/Horde_Auth-2.2.2
install ok: channel://pear.horde.org/Horde_Browser-2.0.15
install ok: channel://pear.horde.org/Horde_Date-2.4.1
install ok: channel://pear.horde.org/Horde_Serialize-2.0.5
install ok: channel://pear.horde.org/Horde_Support-2.2.0
install ok: channel://pear.horde.org/Horde_Text_Diff-2.2.0
install ok: channel://pear.horde.org/Horde_Url-2.2.6
install ok: channel://pear.horde.org/Horde_Vfs-2.4.0
install ok: channel://pear.horde.org/Horde_Log-2.3.0
install ok: channel://pear.horde.org/Horde_Notification-2.0.4
install ok: channel://pear.horde.org/Horde_Kolab_Session-2.0.3
install ok: channel://pear.horde.org/Horde_Ldap-2.4.0
install ok: channel://pear.horde.org/Horde_Compress_Fast-1.1.1
install ok: channel://pear.horde.org/Horde_HashTable-1.2.6
install ok: channel://pear.horde.org/Horde_Injector-2.0.5
install ok: channel://pear.horde.org/Horde_Routes-2.0.5
install ok: channel://pear.horde.org/Horde_SpellChecker-2.1.3
install ok: channel://pear.horde.org/Horde_Stream-1.6.3
install ok: channel://pear.horde.org/Horde_Idna-1.1.1
install ok: channel://pear.horde.org/Horde_Xml_Element-2.0.4
install ok: channel://pear.horde.org/Horde_Socket_Client-2.1.1
install ok: channel://pear.horde.org/Horde_Memcache-2.1.1
install ok: channel://pear.horde.org/Horde_Kolab_Format-2.0.9
install ok: channel://pear.horde.org/Horde_Alarm-2.2.10
install ok: channel://pear.horde.org/Horde_Group-2.1.1
install ok: channel://pear.horde.org/Horde_Http-2.1.7
install ok: channel://pear.horde.org/Horde_Image-2.5.2
install ok: channel://pear.horde.org/Horde_Mime-2.10.3
install ok: channel://pear.horde.org/Horde_Token-2.0.9
install ok: channel://pear.horde.org/Horde_Text_Filter-2.3.5
install ok: channel://pear.horde.org/Horde_Tree-2.0.5
install ok: channel://pear.horde.org/Horde_View-2.0.6
install ok: channel://pear.horde.org/Horde_Db-2.4.0
install ok: channel://pear.horde.org/Horde_Test-2.6.3
install ok: channel://pear.horde.org/Horde_Cli-2.2.4
install ok: channel://pear.horde.org/Horde_Lock-2.1.4
install ok: channel://pear.horde.org/Horde_Cache-2.5.5
install ok: channel://pear.horde.org/Horde_Controller-2.0.4
install ok: channel://pear.horde.org/Horde_CssMinify-1.0.4
install ok: channel://pear.horde.org/Horde_JavascriptMinify-1.1.5
install ok: channel://pear.horde.org/Horde_Pack-1.0.7
install ok: channel://pear.horde.org/Horde_SessionHandler-2.2.9
install ok: channel://pear.horde.org/Horde_Editor-2.0.5
install ok: channel://pear.horde.org/Horde_Kolab_Server-2.0.5
install ok: channel://pear.horde.org/Horde_Mapi-1.0.8
install ok: channel://pear.horde.org/Horde_Crypt_Blowfish-1.1.2
install ok: channel://pear.horde.org/Horde_Argv-2.1.0
install ok: channel://pear.horde.org/Horde_Mail-2.6.4
install ok: channel://pear.horde.org/Horde_Perms-2.1.7
install ok: channel://pear.horde.org/Horde_Feed-2.0.4
install ok: channel://pear.horde.org/Horde_Oauth-2.0.4
install ok: channel://pear.horde.org/Horde_Service_Facebook-2.0.10
install ok: channel://pear.horde.org/Horde_Service_Weather-2.5.4
install ok: channel://pear.horde.org/Horde_History-2.3.6
install ok: channel://pear.horde.org/Horde_Compress-2.2.1
install ok: channel://pear.horde.org/Horde_Secret-2.0.6
install ok: channel://pear.horde.org/Horde_Crypt-2.7.11
install ok: channel://pear.horde.org/Horde_ElasticSearch-1.0.4
install ok: channel://pear.horde.org/Horde_JavascriptMinify_Jsmin-1.0.2
install ok: channel://pear.horde.org/Horde_Kolab_Storage-2.2.3
install ok: channel://pear.horde.org/Horde_Text_Filter_Jsmin-1.0.2
install ok: channel://pear.horde.org/Horde_Prefs-2.9.0
install ok: channel://pear.horde.org/Horde_OpenXchange-1.0.1
install ok: channel://pear.horde.org/Horde_Service_Twitter-2.1.6
install ok: channel://pear.horde.org/Horde_Imap_Client-2.29.15
install ok: channel://pear.horde.org/Horde_Mime_Viewer-2.2.2
install ok: channel://pear.horde.org/Horde_Share-2.1.2
install ok: channel://pear.horde.org/Horde_Icalendar-2.1.7
install ok: channel://pear.horde.org/Horde_Smtp-1.9.5
install ok: channel://pear.horde.org/Horde_ActiveSync-2.38.8
install ok: channel://pear.horde.org/Horde_SyncMl-2.0.7
install ok: channel://pear.horde.org/Horde_Data-2.1.4
install ok: channel://pear.horde.org/Horde_Core-2.31.0
install ok: channel://pear.horde.org/Horde_Form-2.0.18
install ok: channel://pear.horde.org/Horde_Dav-1.1.4
install ok: channel://pear.horde.org/Horde_Rpc-2.1.8
install ok: channel://pear.horde.org/horde-5.2.17

Unser Installationsverzeichnis beinhaltet nun folgende Struktur und Dateien.

/srv/www/html/horde/
├── admin
│   ├── activesync.php
│   ├── alarms.php
│   ├── cmdshell.php
│   ├── config
│   │   ├── config.php
│   │   ├── diff.php
│   │   ├── index.php
│   │   └── scripts.php
│   ├── groups.php
│   ├── index.html
│   ├── locale
│   │   ├── de
│   │   │   └── help.xml
│   │   ├── en
│   │   │   └── help.xml
│   │   ├── es
│   │   │   └── help.xml
│   │   ├── eu
│   │   │   └── help.xml
│   │   ├── fi
│   │   │   └── help.xml
│   │   ├── hr
│   │   │   └── help.xml
│   │   ├── hu
│   │   │   └── help.xml
│   │   ├── lv
│   │   │   └── help.xml
│   │   └── nl
│   │       └── help.xml
│   ├── locks.php
│   ├── perms
│   │   ├── addchild.php
│   │   ├── delete.php
│   │   ├── edit.php
│   │   └── index.php
│   ├── phpshell.php
│   ├── sessions.php
│   ├── signup_confirm.php
│   ├── sqlshell.php
│   └── user.php
├── config
│   ├── conf.php.dist
│   ├── conf.xml
│   ├── hooks.php.dist
│   ├── mime_drivers.php
│   ├── motd.php
│   ├── nls.php
│   ├── prefs.php
│   ├── registry.d
│   │   └── README
│   ├── registry.php
│   └── spelling.php
├── index.php
├── install
│   └── horde.php
├── js
│   ├── accesskeys.js
│   ├── activesyncadmin.js
│   ├── activesyncprefs.js
│   ├── addressbooksprefs.js
│   ├── alarmprefs.js
│   ├── autocomplete.js
│   ├── calendar.js
│   ├── categoryprefs.js
│   ├── ckeditor
│   │   ├── ckeditor_basic.js
│   │   ├── ckeditor.js
│   │   ├── config.js
│   │   ├── contents.css
│   │   ├── images
│   │   │   └── spacer.gif
│   │   ├── lang
│   │   │   ├── af.js
│   │   │   ├── ar.js
│   │   │   ├── bg.js
│   │   │   ├── bn.js
│   │   │   ├── bs.js
│   │   │   ├── ca.js
│   │   │   ├── cs.js
│   │   │   ├── cy.js
│   │   │   ├── da.js
│   │   │   ├── de.js
│   │   │   ├── el.js
│   │   │   ├── en-au.js
│   │   │   ├── en-ca.js
│   │   │   ├── en-gb.js
│   │   │   ├── en.js
│   │   │   ├── eo.js
│   │   │   ├── es.js
│   │   │   ├── et.js
│   │   │   ├── eu.js
│   │   │   ├── fa.js
│   │   │   ├── fi.js
│   │   │   ├── fo.js
│   │   │   ├── fr-ca.js
│   │   │   ├── fr.js
│   │   │   ├── gl.js
│   │   │   ├── gu.js
│   │   │   ├── he.js
│   │   │   ├── hi.js
│   │   │   ├── hr.js
│   │   │   ├── hu.js
│   │   │   ├── id.js
│   │   │   ├── is.js
│   │   │   ├── it.js
│   │   │   ├── ja.js
│   │   │   ├── ka.js
│   │   │   ├── km.js
│   │   │   ├── ko.js
│   │   │   ├── ku.js
│   │   │   ├── _languages.js
│   │   │   ├── lt.js
│   │   │   ├── lv.js
│   │   │   ├── mk.js
│   │   │   ├── mn.js
│   │   │   ├── ms.js
│   │   │   ├── nb.js
│   │   │   ├── nl.js
│   │   │   ├── no.js
│   │   │   ├── pl.js
│   │   │   ├── pt-br.js
│   │   │   ├── pt.js
│   │   │   ├── ro.js
│   │   │   ├── ru.js
│   │   │   ├── sk.js
│   │   │   ├── sl.js
│   │   │   ├── sr.js
│   │   │   ├── sr-latn.js
│   │   │   ├── sv.js
│   │   │   ├── th.js
│   │   │   ├── tr.js
│   │   │   ├── ug.js
│   │   │   ├── uk.js
│   │   │   ├── vi.js
│   │   │   ├── zh-cn.js
│   │   │   └── zh.js
│   │   ├── LICENSE.html
│   │   ├── nomargin.css
│   │   ├── plugins
│   │   │   ├── a11yhelp
│   │   │   │   ├── dialogs
│   │   │   │   │   └── a11yhelp.js
│   │   │   │   └── lang
│   │   │   │       ├── cs.js
│   │   │   │       ├── cy.js
│   │   │   │       ├── da.js
│   │   │   │       ├── de.js
│   │   │   │       ├── el.js
│   │   │   │       ├── en.js
│   │   │   │       ├── eo.js
│   │   │   │       ├── fa.js
│   │   │   │       ├── fi.js
│   │   │   │       ├── fr.js
│   │   │   │       ├── gu.js
│   │   │   │       ├── he.js
│   │   │   │       ├── it.js
│   │   │   │       ├── ku.js
│   │   │   │       ├── lv.js
│   │   │   │       ├── mk.js
│   │   │   │       ├── nb.js
│   │   │   │       ├── nl.js
│   │   │   │       ├── no.js
│   │   │   │       ├── pt-br.js
│   │   │   │       ├── ro.js
│   │   │   │       ├── sk.js
│   │   │   │       ├── tr.js
│   │   │   │       ├── ug.js
│   │   │   │       ├── vi.js
│   │   │   │       └── zh-cn.js
│   │   │   ├── about
│   │   │   │   └── dialogs
│   │   │   │       ├── about.js
│   │   │   │       └── logo_ckeditor.png
│   │   │   ├── adobeair
│   │   │   │   └── plugin.js
│   │   │   ├── ajax
│   │   │   │   └── plugin.js
│   │   │   ├── autogrow
│   │   │   │   └── plugin.js
│   │   │   ├── bbcode
│   │   │   │   └── plugin.js
│   │   │   ├── clipboard
│   │   │   │   └── dialogs
│   │   │   │       └── paste.js
│   │   │   ├── colordialog
│   │   │   │   └── dialogs
│   │   │   │       └── colordialog.js
│   │   │   ├── devtools
│   │   │   │   ├── lang
│   │   │   │   │   ├── bg.js
│   │   │   │   │   ├── cs.js
│   │   │   │   │   ├── cy.js
│   │   │   │   │   ├── da.js
│   │   │   │   │   ├── de.js
│   │   │   │   │   ├── el.js
│   │   │   │   │   ├── en.js
│   │   │   │   │   ├── eo.js
│   │   │   │   │   ├── et.js
│   │   │   │   │   ├── fa.js
│   │   │   │   │   ├── fi.js
│   │   │   │   │   ├── fr.js
│   │   │   │   │   ├── gu.js
│   │   │   │   │   ├── he.js
│   │   │   │   │   ├── hr.js
│   │   │   │   │   ├── it.js
│   │   │   │   │   ├── ku.js
│   │   │   │   │   ├── lv.js
│   │   │   │   │   ├── nb.js
│   │   │   │   │   ├── nl.js
│   │   │   │   │   ├── no.js
│   │   │   │   │   ├── pl.js
│   │   │   │   │   ├── pt-br.js
│   │   │   │   │   ├── sk.js
│   │   │   │   │   ├── tr.js
│   │   │   │   │   ├── ug.js
│   │   │   │   │   ├── uk.js
│   │   │   │   │   ├── vi.js
│   │   │   │   │   └── zh-cn.js
│   │   │   │   └── plugin.js
│   │   │   ├── dialog
│   │   │   │   └── dialogDefinition.js
│   │   │   ├── div
│   │   │   │   └── dialogs
│   │   │   │       └── div.js
│   │   │   ├── docprops
│   │   │   │   ├── dialogs
│   │   │   │   │   └── docprops.js
│   │   │   │   └── plugin.js
│   │   │   ├── find
│   │   │   │   └── dialogs
│   │   │   │       └── find.js
│   │   │   ├── flash
│   │   │   │   ├── dialogs
│   │   │   │   │   └── flash.js
│   │   │   │   └── images
│   │   │   │       └── placeholder.png
│   │   │   ├── forms
│   │   │   │   ├── dialogs
│   │   │   │   │   ├── button.js
│   │   │   │   │   ├── checkbox.js
│   │   │   │   │   ├── form.js
│   │   │   │   │   ├── hiddenfield.js
│   │   │   │   │   ├── radio.js
│   │   │   │   │   ├── select.js
│   │   │   │   │   ├── textarea.js
│   │   │   │   │   └── textfield.js
│   │   │   │   └── images
│   │   │   │       └── hiddenfield.gif
│   │   │   ├── iframe
│   │   │   │   ├── dialogs
│   │   │   │   │   └── iframe.js
│   │   │   │   └── images
│   │   │   │       └── placeholder.png
│   │   │   ├── iframedialog
│   │   │   │   └── plugin.js
│   │   │   ├── image
│   │   │   │   └── dialogs
│   │   │   │       └── image.js
│   │   │   ├── link
│   │   │   │   ├── dialogs
│   │   │   │   │   ├── anchor.js
│   │   │   │   │   └── link.js
│   │   │   │   └── images
│   │   │   │       └── anchor.gif
│   │   │   ├── liststyle
│   │   │   │   └── dialogs
│   │   │   │       └── liststyle.js
│   │   │   ├── pagebreak
│   │   │   │   └── images
│   │   │   │       └── pagebreak.gif
│   │   │   ├── pastefromword
│   │   │   │   └── filter
│   │   │   │       └── default.js
│   │   │   ├── pastetext
│   │   │   │   └── dialogs
│   │   │   │       └── pastetext.js
│   │   │   ├── placeholder
│   │   │   │   ├── dialogs
│   │   │   │   │   └── placeholder.js
│   │   │   │   ├── lang
│   │   │   │   │   ├── bg.js
│   │   │   │   │   ├── cs.js
│   │   │   │   │   ├── cy.js
│   │   │   │   │   ├── da.js
│   │   │   │   │   ├── de.js
│   │   │   │   │   ├── el.js
│   │   │   │   │   ├── en.js
│   │   │   │   │   ├── eo.js
│   │   │   │   │   ├── et.js
│   │   │   │   │   ├── fa.js
│   │   │   │   │   ├── fi.js
│   │   │   │   │   ├── fr.js
│   │   │   │   │   ├── he.js
│   │   │   │   │   ├── hr.js
│   │   │   │   │   ├── it.js
│   │   │   │   │   ├── ku.js
│   │   │   │   │   ├── lv.js
│   │   │   │   │   ├── nb.js
│   │   │   │   │   ├── nl.js
│   │   │   │   │   ├── no.js
│   │   │   │   │   ├── pl.js
│   │   │   │   │   ├── pt-br.js
│   │   │   │   │   ├── sk.js
│   │   │   │   │   ├── tr.js
│   │   │   │   │   ├── ug.js
│   │   │   │   │   ├── uk.js
│   │   │   │   │   ├── vi.js
│   │   │   │   │   └── zh-cn.js
│   │   │   │   ├── placeholder.gif
│   │   │   │   └── plugin.js
│   │   │   ├── preview
│   │   │   │   └── preview.html
│   │   │   ├── scayt
│   │   │   │   └── dialogs
│   │   │   │       ├── options.js
│   │   │   │       └── toolbar.css
│   │   │   ├── showblocks
│   │   │   │   └── images
│   │   │   │       ├── block_address.png
│   │   │   │       ├── block_blockquote.png
│   │   │   │       ├── block_div.png
│   │   │   │       ├── block_h1.png
│   │   │   │       ├── block_h2.png
│   │   │   │       ├── block_h3.png
│   │   │   │       ├── block_h4.png
│   │   │   │       ├── block_h5.png
│   │   │   │       ├── block_h6.png
│   │   │   │       ├── block_p.png
│   │   │   │       └── block_pre.png
│   │   │   ├── smiley
│   │   │   │   ├── dialogs
│   │   │   │   │   └── smiley.js
│   │   │   │   └── images
│   │   │   │       ├── angel_smile.gif
│   │   │   │       ├── angry_smile.gif
│   │   │   │       ├── broken_heart.gif
│   │   │   │       ├── confused_smile.gif
│   │   │   │       ├── cry_smile.gif
│   │   │   │       ├── devil_smile.gif
│   │   │   │       ├── embaressed_smile.gif
│   │   │   │       ├── envelope.gif
│   │   │   │       ├── heart.gif
│   │   │   │       ├── kiss.gif
│   │   │   │       ├── lightbulb.gif
│   │   │   │       ├── omg_smile.gif
│   │   │   │       ├── regular_smile.gif
│   │   │   │       ├── sad_smile.gif
│   │   │   │       ├── shades_smile.gif
│   │   │   │       ├── teeth_smile.gif
│   │   │   │       ├── thumbs_down.gif
│   │   │   │       ├── thumbs_up.gif
│   │   │   │       ├── tounge_smile.gif
│   │   │   │       ├── whatchutalkingabout_smile.gif
│   │   │   │       └── wink_smile.gif
│   │   │   ├── specialchar
│   │   │   │   ├── dialogs
│   │   │   │   │   └── specialchar.js
│   │   │   │   └── lang
│   │   │   │       ├── cs.js
│   │   │   │       ├── cy.js
│   │   │   │       ├── de.js
│   │   │   │       ├── el.js
│   │   │   │       ├── en.js
│   │   │   │       ├── eo.js
│   │   │   │       ├── et.js
│   │   │   │       ├── fa.js
│   │   │   │       ├── fi.js
│   │   │   │       ├── fr.js
│   │   │   │       ├── he.js
│   │   │   │       ├── hr.js
│   │   │   │       ├── it.js
│   │   │   │       ├── ku.js
│   │   │   │       ├── lv.js
│   │   │   │       ├── nb.js
│   │   │   │       ├── nl.js
│   │   │   │       ├── no.js
│   │   │   │       ├── pt-br.js
│   │   │   │       ├── sk.js
│   │   │   │       ├── tr.js
│   │   │   │       ├── ug.js
│   │   │   │       └── zh-cn.js
│   │   │   ├── styles
│   │   │   │   └── styles
│   │   │   │       └── default.js
│   │   │   ├── stylesheetparser
│   │   │   │   └── plugin.js
│   │   │   ├── syntaxhighlight
│   │   │   │   ├── dialogs
│   │   │   │   │   └── syntaxhighlight.js
│   │   │   │   ├── images
│   │   │   │   │   └── syntaxhighlight.gif
│   │   │   │   ├── lang
│   │   │   │   │   └── en.js
│   │   │   │   └── plugin.js
│   │   │   ├── table
│   │   │   │   └── dialogs
│   │   │   │       └── table.js
│   │   │   ├── tableresize
│   │   │   │   └── plugin.js
│   │   │   ├── tabletools
│   │   │   │   └── dialogs
│   │   │   │       └── tableCell.js
│   │   │   ├── templates
│   │   │   │   ├── dialogs
│   │   │   │   │   └── templates.js
│   │   │   │   └── templates
│   │   │   │       ├── default.js
│   │   │   │       └── images
│   │   │   │           ├── template1.gif
│   │   │   │           ├── template2.gif
│   │   │   │           └── template3.gif
│   │   │   ├── uicolor
│   │   │   │   ├── dialogs
│   │   │   │   │   └── uicolor.js
│   │   │   │   ├── lang
│   │   │   │   │   ├── bg.js
│   │   │   │   │   ├── cs.js
│   │   │   │   │   ├── cy.js
│   │   │   │   │   ├── da.js
│   │   │   │   │   ├── de.js
│   │   │   │   │   ├── el.js
│   │   │   │   │   ├── en.js
│   │   │   │   │   ├── eo.js
│   │   │   │   │   ├── et.js
│   │   │   │   │   ├── fa.js
│   │   │   │   │   ├── fi.js
│   │   │   │   │   ├── fr.js
│   │   │   │   │   ├── he.js
│   │   │   │   │   ├── hr.js
│   │   │   │   │   ├── it.js
│   │   │   │   │   ├── ku.js
│   │   │   │   │   ├── lv.js
│   │   │   │   │   ├── mk.js
│   │   │   │   │   ├── nb.js
│   │   │   │   │   ├── nl.js
│   │   │   │   │   ├── no.js
│   │   │   │   │   ├── pl.js
│   │   │   │   │   ├── pt-br.js
│   │   │   │   │   ├── sk.js
│   │   │   │   │   ├── tr.js
│   │   │   │   │   ├── ug.js
│   │   │   │   │   ├── uk.js
│   │   │   │   │   ├── vi.js
│   │   │   │   │   └── zh-cn.js
│   │   │   │   ├── plugin.js
│   │   │   │   ├── uicolor.gif
│   │   │   │   └── yui
│   │   │   │       ├── assets
│   │   │   │       │   ├── hue_bg.png
│   │   │   │       │   ├── hue_thumb.png
│   │   │   │       │   ├── picker_mask.png
│   │   │   │       │   ├── picker_thumb.png
│   │   │   │       │   └── yui.css
│   │   │   │       └── yui.js
│   │   │   ├── wsc
│   │   │   │   └── dialogs
│   │   │   │       ├── ciframe.html
│   │   │   │       ├── tmpFrameset.html
│   │   │   │       ├── wsc.css
│   │   │   │       └── wsc.js
│   │   │   └── xml
│   │   │       └── plugin.js
│   │   ├── skins
│   │   │   ├── kama
│   │   │   │   ├── dialog.css
│   │   │   │   ├── editor.css
│   │   │   │   ├── icons.png
│   │   │   │   ├── icons_rtl.png
│   │   │   │   ├── images
│   │   │   │   │   ├── dialog_sides.gif
│   │   │   │   │   ├── dialog_sides.png
│   │   │   │   │   ├── dialog_sides_rtl.png
│   │   │   │   │   ├── mini.gif
│   │   │   │   │   ├── noimage.png
│   │   │   │   │   ├── sprites_ie6.png
│   │   │   │   │   ├── sprites.png
│   │   │   │   │   └── toolbar_start.gif
│   │   │   │   ├── skin.js
│   │   │   │   └── templates.css
│   │   │   ├── office2003
│   │   │   │   ├── dialog.css
│   │   │   │   ├── editor.css
│   │   │   │   ├── icons.png
│   │   │   │   ├── icons_rtl.png
│   │   │   │   ├── images
│   │   │   │   │   ├── dialog_sides.gif
│   │   │   │   │   ├── dialog_sides.png
│   │   │   │   │   ├── dialog_sides_rtl.png
│   │   │   │   │   ├── mini.gif
│   │   │   │   │   ├── noimage.png
│   │   │   │   │   ├── sprites_ie6.png
│   │   │   │   │   └── sprites.png
│   │   │   │   ├── skin.js
│   │   │   │   └── templates.css
│   │   │   └── v2
│   │   │       ├── dialog.css
│   │   │       ├── editor.css
│   │   │       ├── icons.png
│   │   │       ├── icons_rtl.png
│   │   │       ├── images
│   │   │       │   ├── dialog_sides.gif
│   │   │       │   ├── dialog_sides.png
│   │   │       │   ├── dialog_sides_rtl.png
│   │   │       │   ├── mini.gif
│   │   │       │   ├── noimage.png
│   │   │       │   ├── sprites_ie6.png
│   │   │       │   ├── sprites.png
│   │   │       │   └── toolbar_start.gif
│   │   │       ├── skin.js
│   │   │       └── templates.css
│   │   └── themes
│   │       └── default
│   │           └── theme.js
│   ├── colorpicker.js
│   ├── contextsensitive.js
│   ├── date
│   │   ├── ar-SY.js
│   │   ├── bg-BG.js
│   │   ├── bs-BA.js
│   │   ├── ca-ES.js
│   │   ├── cs-CZ.js
│   │   ├── da-DK.js
│   │   ├── date.js
│   │   ├── de-DE.js
│   │   ├── el-GR.js
│   │   ├── en-US.js
│   │   ├── es-ES.js
│   │   ├── et-EE.js
│   │   ├── eu-ES.js
│   │   ├── extras.js
│   │   ├── fa-IR.js
│   │   ├── fi-FI.js
│   │   ├── fr-FR.js
│   │   ├── gl-ES.js
│   │   ├── he-IL.js
│   │   ├── hu-HU.js
│   │   ├── id-ID.js
│   │   ├── is-IS.js
│   │   ├── it-IT.js
│   │   ├── ja-JP.js
│   │   ├── ko-KR.js
│   │   ├── lt-LT.js
│   │   ├── lv-LV.js
│   │   ├── mk-MK.js
│   │   ├── nb-NO.js
│   │   ├── nl-NL.js
│   │   ├── nn-NO.js
│   │   ├── pl-PL.js
│   │   ├── pt-BR.js
│   │   ├── pt-PT.js
│   │   ├── ro-RO.js
│   │   ├── ru-RU.js
│   │   ├── sk-SK.js
│   │   ├── sl-SI.js
│   │   ├── sv-SE.js
│   │   ├── time.js
│   │   ├── tr-TR.js
│   │   ├── uk-UA.js
│   │   ├── zh-CN.js
│   │   └── zh-TW.js
│   ├── dialog.js
│   ├── dragdrop2.js
│   ├── excanvas
│   │   ├── excanvas.js
│   │   └── excanvas.min.js
│   ├── facebookclient.js
│   ├── flotr2
│   │   └── flotr2.js
│   ├── form_assign.js
│   ├── form_ghost.js
│   ├── form_helpers.js
│   ├── form_sections.js
│   ├── growler-jquery.js
│   ├── growler.js
│   ├── hordeblocks.js
│   ├── hordecore.js
│   ├── horde-jquery-init.js
│   ├── horde-jquery.js
│   ├── horde.js
│   ├── hordetree.js
│   ├── identityselect.js
│   ├── ieescguard.js
│   ├── image.js
│   ├── imple.js
│   ├── inplaceeditor.js
│   ├── jquery.mobile
│   │   ├── images
│   │   │   ├── ajax-loader.gif
│   │   │   ├── icons-18-black.png
│   │   │   ├── icons-18-white.png
│   │   │   ├── icons-36-black.png
│   │   │   └── icons-36-white.png
│   │   ├── jquery.js
│   │   ├── jquery.min.js
│   │   ├── jquery.mobile.js
│   │   ├── jquery.mobile.min.css
│   │   ├── jquery.mobile.min.js
│   │   └── plugins
│   │       ├── autocomplete.js
│   │       ├── form.js
│   │       └── swipebutton.js
│   ├── json2.js
│   ├── jstorage.js
│   ├── keynavlist.js
│   ├── liquidmetal.js
│   ├── login.js
│   ├── logintasks-jquery.js
│   ├── logintasks.js
│   ├── map
│   │   ├── bing.js
│   │   ├── google.js
│   │   ├── horde.js
│   │   ├── img
│   │   │   ├── blank.gif
│   │   │   ├── cloud-popup-relative.png
│   │   │   ├── drag-rectangle-off.png
│   │   │   ├── drag-rectangle-on.png
│   │   │   ├── east-mini.png
│   │   │   ├── layer-switcher-maximize.png
│   │   │   ├── layer-switcher-minimize.png
│   │   │   ├── marker.png
│   │   │   ├── measuring-stick-off.png
│   │   │   ├── measuring-stick-on.png
│   │   │   ├── north-mini.png
│   │   │   ├── panning-hand-off.png
│   │   │   ├── panning-hand-on.png
│   │   │   ├── slider.png
│   │   │   ├── south-mini.png
│   │   │   ├── west-mini.png
│   │   │   ├── zoombar.png
│   │   │   ├── zoom-minus-mini.png
│   │   │   ├── zoom-plus-mini.png
│   │   │   └── zoom-world-mini.png
│   │   ├── lang
│   │   │   ├── ar-SY.js
│   │   │   ├── bg-BG.js
│   │   │   ├── ca-ES.js
│   │   │   ├── cs-CZ.js
│   │   │   ├── da-DK.js
│   │   │   ├── de-DE.js
│   │   │   ├── el-GR.js
│   │   │   ├── en-CA.js
│   │   │   ├── es-ES.js
│   │   │   ├── fi-FI.js
│   │   │   ├── fr-FR.js
│   │   │   ├── gl-ES.js
│   │   │   ├── hr-HR.js
│   │   │   ├── hu-HU.js
│   │   │   ├── id-ID.js
│   │   │   ├── is-IS.js
│   │   │   ├── it-IT.js
│   │   │   ├── ja-JP.js
│   │   │   ├── km-KH.js
│   │   │   ├── nl-NL.js
│   │   │   ├── nn-NO.js
│   │   │   ├── no-NO.js
│   │   │   ├── pt-BR.js
│   │   │   ├── pt-PT.js
│   │   │   ├── ru-RU.js
│   │   │   ├── sk-SK.js
│   │   │   ├── sv-SE.js
│   │   │   ├── te-TE.js
│   │   │   ├── vi-VI.js
│   │   │   ├── zh-CN.js
│   │   │   └── zh-TW.js
│   │   ├── map.js
│   │   ├── mapquest.js
│   │   ├── null.js
│   │   ├── ocm.js
│   │   ├── OpenLayers-debug.js
│   │   ├── OpenLayers.js
│   │   ├── osm.js
│   │   ├── owm.js
│   │   └── theme
│   │       └── default
│   │           ├── framedCloud.css
│   │           ├── google.css
│   │           ├── google.tidy.css
│   │           ├── ie6-style.css
│   │           ├── ie6-style.tidy.css
│   │           ├── img
│   │           │   ├── add_point_off.png
│   │           │   ├── add_point_on.png
│   │           │   ├── blank.gif
│   │           │   ├── close.gif
│   │           │   ├── drag-rectangle-off.png
│   │           │   ├── drag-rectangle-on.png
│   │           │   ├── draw_line_off.png
│   │           │   ├── draw_line_on.png
│   │           │   ├── draw_point_off.png
│   │           │   ├── draw_point_on.png
│   │           │   ├── draw_polygon_off.png
│   │           │   ├── draw_polygon_on.png
│   │           │   ├── editing_tool_bar.png
│   │           │   ├── move_feature_off.png
│   │           │   ├── move_feature_on.png
│   │           │   ├── navigation_history.png
│   │           │   ├── overview_replacement.gif
│   │           │   ├── panning-hand-off.png
│   │           │   ├── panning-hand-on.png
│   │           │   ├── pan_off.png
│   │           │   ├── pan_on.png
│   │           │   ├── pan-panel-NOALPHA.png
│   │           │   ├── pan-panel.png
│   │           │   ├── remove_point_off.png
│   │           │   ├── remove_point_on.png
│   │           │   ├── ruler.png
│   │           │   ├── save_features_off.png
│   │           │   ├── save_features_on.png
│   │           │   ├── view_next_off.png
│   │           │   ├── view_next_on.png
│   │           │   ├── view_previous_off.png
│   │           │   ├── view_previous_on.png
│   │           │   ├── zoom-panel-NOALPHA.png
│   │           │   └── zoom-panel.png
│   │           ├── style.css
│   │           └── style.tidy.css
│   ├── md5.js
│   ├── obrowser.js
│   ├── open_html_helper.js
│   ├── plupload
│   │   ├── i18n
│   │   │   ├── cs.js
│   │   │   ├── da.js
│   │   │   ├── de.js
│   │   │   ├── es.js
│   │   │   ├── fi.js
│   │   │   ├── fr.js
│   │   │   ├── it.js
│   │   │   ├── ja.js
│   │   │   ├── lv.js
│   │   │   ├── nl.js
│   │   │   ├── pt-br.js
│   │   │   ├── ru.js
│   │   │   └── sv.js
│   │   ├── plupload.browserplus.js
│   │   ├── plupload.flash.js
│   │   ├── plupload.flash.swf
│   │   ├── plupload.full.js
│   │   ├── plupload.gears.js
│   │   ├── plupload.html4.js
│   │   ├── plupload.html5.js
│   │   ├── plupload.js
│   │   ├── plupload.silverlight.js
│   │   ├── plupload.silverlight.xap
│   │   └── uploader.js
│   ├── popup.js
│   ├── prefs.js
│   ├── prettyautocomplete.js
│   ├── problem.js
│   ├── prototype.js
│   ├── quickfinder.js
│   ├── redbox.js
│   ├── scriptaculous
│   │   ├── builder.js
│   │   ├── controls.js
│   │   ├── dragdrop.js
│   │   ├── effects.js
│   │   ├── scriptaculous.js
│   │   ├── slider.js
│   │   ├── sound.js
│   │   └── unittest.js
│   ├── sidebar.js
│   ├── slider2.js
│   ├── smartmobile.js
│   ├── smartmobile-login.js
│   ├── sorter.js
│   ├── sourceselect.js
│   ├── spellchecker.js
│   ├── stripe.js
│   ├── syncmlprefs.js
│   ├── syntaxhighlighter
│   │   ├── LGPL-LICENSE
│   │   ├── MIT-LICENSE
│   │   ├── scripts
│   │   │   ├── shAutoloader.js
│   │   │   ├── shBrushAppleScript.js
│   │   │   ├── shBrushAS3.js
│   │   │   ├── shBrushBash.js
│   │   │   ├── shBrushColdFusion.js
│   │   │   ├── shBrushCpp.js
│   │   │   ├── shBrushCSharp.js
│   │   │   ├── shBrushCss.js
│   │   │   ├── shBrushDelphi.js
│   │   │   ├── shBrushDiff.js
│   │   │   ├── shBrushErlang.js
│   │   │   ├── shBrushGroovy.js
│   │   │   ├── shBrushJavaFX.js
│   │   │   ├── shBrushJava.js
│   │   │   ├── shBrushJScript.js
│   │   │   ├── shBrushPerl.js
│   │   │   ├── shBrushPhp.js
│   │   │   ├── shBrushPlain.js
│   │   │   ├── shBrushPowerShell.js
│   │   │   ├── shBrushPython.js
│   │   │   ├── shBrushRuby.js
│   │   │   ├── shBrushSass.js
│   │   │   ├── shBrushScala.js
│   │   │   ├── shBrushSql.js
│   │   │   ├── shBrushVb.js
│   │   │   ├── shBrushXml.js
│   │   │   ├── shCore.js
│   │   │   ├── shLegacy.js
│   │   │   ├── syntaxhighlighter.js
│   │   │   └── syntaxhighlighter.js.map
│   │   ├── src
│   │   │   ├── shAutoloader.js
│   │   │   ├── shCore.js
│   │   │   ├── shLegacy.js
│   │   │   ├── syntaxhighlighter.js
│   │   │   └── syntaxhighlighter.js.map
│   │   └── styles
│   │       ├── shCore.css
│   │       ├── shCoreDefault.css
│   │       ├── shCoreDjango.css
│   │       ├── shCoreEclipse.css
│   │       ├── shCoreEmacs.css
│   │       ├── shCoreFadeToGrey.css
│   │       ├── shCoreMDUltra.css
│   │       ├── shCoreMidnight.css
│   │       ├── shCoreRDark.css
│   │       ├── shThemeDefault.css
│   │       ├── shThemeDjango.css
│   │       ├── shThemeEclipse.css
│   │       ├── shThemeEmacs.css
│   │       ├── shThemeFadeToGrey.css
│   │       ├── shThemeMDUltra.css
│   │       ├── shThemeMidnight.css
│   │       ├── shThemeRDark.css
│   │       └── theme.css
│   ├── tables.js
│   ├── textarearesize.js
│   ├── toggle_quotes.js
│   ├── tooltips.js
│   ├── topbar.js
│   ├── twitterclient.js
│   ├── userupdate.js
│   ├── vatid.js
│   └── webnotification.js
├── lib
│   ├── Ajax
│   │   ├── Application
│   │   │   ├── FacebookHandler.php
│   │   │   ├── Handler.php
│   │   │   └── TwitterHandler.php
│   │   └── Application.php
│   ├── Api.php
│   ├── Application.php
│   ├── Block
│   │   ├── Account
│   │   │   ├── Base.php
│   │   │   ├── Finger.php
│   │   │   ├── Ldap.php
│   │   │   └── Localhost.php
│   │   ├── Account.php
│   │   ├── Cloud.php
│   │   ├── FbStream.php
│   │   ├── Feed.php
│   │   ├── Fortune.php
│   │   ├── Google.php
│   │   ├── Iframe.php
│   │   ├── Metar.php
│   │   ├── Moon.php
│   │   ├── Sunrise.php
│   │   ├── Time.php
│   │   ├── TwitterTimeline.php
│   │   ├── Vatid.php
│   │   └── Weather.php
│   ├── core.php
│   ├── LoginTasks
│   │   ├── SystemTask
│   │   │   ├── GarbageCollection.php
│   │   │   └── Upgrade.php
│   │   └── Task
│   │       ├── AdminCheck.php
│   │       ├── LastLogin.php
│   │       └── TosAgreement.php
│   ├── Prefs
│   │   └── Special
│   │       ├── Activesync.php
│   │       ├── Category.php
│   │       ├── Facebook.php
│   │       ├── Syncml.php
│   │       └── Twitter.php
│   ├── Test.php
│   ├── tests
│   │   └── webroot.phpt
│   ├── Tree
│   │   └── Renderer
│   │       ├── Menu.php
│   │       └── Sidebar.php
│   └── View
│       ├── Sidebar.php
│       └── Topbar.php
├── locale
│   ├── ar
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── bg
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── bs
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── ca
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── cs
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── da
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── de
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── el
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── en
│   │   └── help.xml
│   ├── es
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── et
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── eu
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── fa
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── fi
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── fr
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── gl
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── he
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── horde.pot
│   ├── hr
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── hu
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── id
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── is
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── it
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── ja
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── km
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── ko
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── lt
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── lv
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── mk
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── nb
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── nl
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── nn
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── pl
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── pt
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── pt_BR
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── ro
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── ru
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── sk
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── sl
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── sv
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── tr
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── uk
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   ├── zh_CN
│   │   ├── help.xml
│   │   └── LC_MESSAGES
│   │       ├── horde.mo
│   │       └── horde.po
│   └── zh_TW
│       ├── help.xml
│       └── LC_MESSAGES
│           ├── horde.mo
│           └── horde.po
├── login.php
├── rampage.php
├── rpc
│   └── index.php
├── rpc.php
├── services
│   ├── ajax.php
│   ├── cache.php
│   ├── cacheview.php
│   ├── changepassword.php
│   ├── confirm.php
│   ├── download
│   │   └── index.php
│   ├── facebook
│   │   └── index.php
│   ├── go.php
│   ├── help
│   │   └── index.php
│   ├── images
│   │   ├── pixel.php
│   │   └── view.php
│   ├── language.php
│   ├── logintasks.php
│   ├── obrowser
│   │   └── index.php
│   ├── portal
│   │   ├── cloud_search.php
│   │   ├── edit.php
│   │   ├── index.php
│   │   └── smartmobile.php
│   ├── prefs.php
│   ├── problem.php
│   ├── resetpassword.php
│   ├── shares
│   │   └── edit.php
│   ├── snooze.php
│   └── twitter
│       └── index.php
├── signup.php
├── static
│   └── README
├── templates
│   ├── activesync
│   │   └── device_table.html.php
│   ├── admin
│   │   ├── activesync.html.php
│   │   ├── alarms
│   │   │   └── list.html.php
│   │   ├── cmdshell.html.php
│   │   ├── config
│   │   │   ├── config.html.php
│   │   │   ├── diff.html.php
│   │   │   └── index.html.php
│   │   ├── groups
│   │   │   ├── add.inc
│   │   │   ├── delete.inc
│   │   │   └── edit.inc
│   │   ├── locks
│   │   │   └── list.html.php
│   │   ├── menu.inc
│   │   ├── phpshell.html.php
│   │   ├── sessions.html.php
│   │   ├── sqlshell.html.php
│   │   └── user
│   │       ├── approve.inc
│   │       ├── clear.inc
│   │       ├── listfail.inc
│   │       ├── list.inc
│   │       ├── noadd.inc
│   │       ├── nolist.inc
│   │       ├── remove.inc
│   │       ├── removequeued.inc
│   │       └── update.inc
│   ├── block
│   │   ├── cloud.inc
│   │   ├── facebook_story.html.php
│   │   ├── twitter-layout.html.php
│   │   └── twitter_tweet.html.php
│   ├── common
│   │   ├── footer.html.php
│   │   └── header.html.php
│   ├── data
│   │   ├── csvinfo.inc
│   │   ├── csvmap.inc
│   │   ├── date.inc
│   │   ├── datemap.inc
│   │   ├── datetime.inc
│   │   ├── time.inc
│   │   └── tsvinfo.inc
│   ├── help
│   │   ├── index.inc
│   │   ├── menu.inc
│   │   └── sidebar.inc
│   ├── login
│   │   ├── login.inc
│   │   ├── resetpassword.inc
│   │   ├── signup.inc
│   │   └── smartmobile.html.php
│   ├── logintasks
│   │   ├── logintasks.html.php
│   │   └── smartmobile.html.php
│   ├── portal
│   │   ├── add.inc
│   │   ├── block.inc
│   │   ├── edit.inc
│   │   ├── layout.inc
│   │   ├── new.inc
│   │   └── smartmobile.inc
│   ├── prefs
│   │   ├── activesync.html.php
│   │   ├── addressbooks.html
│   │   ├── alarm.html
│   │   ├── app.html
│   │   ├── begin.html
│   │   ├── category.html.php
│   │   ├── checkbox.html
│   │   ├── end.html
│   │   ├── enum.html
│   │   ├── error_end.html
│   │   ├── error_start.html
│   │   ├── facebook.html.php
│   │   ├── identityselect.html
│   │   ├── link.html
│   │   ├── multienum.html
│   │   ├── number.html
│   │   ├── overview.html
│   │   ├── password.html
│   │   ├── rawhtml.html
│   │   ├── rpc.html
│   │   ├── source.html
│   │   ├── syncml.html.php
│   │   ├── textarea.html
│   │   ├── text.html
│   │   └── twitter.html.php
│   ├── problem
│   │   └── problem.inc
│   ├── services
│   │   └── obrowser.html.php
│   ├── shares
│   │   └── edit.inc
│   ├── sidebar
│   │   ├── _container.html.php
│   │   ├── _rowresource.html.php
│   │   ├── _rowtree.html.php
│   │   └── sidebar.html.php
│   ├── test
│   │   ├── extensions.inc
│   │   ├── footer.inc
│   │   ├── header.inc
│   │   ├── php_version.inc
│   │   ├── test.css
│   │   └── version.inc
│   ├── topbar
│   │   ├── _menubar.html.php
│   │   ├── _subbar.html.php
│   │   └── topbar.html.php
│   └── tree
│       ├── menu.html.php
│       ├── _row.html.php
│       ├── sidebar.html.php
│       └── _submenu.html.php
├── test.php
├── themes
│   └── default
│       ├── block
│       │   └── screen.css
│       ├── embed.css
│       ├── facebook.css
│       ├── feed-rss.xsl
│       ├── graphics
│       │   ├── add_group.png
│       │   ├── administration.png
│       │   ├── alerts
│       │   │   ├── alarm.png
│       │   │   ├── error.png
│       │   │   ├── message.png
│       │   │   ├── success.png
│       │   │   └── warning.png
│       │   ├── app-unknown.png
│       │   ├── avatars
│       │   │   ├── alien.jpg
│       │   │   ├── aly.jpg
│       │   │   ├── angryboy.gif
│       │   │   ├── ape.jpg
│       │   │   ├── au.jpg
│       │   │   ├── baby.gif
│       │   │   ├── barbarian.jpg
│       │   │   ├── bart.gif
│       │   │   ├── batman.gif
│       │   │   ├── bert2.jpg
│       │   │   ├── bert.jpg
│       │   │   ├── bobafett.gif
│       │   │   ├── boo.jpg
│       │   │   ├── boyandmower.gif
│       │   │   ├── boyandpc.gif
│       │   │   ├── bret.jpg
│       │   │   ├── bunny.gif
│       │   │   ├── charlie_brown.gif
│       │   │   ├── clown.jpg
│       │   │   ├── cocky.jpg
│       │   │   ├── devil.gif
│       │   │   ├── digimon.gif
│       │   │   ├── dilbert.gif
│       │   │   ├── dino.gif
│       │   │   ├── dog.gif
│       │   │   ├── duck.gif
│       │   │   ├── einstein.jpg
│       │   │   ├── elmerfudd.gif
│       │   │   ├── elmo.jpg
│       │   │   ├── evil.jpg
│       │   │   ├── female1.jpg
│       │   │   ├── female2.jpg
│       │   │   ├── franc.jpg
│       │   │   ├── fredflinstone.gif
│       │   │   ├── garfield.gif
│       │   │   ├── gopher.gif
│       │   │   ├── greenhead.gif
│       │   │   ├── gremlin.jpg
│       │   │   ├── grover.jpg
│       │   │   ├── homer.gif
│       │   │   ├── hump.jpg
│       │   │   ├── iceskatekid.gif
│       │   │   ├── jeri.jpg
│       │   │   ├── kid.gif
│       │   │   ├── kirk.jpg
│       │   │   ├── kryton.jpg
│       │   │   ├── linux.gif
│       │   │   ├── lisa.gif
│       │   │   ├── lovebird.gif
│       │   │   ├── male1.jpg
│       │   │   ├── male2.jpg
│       │   │   ├── man.jpg
│       │   │   ├── marge.gif
│       │   │   ├── maul.gif
│       │   │   ├── melon.jpg
│       │   │   ├── mib.gif
│       │   │   ├── monkey.jpg
│       │   │   ├── neo.jpg
│       │   │   ├── ninja.jpg
│       │   │   ├── paintingbird.gif
│       │   │   ├── picard.jpg
│       │   │   ├── puff.jpg
│       │   │   ├── redcreature.gif
│       │   │   ├── rei2.jpg
│       │   │   ├── rei.jpg
│       │   │   ├── ryu.gif
│       │   │   ├── sexy.gif
│       │   │   ├── smiley.gif
│       │   │   ├── smurfs.gif
│       │   │   ├── sonic.gif
│       │   │   ├── speedy.gif
│       │   │   ├── stan.jpg
│       │   │   ├── superman.gif
│       │   │   ├── sylvester.gif
│       │   │   ├── thomas.gif
│       │   │   ├── tigger.gif
│       │   │   ├── trin.jpg
│       │   │   ├── us.jpg
│       │   │   ├── vampire2.jpg
│       │   │   ├── vampire.jpg
│       │   │   ├── wacko.gif
│       │   │   ├── winnie.gif
│       │   │   ├── wizard.jpg
│       │   │   ├── wolverine.jpg
│       │   │   ├── woman.jpg
│       │   │   ├── woodie.jpg
│       │   │   └── xena.gif
│       │   ├── az.png
│       │   ├── blank.gif
│       │   ├── block
│       │   │   ├── down.png
│       │   │   ├── large_down.png
│       │   │   ├── large_left.png
│       │   │   ├── large_right.png
│       │   │   ├── large_up.png
│       │   │   ├── left.png
│       │   │   ├── moon
│       │   │   │   ├── firstquarter.png
│       │   │   │   ├── fullmoon.png
│       │   │   │   ├── lastquarter.png
│       │   │   │   └── newmoon.png
│       │   │   ├── right.png
│       │   │   ├── sunrise
│       │   │   │   ├── sunrise.png
│       │   │   │   └── sunset.png
│       │   │   ├── up.png
│       │   │   └── weatherdotcom
│       │   │       ├── 23x23
│       │   │       │   ├── 0.png
│       │   │       │   ├── 10.png
│       │   │       │   ├── 11.png
│       │   │       │   ├── 12.png
│       │   │       │   ├── 13.png
│       │   │       │   ├── 14.png
│       │   │       │   ├── 15.png
│       │   │       │   ├── 16.png
│       │   │       │   ├── 17.png
│       │   │       │   ├── 18.png
│       │   │       │   ├── 19.png
│       │   │       │   ├── 1.png
│       │   │       │   ├── 20.png
│       │   │       │   ├── 21.png
│       │   │       │   ├── 22.png
│       │   │       │   ├── 23.png
│       │   │       │   ├── 24.png
│       │   │       │   ├── 25.png
│       │   │       │   ├── 26.png
│       │   │       │   ├── 27.png
│       │   │       │   ├── 28.png
│       │   │       │   ├── 29.png
│       │   │       │   ├── 2.png
│       │   │       │   ├── 30.png
│       │   │       │   ├── 31.png
│       │   │       │   ├── 32.png
│       │   │       │   ├── 33.png
│       │   │       │   ├── 34.png
│       │   │       │   ├── 35.png
│       │   │       │   ├── 36.png
│       │   │       │   ├── 37.png
│       │   │       │   ├── 38.png
│       │   │       │   ├── 39.png
│       │   │       │   ├── 3.png
│       │   │       │   ├── 40.png
│       │   │       │   ├── 41.png
│       │   │       │   ├── 42.png
│       │   │       │   ├── 43.png
│       │   │       │   ├── 44.png
│       │   │       │   ├── 45.png
│       │   │       │   ├── 46.png
│       │   │       │   ├── 47.png
│       │   │       │   ├── 4.png
│       │   │       │   ├── 5.png
│       │   │       │   ├── 6.png
│       │   │       │   ├── 7.png
│       │   │       │   ├── 8.png
│       │   │       │   ├── 9.png
│       │   │       │   └── na.png
│       │   │       └── 32x32
│       │   │           ├── 0.png
│       │   │           ├── 10.png
│       │   │           ├── 11.png
│       │   │           ├── 12.png
│       │   │           ├── 13.png
│       │   │           ├── 14.png
│       │   │           ├── 15.png
│       │   │           ├── 16.png
│       │   │           ├── 17.png
│       │   │           ├── 18.png
│       │   │           ├── 19.png
│       │   │           ├── 1.png
│       │   │           ├── 20.png
│       │   │           ├── 21.png
│       │   │           ├── 22.png
│       │   │           ├── 23.png
│       │   │           ├── 24.png
│       │   │           ├── 25.png
│       │   │           ├── 26.png
│       │   │           ├── 27.png
│       │   │           ├── 28.png
│       │   │           ├── 29.png
│       │   │           ├── 2.png
│       │   │           ├── 30.png
│       │   │           ├── 31.png
│       │   │           ├── 32.png
│       │   │           ├── 33.png
│       │   │           ├── 34.png
│       │   │           ├── 35.png
│       │   │           ├── 36.png
│       │   │           ├── 37.png
│       │   │           ├── 38.png
│       │   │           ├── 39.png
│       │   │           ├── 3.png
│       │   │           ├── 40.png
│       │   │           ├── 41.png
│       │   │           ├── 42.png
│       │   │           ├── 43.png
│       │   │           ├── 44.png
│       │   │           ├── 45.png
│       │   │           ├── 46.png
│       │   │           ├── 47.png
│       │   │           ├── 4.png
│       │   │           ├── 5.png
│       │   │           ├── 6.png
│       │   │           ├── 7.png
│       │   │           ├── 8.png
│       │   │           ├── 9.png
│       │   │           ├── na.png
│       │   │           └── TWClogo_32px.png
│       │   ├── block.png
│       │   ├── button-active-bg.png
│       │   ├── buttonbar-bg.png
│       │   ├── button-default.png
│       │   ├── button-delete.png
│       │   ├── button.png
│       │   ├── button-split.png
│       │   ├── calendar.png
│       │   ├── checkbox_off.png
│       │   ├── checkbox_on.png
│       │   ├── close.png
│       │   ├── collapse.png
│       │   ├── color-picker-cursor.gif
│       │   ├── color-picker-palette.png
│       │   ├── colorpicker.png
│       │   ├── color-picker-resize.gif
│       │   ├── colorscale.png
│       │   ├── config.png
│       │   ├── data.png
│       │   ├── delete.png
│       │   ├── delete-small.png
│       │   ├── devel.png
│       │   ├── download.png
│       │   ├── edit.png
│       │   ├── edit-sidebar-000.png
│       │   ├── edit-sidebar-fff.png
│       │   ├── edit-small.png
│       │   ├── emoticons
│       │   │   ├── angel.png
│       │   │   ├── angelwink.png
│       │   │   ├── angry.png
│       │   │   ├── annoyed.png
│       │   │   ├── asleep.png
│       │   │   ├── bigfrown.png
│       │   │   ├── biggrin.png
│       │   │   ├── blush.png
│       │   │   ├── clown.png
│       │   │   ├── confused.png
│       │   │   ├── coolgrin.png
│       │   │   ├── cool.png
│       │   │   ├── cooltongue.png
│       │   │   ├── dazed.png
│       │   │   ├── devil.png
│       │   │   ├── deviltongue.png
│       │   │   ├── disappointed.png
│       │   │   ├── embarrassed.png
│       │   │   ├── enraged.png
│       │   │   ├── frown.png
│       │   │   ├── frustrated.png
│       │   │   ├── grin.png
│       │   │   ├── hangover.png
│       │   │   ├── hippiegrin.png
│       │   │   ├── hippie.png
│       │   │   ├── hippietongue.png
│       │   │   ├── hurt.png
│       │   │   ├── indifferent.png
│       │   │   ├── love.png
│       │   │   ├── mad.png
│       │   │   ├── mrt.png
│       │   │   ├── punkmohawk.png
│       │   │   ├── punk.png
│       │   │   ├── punktongue.png
│       │   │   ├── raspberry.png
│       │   │   ├── sad.png
│       │   │   ├── shout.png
│       │   │   ├── smile.png
│       │   │   ├── tired.png
│       │   │   ├── tongueout.png
│       │   │   ├── vampire.png
│       │   │   ├── winkgrin.png
│       │   │   ├── wink.png
│       │   │   ├── winktongueout.png
│       │   │   ├── winktongue.png
│       │   │   └── worried.png
│       │   ├── expand.png
│       │   ├── external.png
│       │   ├── favicon.ico
│       │   ├── feed.png
│       │   ├── filter.png
│       │   ├── filter-topbar.png
│       │   ├── flags
│       │   │   ├── ad.png
│       │   │   ├── ae.png
│       │   │   ├── af.png
│       │   │   ├── ag.png
│       │   │   ├── ai.png
│       │   │   ├── al.png
│       │   │   ├── am.png
│       │   │   ├── an.png
│       │   │   ├── ao.png
│       │   │   ├── ar.png
│       │   │   ├── as.png
│       │   │   ├── at.png
│       │   │   ├── au.png
│       │   │   ├── aw.png
│       │   │   ├── ax.png
│       │   │   ├── az.png
│       │   │   ├── ba.png
│       │   │   ├── bb.png
│       │   │   ├── bd.png
│       │   │   ├── be.png
│       │   │   ├── bf.png
│       │   │   ├── bg.png
│       │   │   ├── bh.png
│       │   │   ├── bi.png
│       │   │   ├── bj.png
│       │   │   ├── bm.png
│       │   │   ├── bn.png
│       │   │   ├── bo.png
│       │   │   ├── br.png
│       │   │   ├── bs.png
│       │   │   ├── bt.png
│       │   │   ├── bv.png
│       │   │   ├── bw.png
│       │   │   ├── by.png
│       │   │   ├── bz.png
│       │   │   ├── ca.png
│       │   │   ├── cc.png
│       │   │   ├── cd.png
│       │   │   ├── cf.png
│       │   │   ├── cg.png
│       │   │   ├── ch.png
│       │   │   ├── ci.png
│       │   │   ├── ck.png
│       │   │   ├── cl.png
│       │   │   ├── cm.png
│       │   │   ├── cn.png
│       │   │   ├── co.png
│       │   │   ├── cr.png
│       │   │   ├── cs.png
│       │   │   ├── cu.png
│       │   │   ├── cv.png
│       │   │   ├── cx.png
│       │   │   ├── cy.png
│       │   │   ├── cz.png
│       │   │   ├── de.png
│       │   │   ├── dj.png
│       │   │   ├── dk.png
│       │   │   ├── dm.png
│       │   │   ├── do.png
│       │   │   ├── dz.png
│       │   │   ├── ec.png
│       │   │   ├── ee.png
│       │   │   ├── eg.png
│       │   │   ├── eh.png
│       │   │   ├── er.png
│       │   │   ├── es.png
│       │   │   ├── et.png
│       │   │   ├── eu.png
│       │   │   ├── fam.png
│       │   │   ├── fi.png
│       │   │   ├── fj.png
│       │   │   ├── fk.png
│       │   │   ├── fm.png
│       │   │   ├── fo.png
│       │   │   ├── fr.png
│       │   │   ├── ga.png
│       │   │   ├── gb.png
│       │   │   ├── gd.png
│       │   │   ├── ge.png
│       │   │   ├── gf.png
│       │   │   ├── gh.png
│       │   │   ├── gi.png
│       │   │   ├── gl.png
│       │   │   ├── gm.png
│       │   │   ├── gn.png
│       │   │   ├── gp.png
│       │   │   ├── gq.png
│       │   │   ├── gr.png
│       │   │   ├── gs.png
│       │   │   ├── gt.png
│       │   │   ├── gu.png
│       │   │   ├── gw.png
│       │   │   ├── gy.png
│       │   │   ├── hk.png
│       │   │   ├── hm.png
│       │   │   ├── hn.png
│       │   │   ├── hr.png
│       │   │   ├── ht.png
│       │   │   ├── hu.png
│       │   │   ├── id.png
│       │   │   ├── ie.png
│       │   │   ├── il.png
│       │   │   ├── in.png
│       │   │   ├── io.png
│       │   │   ├── iq.png
│       │   │   ├── ir.png
│       │   │   ├── is.png
│       │   │   ├── it.png
│       │   │   ├── jm.png
│       │   │   ├── jo.png
│       │   │   ├── jp.png
│       │   │   ├── ke.png
│       │   │   ├── kg.png
│       │   │   ├── kh.png
│       │   │   ├── ki.png
│       │   │   ├── km.png
│       │   │   ├── kn.png
│       │   │   ├── kp.png
│       │   │   ├── kr.png
│       │   │   ├── kw.png
│       │   │   ├── ky.png
│       │   │   ├── kz.png
│       │   │   ├── la.png
│       │   │   ├── lb.png
│       │   │   ├── lc.png
│       │   │   ├── li.png
│       │   │   ├── lk.png
│       │   │   ├── lr.png
│       │   │   ├── ls.png
│       │   │   ├── lt.png
│       │   │   ├── lu.png
│       │   │   ├── lv.png
│       │   │   ├── ly.png
│       │   │   ├── ma.png
│       │   │   ├── mc.png
│       │   │   ├── md.png
│       │   │   ├── me.png
│       │   │   ├── mg.png
│       │   │   ├── mh.png
│       │   │   ├── mk.png
│       │   │   ├── ml.png
│       │   │   ├── mm.png
│       │   │   ├── mn.png
│       │   │   ├── mo.png
│       │   │   ├── mp.png
│       │   │   ├── mq.png
│       │   │   ├── mr.png
│       │   │   ├── ms.png
│       │   │   ├── mt.png
│       │   │   ├── mu.png
│       │   │   ├── mv.png
│       │   │   ├── mw.png
│       │   │   ├── mx.png
│       │   │   ├── my.png
│       │   │   ├── mz.png
│       │   │   ├── na.png
│       │   │   ├── nc.png
│       │   │   ├── ne.png
│       │   │   ├── nf.png
│       │   │   ├── ng.png
│       │   │   ├── ni.png
│       │   │   ├── nl.png
│       │   │   ├── no.png
│       │   │   ├── np.png
│       │   │   ├── nr.png
│       │   │   ├── nu.png
│       │   │   ├── nz.png
│       │   │   ├── om.png
│       │   │   ├── pa.png
│       │   │   ├── pe.png
│       │   │   ├── pf.png
│       │   │   ├── pg.png
│       │   │   ├── ph.png
│       │   │   ├── pk.png
│       │   │   ├── pl.png
│       │   │   ├── pm.png
│       │   │   ├── pn.png
│       │   │   ├── pr.png
│       │   │   ├── ps.png
│       │   │   ├── pt.png
│       │   │   ├── pw.png
│       │   │   ├── py.png
│       │   │   ├── qa.png
│       │   │   ├── re.png
│       │   │   ├── ro.png
│       │   │   ├── rs.png
│       │   │   ├── ru.png
│       │   │   ├── rw.png
│       │   │   ├── sa.png
│       │   │   ├── sb.png
│       │   │   ├── scotland.png
│       │   │   ├── sc.png
│       │   │   ├── sd.png
│       │   │   ├── se.png
│       │   │   ├── sg.png
│       │   │   ├── sh.png
│       │   │   ├── si.png
│       │   │   ├── sj.png
│       │   │   ├── sk.png
│       │   │   ├── sl.png
│       │   │   ├── sm.png
│       │   │   ├── sn.png
│       │   │   ├── so.png
│       │   │   ├── sr.png
│       │   │   ├── st.png
│       │   │   ├── sv.png
│       │   │   ├── sy.png
│       │   │   ├── sz.png
│       │   │   ├── tc.png
│       │   │   ├── td.png
│       │   │   ├── tf.png
│       │   │   ├── tg.png
│       │   │   ├── th.png
│       │   │   ├── tj.png
│       │   │   ├── tk.png
│       │   │   ├── tl.png
│       │   │   ├── tm.png
│       │   │   ├── tn.png
│       │   │   ├── to.png
│       │   │   ├── tp.png
│       │   │   ├── tr.png
│       │   │   ├── tt.png
│       │   │   ├── tv.png
│       │   │   ├── tw.png
│       │   │   ├── tz.png
│       │   │   ├── ua.png
│       │   │   ├── ug.png
│       │   │   ├── uk.png
│       │   │   ├── um.png
│       │   │   ├── us.png
│       │   │   ├── uy.png
│       │   │   ├── uz.png
│       │   │   ├── va.png
│       │   │   ├── vc.png
│       │   │   ├── ve.png
│       │   │   ├── vg.png
│       │   │   ├── vi.png
│       │   │   ├── vn.png
│       │   │   ├── vu.png
│       │   │   ├── wales.png
│       │   │   ├── wf.png
│       │   │   ├── ws.png
│       │   │   ├── ye.png
│       │   │   ├── yt.png
│       │   │   ├── yu.png
│       │   │   ├── za.png
│       │   │   ├── zm.png
│       │   │   └── zw.png
│       │   ├── google.png
│       │   ├── group.png
│       │   ├── head-bg.png
│       │   ├── help_index.png
│       │   ├── help.png
│       │   ├── hide_panel.png
│       │   ├── horde.png
│       │   ├── horde-power1.png
│       │   ├── horde-power2.png
│       │   ├── horde-power3.png
│       │   ├── image
│       │   │   ├── crop.png
│       │   │   ├── flip.png
│       │   │   ├── grayscale.png
│       │   │   ├── mirror.png
│       │   │   ├── ratio.png
│       │   │   ├── refresh.png
│       │   │   ├── rotate-180.png
│       │   │   ├── rotate-270.png
│       │   │   └── rotate-90.png
│       │   ├── info_icon.png
│       │   ├── info.png
│       │   ├── keyboard.png
│       │   ├── keys
│       │   │   ├── down.png
│       │   │   ├── left.png
│       │   │   ├── right.png
│       │   │   └── up.png
│       │   ├── layout.png
│       │   ├── lhand.png
│       │   ├── loading.gif
│       │   ├── locked-inv.png
│       │   ├── locked.png
│       │   ├── login.png
│       │   ├── logo.png
│       │   ├── logout.png
│       │   ├── map
│       │   │   ├── marker.png
│       │   │   └── marker-shadow.png
│       │   ├── map_eu.png
│       │   ├── map.png
│       │   ├── mime
│       │   │   ├── audio.png
│       │   │   ├── binary.png
│       │   │   ├── compressed.png
│       │   │   ├── deb.png
│       │   │   ├── encryption.png
│       │   │   ├── html.png
│       │   │   ├── icalendar.png
│       │   │   ├── image.png
│       │   │   ├── mail.png
│       │   │   ├── msexcel.png
│       │   │   ├── mspowerpoint.png
│       │   │   ├── msword.png
│       │   │   ├── ooo_calc.png
│       │   │   ├── ooo_draw.png
│       │   │   ├── ooo_impress.png
│       │   │   ├── ooo_math.png
│       │   │   ├── ooo_writer.png
│       │   │   ├── pdf.png
│       │   │   ├── php.png
│       │   │   ├── rpm.png
│       │   │   ├── script-js.png
│       │   │   ├── source-c.png
│       │   │   ├── source-cpp.png
│       │   │   ├── source-h.png
│       │   │   ├── source-java.png
│       │   │   ├── source-python.png
│       │   │   ├── text.png
│       │   │   ├── vcard.png
│       │   │   ├── video.png
│       │   │   ├── wordperfect.png
│       │   │   └── xml.png
│       │   ├── minus.png
│       │   ├── mobile.png
│       │   ├── myaccount.png
│       │   ├── nav
│       │   │   ├── bottom-grey.png
│       │   │   ├── bottom.png
│       │   │   ├── down-grey.png
│       │   │   ├── down.png
│       │   │   ├── first-grey.png
│       │   │   ├── first.png
│       │   │   ├── last-grey.png
│       │   │   ├── last.png
│       │   │   ├── left-grey.png
│       │   │   ├── left.png
│       │   │   ├── right-grey.png
│       │   │   ├── right.png
│       │   │   ├── top-grey.png
│       │   │   ├── top.png
│       │   │   ├── up-grey.png
│       │   │   └── up.png
│       │   ├── navi-arrow-active.png
│       │   ├── navi-arrow-normal.png
│       │   ├── navi-center-active.png
│       │   ├── navi-left-active.png
│       │   ├── navi-right-active.png
│       │   ├── navi-subnavi-active.png
│       │   ├── navi-subnavi.png
│       │   ├── office.png
│       │   ├── organizing.png
│       │   ├── perms.png
│       │   ├── phone.png
│       │   ├── php.png
│       │   ├── plus.png
│       │   ├── plus-sidebar.png
│       │   ├── popdown.png
│       │   ├── popright.png
│       │   ├── prefs.png
│       │   ├── print.png
│       │   ├── problem.png
│       │   ├── radiobox_off.png
│       │   ├── radiobox_on.png
│       │   ├── redbox_spinner.gif
│       │   ├── reload.png
│       │   ├── required.png
│       │   ├── rhand.png
│       │   ├── save.png
│       │   ├── search.png
│       │   ├── search-topbar.png
│       │   ├── settings-active.png
│       │   ├── settings.png
│       │   ├── shadow.gif
│       │   ├── shadow.png
│       │   ├── shell.png
│       │   ├── show_panel.png
│       │   ├── sidebar-active-bg.png
│       │   ├── sidebar-new-bg.png
│       │   ├── sidebar-new.png
│       │   ├── sidebar-refresh.png
│       │   ├── sidebar-split.png
│       │   ├── slidehoriz-bg.png
│       │   ├── slidehoriz.png
│       │   ├── slidevert-bg.png
│       │   ├── slidevert.png
│       │   ├── sql.png
│       │   ├── tab-active.png
│       │   ├── tab_bottom.gif
│       │   ├── tablehead-bg.png
│       │   ├── tablehead-split.png
│       │   ├── tab.png
│       │   ├── tabset.png
│       │   ├── tags.png
│       │   ├── tree
│       │   │   ├── blank.png
│       │   │   ├── folderopen.png
│       │   │   ├── folder.png
│       │   │   ├── joinbottom-down.png
│       │   │   ├── joinbottom.png
│       │   │   ├── join.png
│       │   │   ├── leaf.png
│       │   │   ├── line.png
│       │   │   ├── minusbottom.png
│       │   │   ├── minusonly.png
│       │   │   ├── minus.png
│       │   │   ├── minustop.png
│       │   │   ├── nullonly.png
│       │   │   ├── plusbottom.png
│       │   │   ├── plusonly.png
│       │   │   ├── plus.png
│       │   │   ├── plustop.png
│       │   │   ├── rev-joinbottom-down.png
│       │   │   ├── rev-joinbottom.png
│       │   │   ├── rev-join.png
│       │   │   ├── rev-leaf.png
│       │   │   ├── rev-line.png
│       │   │   ├── rev-minusbottom.png
│       │   │   ├── rev-minusonly.png
│       │   │   ├── rev-minus.png
│       │   │   ├── rev-minustop.png
│       │   │   ├── rev-nullonly.png
│       │   │   ├── rev-plusbottom.png
│       │   │   ├── rev-plusonly.png
│       │   │   ├── rev-plus.png
│       │   │   └── rev-plustop.png
│       │   ├── unlocked.png
│       │   ├── user.png
│       │   ├── weather
│       │   │   ├── 23x23
│       │   │   │   ├── 0.png
│       │   │   │   ├── 10.png
│       │   │   │   ├── 11.png
│       │   │   │   ├── 12.png
│       │   │   │   ├── 13.png
│       │   │   │   ├── 14.png
│       │   │   │   ├── 15.png
│       │   │   │   ├── 16.png
│       │   │   │   ├── 17.png
│       │   │   │   ├── 18.png
│       │   │   │   ├── 19.png
│       │   │   │   ├── 1.png
│       │   │   │   ├── 20.png
│       │   │   │   ├── 21.png
│       │   │   │   ├── 22.png
│       │   │   │   ├── 23.png
│       │   │   │   ├── 24.png
│       │   │   │   ├── 25.png
│       │   │   │   ├── 26.png
│       │   │   │   ├── 27.png
│       │   │   │   ├── 28.png
│       │   │   │   ├── 29.png
│       │   │   │   ├── 2.png
│       │   │   │   ├── 30.png
│       │   │   │   ├── 31.png
│       │   │   │   ├── 32.png
│       │   │   │   ├── 33.png
│       │   │   │   ├── 34.png
│       │   │   │   ├── 35.png
│       │   │   │   ├── 36.png
│       │   │   │   ├── 37.png
│       │   │   │   ├── 38.png
│       │   │   │   ├── 39.png
│       │   │   │   ├── 3.png
│       │   │   │   ├── 40.png
│       │   │   │   ├── 41.png
│       │   │   │   ├── 42.png
│       │   │   │   ├── 43.png
│       │   │   │   ├── 44.png
│       │   │   │   ├── 45.png
│       │   │   │   ├── 46.png
│       │   │   │   ├── 47.png
│       │   │   │   ├── 4.png
│       │   │   │   ├── 5.png
│       │   │   │   ├── 6.png
│       │   │   │   ├── 7.png
│       │   │   │   ├── 8.png
│       │   │   │   ├── 9.png
│       │   │   │   └── na.png
│       │   │   ├── 32x32
│       │   │   │   ├── 0.png
│       │   │   │   ├── 10.png
│       │   │   │   ├── 11.png
│       │   │   │   ├── 12.png
│       │   │   │   ├── 13.png
│       │   │   │   ├── 14.png
│       │   │   │   ├── 15.png
│       │   │   │   ├── 16.png
│       │   │   │   ├── 17.png
│       │   │   │   ├── 18.png
│       │   │   │   ├── 19.png
│       │   │   │   ├── 1.png
│       │   │   │   ├── 20.png
│       │   │   │   ├── 21.png
│       │   │   │   ├── 22.png
│       │   │   │   ├── 23.png
│       │   │   │   ├── 24.png
│       │   │   │   ├── 25.png
│       │   │   │   ├── 26.png
│       │   │   │   ├── 27.png
│       │   │   │   ├── 28.png
│       │   │   │   ├── 29.png
│       │   │   │   ├── 2.png
│       │   │   │   ├── 30.png
│       │   │   │   ├── 31.png
│       │   │   │   ├── 32.png
│       │   │   │   ├── 33.png
│       │   │   │   ├── 34.png
│       │   │   │   ├── 35.png
│       │   │   │   ├── 36.png
│       │   │   │   ├── 37.png
│       │   │   │   ├── 38.png
│       │   │   │   ├── 39.png
│       │   │   │   ├── 3.png
│       │   │   │   ├── 40.png
│       │   │   │   ├── 41.png
│       │   │   │   ├── 42.png
│       │   │   │   ├── 43.png
│       │   │   │   ├── 44.png
│       │   │   │   ├── 45.png
│       │   │   │   ├── 46.png
│       │   │   │   ├── 47.png
│       │   │   │   ├── 4.png
│       │   │   │   ├── 5.png
│       │   │   │   ├── 6.png
│       │   │   │   ├── 7.png
│       │   │   │   ├── 8.png
│       │   │   │   ├── 9.png
│       │   │   │   └── na.png
│       │   │   └── wundergroundlogo.png
│       │   ├── website.png
│       │   └── za.png
│       ├── ie8.css
│       ├── info.php
│       ├── mozilla.css
│       ├── opera.css
│       ├── rtl.css
│       ├── screen.css
│       ├── smartmobile
│       │   └── screen.css
│       ├── sounds
│       │   ├── doorbell.wav
│       │   ├── gnid3.wav
│       │   ├── jetsndb.wav
│       │   ├── reminder.wav
│       │   └── theetone.wav
│       └── webkit.css
└── util
    └── icon_browser.php

292 directories, 1824 files

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
Channel pear.horde.org: No upgrades available
PEAR.PHP.NET AVAILABLE UPGRADES (STABLE):
=========================================
CHANNEL      PACKAGE  LOCAL          REMOTE         SIZE
pear.php.net Net_URL2 2.1.2 (stable) 2.2.1 (stable) 19.6kB
pear.php.net XML_Util 1.4.2 (stable) 1.4.3 (stable) 18.4kB
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 igbinary 2.0.1 (stable) 2.0.4 (stable) 67kB

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.

WARNING: channel "pecl.php.net" has updated its protocols, use "pear channel-update pecl.php.net" to update
downloading igbinary-2.0.4.tgz ...
Starting to download igbinary-2.0.4.tgz (68,294 bytes)
.................done: 68,294 bytes
upgrade ok: channel://pecl.php.net/igbinary-2.0.4downloading 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.

/srv/www/html/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 }'`
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 /srv/www/html/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 /srv/www/html/horde/static /srv/www/html/horde/js

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

/srv/www/html/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 /srv/www/html/horde
 # rm -rf /srv/www/html/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