Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
infrastructure:serveur_mail:partie_3:horde [2015/10/13 16:14] ghusson [Finish and tuning] |
infrastructure:serveur_mail:partie_3:horde [2019/01/10 16:31] (Version actuelle) rguyader [Horde install] |
||
---|---|---|---|
Ligne 12: | Ligne 12: | ||
IMAP_SERVER="localhost" | IMAP_SERVER="localhost" | ||
SMTP_SERVER="localhost" | SMTP_SERVER="localhost" | ||
- | ADMIN_MAIL="admain@${DEFAULT_MAIL_DOMAIN}" | + | ADMIN_MAIL="admin@${DEFAULT_MAIL_DOMAIN}" |
CONTACT_MAIL="postmaster@$DEFAULT_MAIL_DOMAIN" | CONTACT_MAIL="postmaster@$DEFAULT_MAIL_DOMAIN" | ||
INSTALL_PATH="/var/www/horde" | INSTALL_PATH="/var/www/horde" | ||
Ligne 714: | Ligne 714: | ||
Type your choice []: mysql | Type your choice []: mysql | ||
- | Username to connect to the database as* [] u_horde | + | Username to connect to the database as* [] hordeuser |
Password to connect with | Password to connect with | ||
How should we connect to the database? | How should we connect to the database? | ||
Ligne 724: | Ligne 724: | ||
Location of UNIX socket [] /var/run/mysqld/mysqld.sock | Location of UNIX socket [] /var/run/mysqld/mysqld.sock | ||
- | Database name to use* [] db_horde | + | Database name to use* [] hordedb |
Internally used charset* [utf-8] | Internally used charset* [utf-8] | ||
Ligne 838: | Ligne 838: | ||
/* horde mailer */ | /* horde mailer */ | ||
$conf['mailer']['params']['host'] = 'localhost'; | $conf['mailer']['params']['host'] = 'localhost'; | ||
- | $conf['mailer']['params']['port'] = 587; | + | $conf['mailer']['params']['port'] = 25; |
$conf['mailer']['params']['secure'] = 'tls'; | $conf['mailer']['params']['secure'] = 'tls'; | ||
$conf['mailer']['params']['localhost'] = 'localhost'; | $conf['mailer']['params']['localhost'] = 'localhost'; | ||
- | $conf['mailer']['params']['username_auth'] = true; | + | $conf['mailer']['params']['username_auth'] = false; |
- | $conf['mailer']['params']['password_auth'] = true; | + | $conf['mailer']['params']['password_auth'] = false; |
- | $conf['mailer']['params']['auth'] = true; | + | $conf['mailer']['params']['auth'] = false; |
$conf['mailer']['params']['lmtp'] = false; | $conf['mailer']['params']['lmtp'] = false; | ||
$conf['mailer']['type'] = 'smtp'; | $conf['mailer']['type'] = 'smtp'; | ||
Ligne 948: | Ligne 948: | ||
</code> | </code> | ||
- | If SSL, please add the same to the config file XXX | + | If SSL, please add the same to the config file, and tune SSL allowed ciphers |
<code bash> | <code bash> | ||
Ligne 1015: | Ligne 1015: | ||
'name' => 'IMAP Server', | 'name' => 'IMAP Server', | ||
'hostspec' => 'localhost', | 'hostspec' => 'localhost', | ||
- | ’realm’ =>’__DEFAULT_MAIL_DOMAIN’, | + | ’realm’ => ’__DEFAULT_MAIL_DOMAIN’, |
'hordeauth' => 'full', | 'hordeauth' => 'full', | ||
'protocol' => 'imap', | 'protocol' => 'imap', | ||
Ligne 1052: | Ligne 1052: | ||
chmod 640 $INSTALL_PATH/imp/config/prefs.d/use_trash.php | chmod 640 $INSTALL_PATH/imp/config/prefs.d/use_trash.php | ||
chown www-data:www-data $INSTALL_PATH/imp/config/prefs.d/use_trash.php | chown www-data:www-data $INSTALL_PATH/imp/config/prefs.d/use_trash.php | ||
+ | </code> | ||
+ | |||
+ | ===== Ingo - managesieve == | ||
+ | In order to use server site filters and action over incoming email in Horde, you need to install ingo. | ||
+ | <code bash> | ||
+ | pear install -a -B horde/ingo | ||
+ | </code> | ||
+ | Then goto the Horde administration pannel, clieck on "SQL DB schema is out of date." at right of Ingo application. | ||
+ | And at last, create the configuration files : | ||
+ | <code bash> | ||
+ | cat << "EOF" > $INSTALL_PATH/ingo/config/conf.php | ||
+ | <?php | ||
+ | /* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */ | ||
+ | // $Id: 48142d13ef06c07f56427fe5b43981631bdbfdb0 $ | ||
+ | $conf['storage']['driver'] = 'prefs'; | ||
+ | $conf['rules']['userheader'] = true; | ||
+ | $conf['spam']['header'] = 'X-Spam-Level'; | ||
+ | $conf['spam']['char'] = '*'; | ||
+ | $conf['spam']['compare'] = 'string'; | ||
+ | /* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */ | ||
+ | EOF | ||
+ | </code> | ||
+ | |||
+ | <code bash> | ||
+ | cat << "EOF" > $INSTALL_PATH/ingo/config/backends.local.php | ||
+ | <?php | ||
+ | /* Sieve local */ | ||
+ | $backends['imap']['disabled'] = true; | ||
+ | $backends['sieve']['disabled'] = false; | ||
+ | $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['hostspec'] = '__DEFAULT_MAIL_DOMAIN'; | ||
+ | $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['usetls'] = true; | ||
+ | $backends['sieve']['script'][Ingo::RULE_ALL]['params']['utf8'] = true; | ||
+ | EOF | ||
+ | sed -i "s/__DEFAULT_MAIL_DOMAIN/${DEFAULT_MAIL_DOMAIN}/g" $INSTALL_PATH/ingo/config/backends.local.php | ||
+ | </code> | ||
+ | |||
+ | <code bash> | ||
+ | cat << "EOF" > $INSTALL_PATH/ingo/config/hooks.local.php | ||
+ | <?php | ||
+ | class Ingo_Hooks | ||
+ | { | ||
+ | public function transport_auth($driver) | ||
+ | { | ||
+ | switch ($driver) { | ||
+ | case 'timsieved': | ||
+ | $full_user = $GLOBALS['registry']->getAuth(null); | ||
+ | return array( | ||
+ | 'euser' => $full_user, | ||
+ | 'username' => $full_user | ||
+ | ); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | EOF | ||
+ | </code> | ||
+ | |||
+ | <code bash> | ||
+ | cat << "EOF" > $INSTALL_PATH/ingo/config/prefs.local.php | ||
+ | <?php | ||
+ | $_prefs['spam']['locked'] = true; | ||
+ | EOF | ||
</code> | </code> | ||
Ligne 1074: | Ligne 1135: | ||
cat << 'EOF' > /etc/cron.d/horde | cat << 'EOF' > /etc/cron.d/horde | ||
# Horde Alarms | # Horde Alarms | ||
- | */5 * * * * www-data test -x /usr/bin/horde-alarms && /usr/bin/horde-alarms | + | */5 * * * * www-data test -x /usr/bin/horde-alarms && cd /var/www/horde/ && /usr/bin/horde-alarms |
EOF | EOF | ||
pear config-set -c horde horde_dir /var/www/horde system | pear config-set -c horde horde_dir /var/www/horde system | ||
Ligne 1084: | Ligne 1145: | ||
===== Android activesync ===== | ===== Android activesync ===== | ||
+ | |||
+ | In french (sorry) | ||
A cause de bugs dans la version 5, suivre cette procédure (effacera toutes les données mail, agenda, contacts) : | A cause de bugs dans la version 5, suivre cette procédure (effacera toutes les données mail, agenda, contacts) : | ||
* aller dans configuration -> comptes et désactiver la synchronisation sur tous les comptes | * aller dans configuration -> comptes et désactiver la synchronisation sur tous les comptes | ||
Ligne 1093: | Ligne 1156: | ||
* ajouter compte exchange | * ajouter compte exchange | ||
+ | If after android accounts and apps data purge, you still have problems : | ||
+ | - install F-Droid | ||
+ | - install Tasks (tasks sync works !) | ||
+ | - install DAVdroid | ||
+ | - add your caldav/carddav accounts (one by folder/share) | ||
Ligne 1103: | Ligne 1171: | ||
- | aller sur : http://FQDN/horde/install/horde.php | + | ===== OTHER/TODO ===== |
- | http://FQDN/horde/admin/config/config.php | + | |
- | Configurer horde, avec authentification IMAP, sauvegarder la config | ||
- | vi /etc/horde/horde/conf.php | ||
- | $conf['auth']['admins'] = array('h_admin','g@test.liberasys.com'); | ||
- | |||
- | https://mail.liberasys.com/horde/admin/config/ | ||
- | "mettre à jour les chémas de base" | ||
- | |||
- | |||
- | |||
- | http://serverfault.com/questions/77831/how-to-force-ssl-https-on-apache-location | ||
- | |||
- | |||
- | |||
- | |||
- | #howto pour AD : https://www.skelleton.net/2013/05/12/installing-horde-5-and-configuring-it-for-active-directory-and-dovecot/ | ||
- | |||
- | |||
- | |||
- | apt-get install dbconfig-common | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | cat << "EOF" > /etc/horde/imp/conf.php | ||
- | <?php | ||
- | /* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */ | ||
- | // $Id: e93c23a84c830cda12393f7a254c20d3800efd86 $ | ||
- | $conf['user']['allow_view_source'] = true; | ||
- | $conf['server']['server_list'] = 'none'; | ||
- | $conf['compose']['use_vfs'] = false; | ||
- | $conf['compose']['link_attachments'] = false; | ||
- | $conf['compose']['attach_size_limit'] = 0; | ||
- | $conf['compose']['attach_count_limit'] = 0; | ||
- | $conf['compose']['reply_limit'] = 200000; | ||
- | $conf['compose']['ac_threshold'] = 3; | ||
- | $conf['compose']['htmlsig_img_size'] = 30000; | ||
- | $conf['pgp']['keylength'] = 0; | ||
- | $conf['maillog']['driver'] = 'history'; | ||
- | $conf['sentmail']['driver'] = 'Null'; | ||
- | $conf['contactsimage']['backends'] = array('IMP_Contacts_Avatar_Addressbook'); | ||
- | $conf['tasklist']['use_tasklist'] = true; | ||
- | $conf['notepad']['use_notepad'] = true; | ||
- | /* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */ | ||
- | EOF | ||
- | |||
- | |||
- | |||
- | |||
- | ===== AUTRE ===== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | $backends['imap']['disabled'] = true; | ||
- | $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['hostspec'] = '${__IMAP_SERVER}'; | ||
- | $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['debug'] = false; | ||
- | $backends['sieve']['script'][Ingo::RULE_ALL]['params']['imapflags'] = true; | ||
- | $backends['sieve']['disabled'] = false; | ||
- | $backends['sieve']['hordeauth'] = 'full'; | ||
- | echo '<?php | ||
- | class Ingo_Hooks | ||
- | { | ||
- | public function transport_auth($driver) | ||
- | { | ||
- | switch($driver) | ||
- | { | ||
- | case "timsieved": | ||
- | return array( | ||
- | "username" => $GLOBALS["registry"]->getAuth(null), | ||
- | "euser" => $GLOBALS["registry"]->getAuth(null) | ||
- | ); | ||
- | |||
- | default: | ||
- | return true; | ||
- | } | ||
- | } | ||
- | }' \ | ||
- | > "${INSTALL_PATH}/ingo/config/hooks.php" | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ========================== | ||
- | Afficher en ligne les messages HTML | ||
- | |||
- | |||
- | ============================ | ||
$_prefs['use_trash']['value'] = 1; | $_prefs['use_trash']['value'] = 1; | ||
\$_prefs['use_trash']['value'] = true; | \$_prefs['use_trash']['value'] = true; | ||
Ligne 1208: | Ligne 1180: | ||
https://petermolnar.eu/linux-tech-coding/debian-lightweight-mailserver-postfix-dovecot-dspam | https://petermolnar.eu/linux-tech-coding/debian-lightweight-mailserver-postfix-dovecot-dspam | ||
- | + | # if error : Class 'Sabre\DAV\Client' not found [pid 1671 on line 23 of "/usr/share/php/Horde/Dav/Client.php"] | |
- | = | + | |
- | + | ||
- | + | ||
- | # si erreur : Class 'Sabre\DAV\Client' not found [pid 1671 on line 23 of "/usr/share/php/Horde/Dav/Client.php"] | + | |
apt-get install php-sabre-dav php-sabre-vobject | apt-get install php-sabre-dav php-sabre-vobject | ||
- | # couleur : voir : http://tools.medialab.sciences-po.fr/iwanthue/ | + | TODO : users default presets |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||