Horde: Unterschied zwischen den Versionen
K (typo) |
K (→Emailfilter/Ingo: x) |
||
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Horde ist ein PHP-Framework für Webapplikationen. Darüber hinaus gibt es bereits fertige Apps, wie z.b. Webmail IMP | Horde ist ein PHP-Framework für Webapplikationen. Darüber hinaus gibt es bereits fertige Apps, wie z.b. Webmail IMP | ||
=Upgrade= | |||
upgrade is done via pear | |||
<syntaxhighlight lang="bash"> | |||
#as root | |||
umask 022 | |||
pear upgrade | |||
</syntaxhighlight> | |||
then check for bug (BasicAuth and ActiveSync) below | |||
=Known Bugs= | |||
==Apache mod_auth (BasicAuth) and ActiveSync== | |||
If Apache mod_auth (BasicAuth) is used for rpc.php ActiveSync is not working. See http://bugs.horde.org/ticket/11801 | |||
Workaround: | |||
<source lang="php">#/usr/share/php/Horde/Auth/Http.php | |||
#beginning of _authenticate() | |||
#return true if htpasswd-file is empty and transparent is working, no need to check more | |||
if (empty($this->_params['htpasswd_file']) && $this->transparent()) { | |||
return true; | |||
}</source> | |||
==Pear Error== | |||
If you get the error "CRITICAL ERROR: Registry could not be initialized from any value" the rights are probably wrong. E.g. /usr/share/php or /usr/share/php//usr/share/php/.registry must be readable/executable by e.g. webserver account www-data. | |||
=Module= | =Module= | ||
==Emailfilter/Ingo== | ==Emailfilter/Ingo== | ||
Dovecot bringt einen Sieve-Filter-Server mit, diesen kann man mit Horde nutzen: http://www.radnerd.de/artikel/vom-radsport/2013/02/sieve-mit-dovecot-und-horde-5-ingo.html | |||
Für einen Defaultfilter gibt es ein Hook (horde/config/hooks.php) | Für einen Defaultfilter gibt es ein Hook (horde/config/hooks.php) | ||
< | <syntaxhighlight lang="php"> | ||
<?php | <?php | ||
// | public function transport_auth($driver) | ||
$ | { | ||
switch ($driver) { | |||
case 'timsieved': | |||
// Example #1: Use full Horde username for password. | |||
return array('euser' => $GLOBALS['registry']->getAuth(null), 'username' => $GLOBALS['registry']->getAuth(null)); | |||
</ | |||
// Example #2: Use IMP password/username. | |||
//$ob = $GLOBALS['registry']->call('mail/imapOb'); | |||
//return array( | |||
// 'password' => $ob->getParam('password'), | |||
// 'username' => $ob->getParam('username') | |||
//); | |||
} | |||
// DEFAULT: Use hordeauth (identical to not defining hook at all). | |||
//return true; | |||
} | |||
php?> | |||
</syntaxhighlight> | |||
[[Kategorie:Tips_und_Tricks]] | |||
[[Kategorie:WWW]] | |||
[[Kategorie:PHP]] |
Aktuelle Version vom 5. November 2015, 20:31 Uhr
Horde ist ein PHP-Framework für Webapplikationen. Darüber hinaus gibt es bereits fertige Apps, wie z.b. Webmail IMP
Upgrade
upgrade is done via pear
#as root
umask 022
pear upgrade
then check for bug (BasicAuth and ActiveSync) below
Known Bugs
Apache mod_auth (BasicAuth) and ActiveSync
If Apache mod_auth (BasicAuth) is used for rpc.php ActiveSync is not working. See http://bugs.horde.org/ticket/11801
Workaround:
#/usr/share/php/Horde/Auth/Http.php
#beginning of _authenticate()
#return true if htpasswd-file is empty and transparent is working, no need to check more
if (empty($this->_params['htpasswd_file']) && $this->transparent()) {
return true;
}
Pear Error
If you get the error "CRITICAL ERROR: Registry could not be initialized from any value" the rights are probably wrong. E.g. /usr/share/php or /usr/share/php//usr/share/php/.registry must be readable/executable by e.g. webserver account www-data.
Module
Emailfilter/Ingo
Dovecot bringt einen Sieve-Filter-Server mit, diesen kann man mit Horde nutzen: http://www.radnerd.de/artikel/vom-radsport/2013/02/sieve-mit-dovecot-und-horde-5-ingo.html
Für einen Defaultfilter gibt es ein Hook (horde/config/hooks.php)
<?php
public function transport_auth($driver)
{
switch ($driver) {
case 'timsieved':
// Example #1: Use full Horde username for password.
return array('euser' => $GLOBALS['registry']->getAuth(null), 'username' => $GLOBALS['registry']->getAuth(null));
// Example #2: Use IMP password/username.
//$ob = $GLOBALS['registry']->call('mail/imapOb');
//return array(
// 'password' => $ob->getParam('password'),
// 'username' => $ob->getParam('username')
//);
}
// DEFAULT: Use hordeauth (identical to not defining hook at all).
//return true;
}
php?>