Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | anwenderwiki:webapps:horde:installhorde5ubuntu [2015/11/22 11:28] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> webapp horde}} | ||
+ | |||
+ | ====== Installation von Horde 5 auf linuxmuster.net 6.0 ====== | ||
+ | |||
+ | <note important> | ||
+ | </ | ||
+ | |||
+ | Dokumentation: | ||
+ | |||
+ | Installation läuft über PEAR: "PHP Extension and Application Repository" | ||
+ | |||
+ | Die html/ | ||
+ | |||
+ | Zeilen mit '#' | ||
+ | |||
+ | <note tip> Die Punkte 1 bis 3 können mit dem -> [[anwenderwiki: | ||
+ | * Datenbank installieren (Kennwort anpassen! | ||
+ | * Deb-Pakte installieren | ||
+ | * Channels installieren | ||
+ | * Pear-Pakete installieren | ||
+ | * Pecl-Pakete installieren | ||
+ | Danach weiter mit Punkt 4. | ||
+ | |||
+ | </ | ||
+ | ===== 0. Altes Horde deinstallieren===== | ||
+ | |||
+ | Zu Beginn sollte man ggf. ein altes horde3 deinstallieren mit: | ||
+ | # apt-get remove horde3 | ||
+ | Eine automatische Übernahme von Daten aus Horde 3 (z.B. Adressbuch/ | ||
+ | // | ||
+ | |||
+ | |||
+ | |||
+ | ===== 1. Benötigte zusätzliche .deb - Pakete installieren ===== | ||
+ | |||
+ | < | ||
+ | # aptitude install php5-geoip imagemagick php5-imagick php5-tidy php5-memcache memcached php5-auth-pam php5-intl php5-sasl | ||
+ | # aptitude install libssh2-php libssh2-1-dev libidn11 libidn11-dev | ||
+ | </ | ||
+ | |||
+ | Manche dieser Pakete sind zwar nicht zwingend notwendig, doch gibt Horde5 bei seinem Selbsttest ein " | ||
+ | Je nach Vorgeschichte des Systems sind diese auch schon vorhanden. | ||
+ | ===== 2. Datenbank anlegen ===== | ||
+ | |||
+ | < | ||
+ | # mysql | ||
+ | mysql> CREATE database horde5; | ||
+ | mysql> CREATE USER h5admin@localhost IDENTIFIED BY ' | ||
+ | mysql> GRANT ALL ON horde5.* TO h5admin@localhost; | ||
+ | mysql> quit | ||
+ | </ | ||
+ | Das Passwort " | ||
+ | //Hinweis: Die Datenbank wird unabhängig zu einer existierenden horde3-Datenbank angelegt. | ||
+ | // | ||
+ | |||
+ | |||
+ | ===== 3. Pear-Installation vorbereiten ===== | ||
+ | |||
+ | | ||
+ | # pear install HTTP_WebDAV_Server-1.0.0RC8 | ||
+ | # pear install --alldeps XML_Serializer-0.20.2 | ||
+ | # pear channel-discover pear.horde.org | ||
+ | # pear channel-discover pear.phpunit.de | ||
+ | # pear channel-discover pear.nrk.io | ||
+ | # pear channel-discover pear.symfony.com | ||
+ | # pear upgrade-all | ||
+ | |||
+ | fixme-Hinweis: | ||
+ | |||
+ | **Weitere Pakete installieren/ | ||
+ | Bei der nachfolgenden Horde-Installation werden manche Pakete nicht installiert, | ||
+ | < | ||
+ | pear install --alldeps Numbers_Words-0.16.4 | ||
+ | pear install Image_Text-0.7.0 | ||
+ | pear install --alldeps Text_CAPTCHA-0.5.0 | ||
+ | pear install --alldeps Date_Holidays-0.21.8 | ||
+ | pear install --alldeps Text_LanguageDetect-0.3.0 | ||
+ | pecl install sasl-0.1.0 | ||
+ | pecl install idn-0.2.0 | ||
+ | pecl install ssh2-0.12 | ||
+ | pecl install msgpack-0.5.5 | ||
+ | pear install horde/ | ||
+ | pear install Console_GetoptPlus-beta | ||
+ | pear install Console_Color2-0.1.2 | ||
+ | pear install net_dns2 | ||
+ | pear install file_fstab | ||
+ | </ | ||
+ | |||
+ | ===== 4. Horde Basissystem installieren ===== | ||
+ | |||
+ | # pear install horde/ | ||
+ | # pear run-scripts horde/ | ||
+ | |||
+ | Als Pfad (filesystem location) dabei **''/ | ||
+ | # mkdir / | ||
+ | # pear install -a -B horde/ | ||
+ | < | ||
+ | < | ||
+ | # pear install horde/horde | ||
+ | # pear install -a horde/horde | ||
+ | # pear install horde/ | ||
+ | # pear install -a horde/ | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | # pear install -a --ignore-errors horde/horde | ||
+ | # pear install -a --ignore-errors horde/horde | ||
+ | # pear install -a --ignore-errors horde/horde | ||
+ | # pear install -a --ignore-errors horde/horde | ||
+ | # pear install -a -B --ignore-errors horde/ | ||
+ | # pear install -a -B --ignore-errors horde/ | ||
+ | |||
+ | Die Installation ist dann erst erfolgreich, | ||
+ | '' | ||
+ | //Hinweis: Bei einer Installation waren 6! Installations-Befehle nötig, bis die Installation fehlerfrei abgeschlossen war.// | ||
+ | |||
+ | Jetzt Installation abschließen: | ||
+ | # webmail-install | ||
+ | |||
+ | | ||
+ | Eingaben für webmail-install: | ||
+ | < | ||
+ | Datenbank: | ||
+ | Username to connect: | ||
+ | Password: | ||
+ | Socket: | ||
+ | Location: | ||
+ | Databasename: | ||
+ | charset: | ||
+ | ssl: | ||
+ | CA: | ||
+ | split: | ||
+ | mail-user: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | <note tip>Alle folgenden Konfigurationsschritte (Nr. 5 bis 9) können durch das Script -> [[anwenderwiki: | ||
+ | * Konfiguration von Apache und php | ||
+ | * Rechte setzen | ||
+ | * Konfigurationsdateien nach /etc auslagern | ||
+ | * LDAP Authentifizierung setzen | ||
+ | * LDAP-Groups setzen | ||
+ | * Dateimanager Gollem einrichten | ||
+ | * Log-Datei konfigurieren | ||
+ | * Neues sicheres Kennwort für mysql setzen (statt ' | ||
+ | |||
+ | Auf die Fehlermeldungen achten, ggf. muss man bei Apache eine alte Konfigurationsdatei von horde 3 noch löschen.</ | ||
+ | |||
+ | |||
+ | |||
+ | ===== 5. Zugriffsrechte, | ||
+ | |||
+ | **Rechte anpassen:** | ||
+ | |||
+ | # chown root: | ||
+ | # chmod 775 / | ||
+ | | ||
+ | **Apache Konfiguration anpassen: | ||
+ | Neue Datei **''/ | ||
+ | <code text horde5.conf> | ||
+ | Alias /horde / | ||
+ | < | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride All | ||
+ | AcceptPathInfo On | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | </ | ||
+ | Ggf. muss man eine alte Konfigurationsdatei von horde 3 löschen. Danach Apache neustarten: | ||
+ | # service apache2 restart | ||
+ | |||
+ | |||
+ | Nun kann man Horde im Browser aufrufen: http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== 6. Statt IMP: LDAP-Authentifizierung einrichten ===== | ||
+ | |||
+ | Nach Installation benutzt Horde zur Authentifizierung IMP, d.h. das Mailsystem des Servers. Dies kann man auf LDAP umstellen, dann kann man auch Gruppenzugehörigkeiten in Horde verwenden.\\ | ||
+ | Zuerst die Config-Dateien editierbar machen, Sicherungskopie erstellen: | ||
+ | < | ||
+ | # cd / | ||
+ | # touch conf.php conf.bak.php && chown root: | ||
+ | # cp conf.php conf.php.orig | ||
+ | # pear install -a horde/ | ||
+ | </ | ||
+ | Wenn das horde_ldap-Modul schon installiert wurde, gibt es beim letzten Punkt eine Fehlermeldung, | ||
+ | |||
+ | |||
+ | Nun im Browser als wwwadmin bei Horde anmelden und unter **'' | ||
+ | |||
+ | $conf[ldap][useldap] | ||
+ | $conf[ldap][hostspec] | ||
+ | $conf[ldap][bindas] | ||
+ | |||
+ | dann unter **'' | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | optional: die Gruppenzugehörigkeit aus LDAP auslesen **'' | ||
+ | | ||
+ | $conf[group][driver] | ||
+ | $conf[group][params][basedn] | ||
+ | $conf[group][params][gid] | ||
+ | $conf[group][params][memberuid] | ||
+ | | ||
+ | Erst am Ende dem Button betätigen: **" | ||
+ | | ||
+ | | ||
+ | **Abschluss: | ||
+ | <code text backends.local.php> | ||
+ | <?php | ||
+ | $servers[' | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | Ggf. muss man das LDAP-Paket nochmals installieren: | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | ===== 7. Dateimanager gollem einrichten ===== | ||
+ | |||
+ | Eine neue Datei anlegen unter **''/ | ||
+ | |||
+ | <code text samba.php> | ||
+ | <?php | ||
+ | $backends[' | ||
+ | $backends[' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ), | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ) | ||
+ | ); | ||
+ | |||
+ | </ | ||
+ | |||
+ | Vorinstalliertes Backend löschen: | ||
+ | |||
+ | # rm / | ||
+ | |||
+ | **Problem: | ||
+ | **Ursache: | ||
+ | **Lösung: | ||
+ | |||
+ | |||
+ | |||
+ | ===== 8. Log-Datei einrichten ===== | ||
+ | |||
+ | Standardmäßig wird alles in der Syslog geloggt. Man kann dies umstellen: | ||
+ | # mkdir / | ||
+ | # chown www-data: | ||
+ | |||
+ | Nun als wwwadmin an Horde anmelden und unter **'' | ||
+ | < | ||
+ | $conf[log][type] | ||
+ | $conf[log][name] | ||
+ | </ | ||
+ | |||
+ | ===== 9. Config-Dateien nach /etc auslagern ===== | ||
+ | |||
+ | Mit folgendem Script werden die Config-Dateien nach /etc/horde5 ausgelagert und dann per SymLink von Horde angesprochen: | ||
+ | <code text horde-linken.sh> | ||
+ | #! /bin/bash | ||
+ | # | ||
+ | # Script verschiebt alle Conf-Dateien von Horde nach /etc/horde5 | ||
+ | # Pfade ggf. anpassen | ||
+ | |||
+ | wwwdir="/ | ||
+ | etcdir="/ | ||
+ | |||
+ | ########################################################################### | ||
+ | |||
+ | if [ ! -d " | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | if [ -d " | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | mkdir " | ||
+ | chown root: | ||
+ | chmod 755 " | ||
+ | |||
+ | echo " | ||
+ | verzliste="/ | ||
+ | for verz in $verzliste ; do | ||
+ | if [ $verz == "/ | ||
+ | wverz=" | ||
+ | else | ||
+ | wverz=" | ||
+ | fi | ||
+ | everz=" | ||
+ | echo " | ||
+ | mv $wverz $everz | ||
+ | ln -s $everz $wverz | ||
+ | chown root: | ||
+ | chmod 755 $everz | ||
+ | done | ||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | ===== 10. Fehlerbehebungen und Optimierungen ===== | ||
+ | |||
+ | Um die Installation von horde zu überprüfen kann man eine Test-Seite abrufen. Die muss man aber zuerst in der Config-Datei **''/ | ||
+ | $conf[' | ||
+ | und dann im Browser: | ||
+ | http:// | ||
+ | |||
+ | **Problem: | ||
+ | # pecl install lzf | ||
+ | Dann noch eine Datei **''/ | ||
+ | |||
+ | # echo " | ||
+ | # service apache2 restart | ||
+ | |||
+ | **Problem: | ||
+ | < | ||
+ | # aptitude install make | ||
+ | # pecl uninstall lzf | ||
+ | # pecl install lzf | ||
+ | </ | ||
+ | |||
+ | **Problem: | ||
+ | < | ||
+ | # pear install horde/ | ||
+ | # echo " | ||
+ | # echo " | ||
+ | # service apache2 restart | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Problem bei Miscellaneous PHP Settings**: Die Datei **''/ | ||
+ | |||
+ | < | ||
+ | # service apache2 restart | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | PEAR Upgrade: | ||
+ | # pear upgrade-all | ||
+ | |||
+ | ---- | ||
+ | |||
+ | **Problem: | ||
+ | U.U muss man mysql mit folgendem Befehl starten: | ||
+ | # mysql -u debian-sys-maint -p**** | ||
+ | Das Passwort für debian-sys-maint findet man unter **''/ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | **Problem: | ||
+ | < | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | **Problem: | ||
+ | < | ||
+ | pecl install channel:// | ||
+ | tar -xvf ./ | ||
+ | cd ./ | ||
+ | phpize sasl | ||
+ | ./configure | ||
+ | make | ||
+ | cd ./modules | ||
+ | cp ./sasl.so / | ||
+ | cd ../.. | ||
+ | rm -R ./* | ||
+ | </ | ||
+ | |||
+ | ==== Logging ==== | ||
+ | |||
+ | **Horde-Logging** einschalten in der Datei **''/ | ||
+ | | ||
+ | |||
+ | |||
+ | **PHP-Logging** einschalten in der Datei **''/ | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Danach Apache neu starten: | ||
+ | # service apache2 restart | ||
+ | |||
+ | |||
+ | ==== Fehlermeldungen bei NAG ==== | ||
+ | |||
+ | Ggf. muss direkt die Apache-Konfiguration angepasst werden: | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | </ | ||
+ | | ||
+ | | ||
+ | ===== 11. Einstellungen zu Mail ===== | ||
+ | |||
+ | Um eine feste Maildomain für alle festzulegen ergänzt man in der Datei '' | ||
+ | <?php | ||
+ | ... | ||
+ | $servers[' | ||
+ | |||
+ | Um Weiterleitungen zu ermöglichen ergänzt man die Datei '' | ||
+ | <?php | ||
+ | $backends[' | ||
+ | |||
+ | |||
+ | (siehe auch bei Punkt 13) | ||
+ | |||
+ | ===== 12. Weitere Module installieren ===== | ||
+ | **Ticket-System Whups** | ||
+ | |||
+ | # pear install -a horde/whups | ||
+ | |||
+ | oder | ||
+ | |||
+ | # pear install -a --ignore-errors horde/whups | ||
+ | |||
+ | und dann: | ||
+ | < | ||
+ | # cd / | ||
+ | # touch conf.php conf.bak.php && chown root: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== 13. Änderung mit INGO 3.2.x ===== | ||
+ | **Filterregeln**\\ | ||
+ | Durch eine Änderung im Bereich von imapflags / imap4flags ist eine Anpassung notwendig, da sonst die Filterregeln nicht mehr komplett funktionieren (-> als XY markieren). Das neue imap4flags kann nicht verarbeitet werden und manuell muss die Verwendung der ' | ||
+ | |||
+ | < | ||
+ | # touch / | ||
+ | </ | ||
+ | \\ | ||
+ | Zur Sicherheit //alle// notwendigen Parameter in die backends.local.php, | ||
+ | < | ||
+ | $backends[' | ||
+ | // | ||
+ | |||
+ | $backends[' | ||
+ | // $backends[' | ||
+ | |||
+ | |||
+ | $backends[' | ||
+ | // Disabled by default | ||
+ | ' | ||
+ | ' | ||
+ | Ingo:: | ||
+ | ' | ||
+ | ' | ||
+ | // Hostname of the timsieved server | ||
+ | ' | ||
+ | // Login type of the server | ||
+ | ' | ||
+ | // Enable/ | ||
+ | ' | ||
+ | // Port number of the timsieved server | ||
+ | ' | ||
+ | // Name of the sieve script | ||
+ | ' | ||
+ | // imap(4)flags | ||
+ | ' | ||
+ | // Enable debugging. The sieve protocol communication is logged | ||
+ | // with the DEBUG level. | ||
+ | ' | ||
+ | ), | ||
+ | ), | ||
+ | ), | ||
+ | ' | ||
+ | Ingo:: | ||
+ | ' | ||
+ | ' | ||
+ | // If using Dovecot or any other Sieve implementation that | ||
+ | // requires folder names to be UTF-8 encoded, set this | ||
+ | // parameter to true. | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ), | ||
+ | ), | ||
+ | ' | ||
+ | ); | ||
+ | </ | ||