Horde: Unterschied zwischen den Versionen
K (→Composer) |
|||
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | == Installation mit Composer == | |
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Download === | === Download === | ||
Zeile 74: | Zeile 24: | ||
Unter Suse Linux im Verzeichnis <tt>/etc/apache2/vhosts.d</tt> eine Konfiguration für den viturellen Host anlegen | Unter Suse Linux im Verzeichnis <tt>/etc/apache2/vhosts.d</tt> eine Konfiguration für den viturellen Host anlegen | ||
# Beispiel | # Beispiel | ||
− | /etc/apache2/vhosts. | + | /etc/apache2/vhosts.d/horde.conf |
DocumentRoot setzen | DocumentRoot setzen | ||
<VirtualHost xxx.xxx.xxx.xxx:80> | <VirtualHost xxx.xxx.xxx.xxx:80> | ||
Zeile 86: | Zeile 36: | ||
composer require horde/imp dev-FRAMEWORK_6_0 | composer require horde/imp dev-FRAMEWORK_6_0 | ||
− | == | + | == Authentifikation == |
− | = | + | |
− | + | ==== Authentifikation gegen eine Passwortdatei ==== | |
− | |||
$conf['auth']['admins'] = array('admin_name'); | $conf['auth']['admins'] = array('admin_name'); | ||
$conf['auth']['driver'] = 'http'; | $conf['auth']['driver'] = 'http'; | ||
$conf['auth']['params']['htpasswd_file'] = '/srv/www/.authpass'; | $conf['auth']['params']['htpasswd_file'] = '/srv/www/.authpass'; | ||
$conf['auth']['params']['encryption'] = 'plain'; | $conf['auth']['params']['encryption'] = 'plain'; | ||
− | + | Diese Einstellungen können helfen, dass man sich anmelden kann, wenn nach einem Update die Authentifizierung über <tt>imp</tt> nicht möglich ist. | |
− | Passwortdatei erzeugen | + | * Passwortdatei erzeugen |
htpasswd2 -c .htpasswd username | htpasswd2 -c .htpasswd username | ||
Diese Passwörter sind verschlüsselt. | Diese Passwörter sind verschlüsselt. | ||
Zeile 101: | Zeile 50: | ||
Man kann auch Plaintext Passwörter in die Datei schreiben, dann: | Man kann auch Plaintext Passwörter in die Datei schreiben, dann: | ||
$conf[auth][params][encryption] = "plain" | $conf[auth][params][encryption] = "plain" | ||
− | + | ==== Athentifikation über IMP ==== | |
$conf['auth']['admins'] = array('admin_user'); | $conf['auth']['admins'] = array('admin_user'); | ||
$conf['auth']['driver'] = 'application'; | $conf['auth']['driver'] = 'application'; | ||
$conf['auth']['params']['app'] = 'imp'; | $conf['auth']['params']['app'] = 'imp'; | ||
+ | == Upgrade == | ||
+ | === Composer === | ||
+ | cd /srv/www/htdocs/horde | ||
+ | composer update | ||
+ | chown wwwrun.www * -R | ||
+ | service apache2 restart | ||
+ | Durch das Update wird die Konfiguration von <tt>imp</tt> und <tt>kronolith</tt> gelöscht. Falls die Authentifizierung über <tt>imp</tt> erfolgen soll, kommt es daher zu einer Fehlermeldung. | ||
+ | Mail ist nicht aktiviert | ||
+ | Nach temporäre Änderung der Authentifizierungseinstellungen ist eine Anmeldung in der Groupware möglich. Dann kann man die Konfiguration von <tt>imp</tt> aktualisieren. | ||
− | === | + | === Authentifizierung ändern === |
− | + | Horde Konfiguration manuell b earbeiten | |
− | + | /srv/www/htdocs/horde/vendor/horde/horde/config/conf.php | |
− | + | Die temporären Änderungen sind hier beschrieben: [[#Backend für die Authentifikation|Horde Authentifizierung]] | |
− | / | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Kalender und Kontakte synchronisieren == | == Kalender und Kontakte synchronisieren == | ||
Zeile 159: | Zeile 107: | ||
: Mit dem Addon '''Category Manager''' kann man die Verteilerlisten ersetzen, indem man Nachrichten an die Mitglieder einer Kontaktkategorie sendet. | : Mit dem Addon '''Category Manager''' kann man die Verteilerlisten ersetzen, indem man Nachrichten an die Mitglieder einer Kontaktkategorie sendet. | ||
− | + | == Imp Webmail == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Backend | * Backend | ||
Für IMP muss ein Backend konfiguriert werden. Das geht nicht im Webinterface. Das Backend (IMAP oder POP3) wird in der Datei <code>imp/config/backends.local.php</code> definiert. | Für IMP muss ein Backend konfiguriert werden. Das geht nicht im Webinterface. Das Backend (IMAP oder POP3) wird in der Datei <code>imp/config/backends.local.php</code> definiert. | ||
Zeile 222: | Zeile 128: | ||
?> | ?> | ||
− | + | == Kronolith - Kalender == | |
==== Kalender in Thunderbird abonnieren ==== | ==== Kalender in Thunderbird abonnieren ==== | ||
Einen neuen Kalender erstellen | Einen neuen Kalender erstellen | ||
Zeile 259: | Zeile 165: | ||
: Achtung: Nicht vergessen auf den PHP Eröffnungstag: <code><?php</code> | : Achtung: Nicht vergessen auf den PHP Eröffnungstag: <code><?php</code> | ||
− | + | == Turba - Adressbuch == | |
+ | === Adressbuch Layout ändern === | ||
+ | Vorlagen für das Layout | ||
+ | vendor/horde/turba/config/backends.php | ||
+ | In folgender Datei kann man das Layout anpassen: | ||
+ | vendor/horde/turba/config/backends.local.php | ||
+ | Input Typen für Formularfelder: https://wiki.horde.org/Doc/Dev/FormTypes | ||
− | + | == Gollem Dateimanager == | |
Es muss ein Backend konfiguriert werden. | Es muss ein Backend konfiguriert werden. | ||
: In der Datei <code>gollem/config/backends.php</code> sind verschiedene Backends vorkonfiguriert. Dieses Skript sollte man nicht bearbeiten, da es bei Updates überschrieben wird. | : In der Datei <code>gollem/config/backends.php</code> sind verschiedene Backends vorkonfiguriert. Dieses Skript sollte man nicht bearbeiten, da es bei Updates überschrieben wird. | ||
Zeile 299: | Zeile 211: | ||
); | ); | ||
== Troubles == | == Troubles == | ||
+ | Bugtracker: https://bugs.horde.org/ | ||
=== Testscript === | === Testscript === | ||
www.example.com/horde/test.php | www.example.com/horde/test.php | ||
Diese Seite zeigt, ob etwas fehlt. | Diese Seite zeigt, ob etwas fehlt. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== UTF-8 === | === UTF-8 === | ||
Fehlermeldung nach dem Login | Fehlermeldung nach dem Login | ||
Zeile 348: | Zeile 221: | ||
# $conf['sql']['charset'] = 'utf-8'; | # $conf['sql']['charset'] = 'utf-8'; | ||
$conf['sql']['charset'] = 'utf8mb4'; | $conf['sql']['charset'] = 'utf8mb4'; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Horde im Internet == | == Horde im Internet == | ||
[http://www.horde.org/apps/horde/docs Dokumentation] | [http://www.horde.org/apps/horde/docs Dokumentation] |
Aktuelle Version vom 25. April 2024, 13:26 Uhr
Installation mit Composer
Download
cd /srv/www/htdocs git clone https://github.com/maintaina-com/horde-deployment.git horde
Installation
cd horde export COMPOSER_ALLOW_SUPERUSER=1 composer install
Horde Konfiguration erzeugen
cd web/horde/config cp conf.php.dist conf.php
Horde aktivieren
cd /srv/www/htdocs/horde composer horde-reconfigure
Berechtigungen
chown wwwrun.www /srv/www/htdocs/horde -R
Virtual Host anlegen
Unter Suse Linux im Verzeichnis /etc/apache2/vhosts.d eine Konfiguration für den viturellen Host anlegen
# Beispiel /etc/apache2/vhosts.d/horde.conf
DocumentRoot setzen
<VirtualHost xxx.xxx.xxx.xxx:80> DocumentRoot "/srv/www/htdocs/horde/web" ...
Server neu starten
service apache2 restart
Horde Apps installieren
Beispiel: Installation von imp Webmail App
composer require horde/imp dev-FRAMEWORK_6_0
Authentifikation
Authentifikation gegen eine Passwortdatei
$conf['auth']['admins'] = array('admin_name'); $conf['auth']['driver'] = 'http'; $conf['auth']['params']['htpasswd_file'] = '/srv/www/.authpass'; $conf['auth']['params']['encryption'] = 'plain';
Diese Einstellungen können helfen, dass man sich anmelden kann, wenn nach einem Update die Authentifizierung über imp nicht möglich ist.
- Passwortdatei erzeugen
htpasswd2 -c .htpasswd username
Diese Passwörter sind verschlüsselt.
Man kann auch Plaintext Passwörter in die Datei schreiben, dann:
$conf[auth][params][encryption] = "plain"
Athentifikation über IMP
$conf['auth']['admins'] = array('admin_user'); $conf['auth']['driver'] = 'application'; $conf['auth']['params']['app'] = 'imp';
Upgrade
Composer
cd /srv/www/htdocs/horde composer update chown wwwrun.www * -R service apache2 restart
Durch das Update wird die Konfiguration von imp und kronolith gelöscht. Falls die Authentifizierung über imp erfolgen soll, kommt es daher zu einer Fehlermeldung.
Mail ist nicht aktiviert
Nach temporäre Änderung der Authentifizierungseinstellungen ist eine Anmeldung in der Groupware möglich. Dann kann man die Konfiguration von imp aktualisieren.
Authentifizierung ändern
Horde Konfiguration manuell b earbeiten
/srv/www/htdocs/horde/vendor/horde/horde/config/conf.php
Die temporären Änderungen sind hier beschrieben: Horde Authentifizierung
Kalender und Kontakte synchronisieren
Smartphone
Am Smartphone die App DavDroid istallieren
DavDroid installieren
Die App DavDroid heißt jetzt DAVx5. Diese App auf dem Smartphone installieren.
Die App ist gut dokumentiert und kostet einige Euro, was sie auf jeden Fall wert ist.
- Am Smartphone wird ein DAVdroid Konto erstellt, das die Synchronisation mit dem Kalender und mit dem Adressbuch über CalDAV möglich macht.
DavDroid Konto einrichten
Für die Synchronisation legt man am Smartphone ein DavDroid Konto an mit beispielsweise folgenden Daten:
URL: https://example.com/horde/rpc.php/calendars/myUserName/calendar:gO8Nqo6qPBun1TwWNl148w1o User: myUserName Passwort: *****
Und wie finde ich die richtige URL?
- Am PC im Webbrowser in den Kalender einloggen
https://example.com/horde/login.php
In den Kalender Eigenschaften von Kronolith unter Abonnement wird die URL angezeigt. Die Kalendereigenschaften öffnet man, indem man in der Navigationsleiste des Kalenderprogramms auf das Bleistiftsymbol klickt.
DAVdroid Einstellungen
- Kontaktgruppen Methode
Horde unterstützt keine Gruppen in den Kontakten. Um Probleme zu vermeiden, sollte folgende Einstellung vorgenommen werden:
Gruppen sind Kategorien der Kontakte
Siehe: https://www.davdroid.com/tested-with/horde/
Thunderbird Synchronisation
TbSync
Das Thunderbird Addon TbSync ermöglicht die Synchronistation von Kalender und Kontakten über CalDAV / CardDAV.
- Zusätzlich braucht man das Addon Provider für CalDav und CardDav.
- TbSync konfigurieren
Extras / AddOn Einstellungen / TbSync
Nun kann man ein neues CalDav / CardDav Konto hinzufügen, indem man die Benutzerdefinierte Konfiguration wählt
Serveradresse: https://myhost.example.com/hordePfad/rpc.php
Nach erfolgter Synchronisation hat man ein neues Adressbuch mit dem Namen des eben erstellten Kontos.
- Kontaktgruppen
Die Verteilerlisten von Thunderbird sind offenbar nicht direkt synchronisierbar.
- Mit dem Addon Category Manager kann man die Verteilerlisten ersetzen, indem man Nachrichten an die Mitglieder einer Kontaktkategorie sendet.
Imp Webmail
- Backend
Für IMP muss ein Backend konfiguriert werden. Das geht nicht im Webinterface. Das Backend (IMAP oder POP3) wird in der Datei imp/config/backends.local.php
definiert.
// IMAP server $servers['imap'] = array( // ENABLED by default; will connect to IMAP port on local server 'disabled' => false, 'name' => 'IMAP_Server@t2792.greatnet.de', 'hostspec' => 'localhost', 'hordeauth' => false, 'protocol' => 'imap', 'port' => 143, 'secure' => 'tls', );
- HTML Nachrichten anzeigen
Aus Sicherheitsgründen werden HTML Nachrichten nicht direkt im Browser angezeigt. Dieses Verhalten kann man ändern:
- Datei
imp/config/mime_drivers.local.php
erzeugen mit folgendem Inhalt:
<?php $mime_drivers['html']['inline'] = true; ?>
Kronolith - Kalender
Kalender in Thunderbird abonnieren
Einen neuen Kalender erstellen
Datei / Neu / Kalender / Im Netzwerk
Dann die Adresse des Kalenders eingeben.
https://example.com/horde/rpc.php/calendars/username/calendar:xyxyxy_ID/
Die richtige Adresse findet man in den Kalender Eigenschaften.
- In Kronolith auf das Bleistift - Symbol klicken.
- Im Tab Abonnement wird ein Link angezeigt.
- Nun kann man die Adresse kopieren, um sie in Thunderbird einzufügen.
Mehrere Kalender abonnieren
Wenn die Zugangsdaten der Kalender nicht gleich sind, gibt es ein Problem mit dem Passwortspeicher von Thunderbird.
- Thunderbird speichert offensichtlich nur 1 Passwort für alle Kalender
Lösung bzw. Workaround: In der erweiterten Konfiguration folgende Option setzen
calendar.network.multirealm = true
Gastkonto
Man kann über folgende URL über das Gastkonto ohne Passworteingabe auf einen Kalender zugreifen
# Beispiel https://example.com/horde/kronolith/?display_cal=internal_gO8Nq6nq9Bu71TwWNl148w1
Leider weiß ich nicht mehr, woher ich diese Information habe, es funktioniert aber.
- Mit einem Link dieser Art bekommt man als Gast Zugang zum Kalender. Die Berechtigungen, die dieser Gastbenutzer haben soll, sollten vorher in den Kalender Eigenschaften definiert werden.
Einstellungen des Gastkontos
Die Kalendereinstellungen werden normalerweise per User gespeichert. Da dem Gastkonto kein User zugeordnet ist, müssen die Default Einstellungen geändert werden, was nur manuell geht. Hier ein Beispiel für SUSE Linux. Die Konfiguration befindet sich in
/srv/www/htdocs/horde/kronolith/config/prefs.php
Diese Datei sollte man aber nicht verändern, statt dessen eine neue Datei anlegen
cd /srv/www/htdocs/horde/kronolith/config touch prefs.local.php
In dieser Datei definiert man die gewünschten Änderungen. Das heißt, man kopiert sie aus prefs.php
und ändert dann nach Bedarf, hier ein Beispiel:
<?php // Erster Wochentag soll Montag sein $_prefs['week_start_monday']['value'] = '1'; // Zeit im 24 Stunden Format $_prefs['twentyFour']['value'] = true;
- Achtung: Nicht vergessen auf den PHP Eröffnungstag:
<?php
Turba - Adressbuch
Adressbuch Layout ändern
Vorlagen für das Layout
vendor/horde/turba/config/backends.php
In folgender Datei kann man das Layout anpassen:
vendor/horde/turba/config/backends.local.php
Input Typen für Formularfelder: https://wiki.horde.org/Doc/Dev/FormTypes
Gollem Dateimanager
Es muss ein Backend konfiguriert werden.
- In der Datei
gollem/config/backends.php
sind verschiedene Backends vorkonfiguriert. Dieses Skript sollte man nicht bearbeiten, da es bei Updates überschrieben wird.
- Override
Den Code für das Backend kopieren und im Unterverzeichnis backends.d
ablegen.
Backend: Lokales Filesystem
# gollem/config/backends.d/20-groupware.php
$backends['ftp']['disabled'] = true; $backends['sqlhome']['disabled'] = true; $backends['file'] = array( 'disabled' => false, 'name' => 'Virtual Home Directories', 'driver' => 'file', 'hordeauth' => true, 'params' => array( 'vfsroot' => '/srv/www/htdocs/vfs', 'permissions' => '755' ), 'loginparams' => array(), 'root' => '/'.$GLOBALS['registry']->getAuth(), 'home' => '/'.$GLOBALS['registry']->getAuth(), 'createhome' => true, // 'filter' => '^regex$', // 'quota' => false, 'shares' => true, 'attributes' => array( 'type', 'name', 'share', 'edit', 'download', 'modified', 'size', )
);
Troubles
Bugtracker: https://bugs.horde.org/
Testscript
www.example.com/horde/test.php
Diese Seite zeigt, ob etwas fehlt.
UTF-8
Fehlermeldung nach dem Login
A fatal error has occurred utf8 is not supported by MySQL
Konfiguration horde/config/conf.php ändern
# $conf['sql']['charset'] = 'utf-8'; $conf['sql']['charset'] = 'utf8mb4';