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. | ||
| + | ' | ||
| + | ' | ||
| + | ), | ||
| + | ), | ||
| + | ), | ||
| + | ' | ||
| + | ); | ||
| + | </ | ||