Horde¶
Installation: see:
Typically (stretch):
# <mysql setup>
apt install php-horde-webmail
webmail-install
# <admin user setup>
For buster&bullseye, Horde Webmail, IMAP authentication, IMAP admin account:
apt install php-horde-webmail apache2 mariadb-server php-mysql \
dovecot-imapd default-mta mailutils
# Note: at the point the web interface offers unauthenticated admin
# access, but don't use it yet.
mariadb
CREATE DATABASE horde;
GRANT ALL PRIVILEGES ON horde.* to 'horde' IDENTIFIED BY 'secret';
# Prepare an admin user
adduser admin
echo Test | mail -s "Test" admin@buster-elts
webmail-install
# SQL config: mysqli / horde / secret / horde
# Specify an existing mail user [...]: admin
# Note: the web interface now requires credentials.
You can now login through: http://buster-elts.local/horde/ (with FQDN), admin:yourpassword, and check your e-mails.
To enable inline display of HTML in the IMP webmail (e.g. to test XSS vulnerabilities):
echo '<?php $mime_drivers["html"]["inline"] = true;' \
> /etc/horde/imp/mime_drivers.local.php
Troubleshooting:
Manual configuration:
# Allow editing the configuration from the web interface
chmod 660 /etc/horde/*/conf.php
chown root:www-data /etc/horde/*/conf.php
# <edit configuration via web interface>
chmod 640 /etc/horde/*/conf.php
$BROWSER http://buster-elts.local/horde/admin/config/config.php
# Administration > Configuration > Horde > Authentication
# [auth][admins]: Administrator
# [auth][params][app]: imp
# or [auth][driver]: IMAP
# <Generate config>
# Administration > Configuration > Horde > Database
# [sql][phptype]: mysqli
# [sql][username,password,database]: horde
# <Generate config>
The notes application can cause PHP errors, in /etc/horde/mnemo/conf.php, add:
$conf['storage']['params']['table'] = 'mnemo_memos';
For bookworm and trixie/sid, Horde 5.2.x is currently incompatible
with PHP 8.1 and 8.4 (see BTS).
webmail-install
is broken, as well as the admin interface.
Test suite¶
For a single plugin package:
apt install autopkgtest
adt-run -B ./ --- null # jessie
autopkgtest -B -- null # stretch
or manually:
apt install php-horde-test
quilt push -a
cd Horde_Text_Filter-*/test/Horde/Text/Filter/
phpunit .
Copyright (C) 2021, 2025 Sylvain Beucler