« LINUX:RoundCubeMail » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(14 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 221 : | Ligne 221 : | ||
=Configuration finale de RoundCubeMail= | =Configuration finale de RoundCubeMail= | ||
A ce stade, vous risquez de rencontrer quelques problèmes. Tout se joue dans le fichier de configuration "/etc/roundcubemail/config.inc.php". J'ai divisé ce fichier en | A ce stade, vous risquez de rencontrer quelques problèmes. Tout se joue dans le fichier de configuration "/etc/roundcubemail/config.inc.php". J'ai divisé ce fichier en cinq parties. Chaque option est reprise sous la forme: | ||
$config['<option>'] = valeur ; | |||
==Clé de cryptage interne== | ==Clé de cryptage interne== | ||
Une première option concerne la clé de cryptage générée ci-dessus et déjà sauvée. Je ne conseille pas de la changer dès que vous aurez débuté l'utilisation de RoundCubeMail: | Une première option '''des_key''' concerne la clé de cryptage générée ci-dessus et déjà sauvée. Je ne conseille pas de la changer dès que vous aurez débuté l'utilisation de RoundCubeMail. | ||
Dans notre exemple, nous avons: | |||
---- | |||
$config['des_key'] = '4JnXXlEVBux7GSt4ELHvEEtX'; | |||
---- | |||
==Schéma de base de données== | ==Schéma de base de données== | ||
Cette option concerne le mot '''db_dsnw'''. | |||
Si vous avez pu ci-dessus initialiser le schéma, la ligne est correcte; on ne la bouge pas. | |||
Dans notre exemple, nous avons: | |||
---- | |||
$config['db_dsnw'] = 'mysql://userroundcube:TTTTTTTT@localhost/dbroundcube'; | |||
---- | |||
On peut y retrouver diverses informations introduites dans l'écran WUI de configuration: | |||
* "mysql" : Le gestionnaire de base de données est MySQL. | |||
* "localhost" : La base de données se trouve sur la machine locale. | |||
* "dbroundcube" : Le schéma utilisé | |||
* "userroundcube" : Le nom d'utilisateur ayant tous les droits sur ce shéma | |||
* "TTTTTTTT" : Le mot de passe de cet utilisateur | |||
==IMAP== | ==IMAP== | ||
Ce bloc d'options concerne les protocoles IMAP (port TCP 143 par défaut) et IMAPS (port TCP 993 par défaut)). | |||
Tout dépend de la configuration du serveur Dovecot. | |||
Dans RoundCubeMail, il sert en premier lieu à pouvoir rentrer dans cet applicatif et ensuite de pouvoir gérer sa boîte de messagerie électronique après s'être authentifié grâce au nom d'utilisateur et son mot de passe d'IMAP. | |||
Voici diverses options utilisées: | |||
* '''imap_host''' | |||
La valeur a le format: <protocole>://<nom de machine>:<port> | |||
Dans l'exemple, nous avons. | |||
---- | |||
$config['imap_host'] = 'ssl://servermail.home.dom:993'; | |||
---- | |||
* '''imap_conn_options''' | |||
Cette option permet de régler le mode de vérification du certificat du serveur Dovecot en cas de cryptage. Si le certificat est officiel, ce n'est pas nécessaire. Il a la forme: | |||
---- | |||
$config['imap_conn_options'] = [ | |||
'ssl' => [ | |||
... <paramètres> ... | |||
], | |||
]; | |||
---- | |||
La description des différents paramètres peut être consultée à l'URL <nowiki>https://www.php.net/manual/fr/context.ssl.php</nowiki> | |||
* '''imap_vendor''' | |||
Cette option spécifie le logiciel IMAP utilisé pour faciliter la conversation entre RoundCubeMail et ce logiciel. Cette valeur n'est pas absolument requise. Dans l'exemple, nous avons. | |||
---- | |||
$config['imap_vendor'] = 'dovecot'; | |||
---- | |||
* '''imap_auth_type''' | |||
Il permet de spécifier le mode d'authentification à utiliser. Par défaut, RoundCubeMail utilise le plus sécurisé. Le plus souvent, on trouve les protocoles DIGEST-MD5, CRAM-MD5, LOGIN et PLAIN. La valeur "IMAP" recouvre "LOGIN" et "PLAIN", les plus classiques. Normalement cette option n'est pas nécessaire sauf cas spécifique ou erreur sur le serveur. Voici un exemple: | |||
---- | |||
$config['imap_auth_type'] = 'IMAP'; | |||
---- | |||
==SMTP== | ==SMTP== | ||
Ce bloc d'options concerne les protocoles SMTP (port TCP 25 par défaut), SMTPS (port TCP 465 par défaut)) et SUBMISSION (port TCP 587 par défaut). | |||
Tout dépend de la configuration du serveur Postfix. | |||
Dans RoundCubeMail, il sert à l'envoi de mails. | |||
Voici diverses options utilisées: | |||
* '''smtp_host''' | |||
La valeur a le format: <protocole>://<nom de machine>:<port> | |||
Dans l'exemple, nous avons. | |||
---- | |||
$config['smtp_host'] = 'tls://servermail.home.dom:587'; | |||
---- | |||
* '''smtp_conn_options''' | |||
Cette option permet de régler le mode de vérification du certificat du serveur Postfix en cas de cryptage. Si le certificat est officiel, ce n'est pas nécessaire. Il a la forme: | |||
---- | |||
$config['smtp_conn_options'] = [ | |||
'ssl' => [ | |||
... <paramètres> ... | |||
], | |||
]; | |||
---- | |||
La description des différents paramètres peut être consultée à l'URL <nowiki>https://www.php.net/manual/fr/context.ssl.php</nowiki> | |||
* '''smtp_auth_type''' | |||
Il permet de spécifier le mode d'authentification à utiliser. Par défaut, RoundCubeMail utilise le plus sécurisé. Le plus souvent, on trouve les protocoles DIGEST-MD5, CRAM-MD5, LOGIN et PLAIN. Les valeurs "LOGIN" et "PLAIN" sont les plus classiques. Normalement cette option n'est pas nécessaire sauf cas spécifique ou erreur sur le serveur. Voici un exemple: | |||
---- | |||
$config['smtp_auth_type'] = 'LOGIN'; | |||
---- | |||
* '''smtp_user''' et '''smtp_pass''' | |||
Quand SMTP demande une authentification, ces deux options permettent de les transmettre. C'est habituellement ce cas du protocole SUBMISSION. | |||
Dans notre exemple, c'est l'utilisateur et le mot de passe de Dovecot qui sont utilisés. Ce sont les valeurs par défaut. | |||
---- | |||
$config['smtp_user'] = '%u'; | |||
$config['smtp_pass'] = '%p'; | |||
---- | |||
Par contre, habituellement, les protocoles SMTP et SMTPS ne le demandent pas. Il est alors impérativement informer qu'il n'y a pas d'utilisateur ni de mot de passe sinon l'envoi du mail échouera. | |||
---- | |||
$config['smtp_user'] = ''; | |||
$config['smtp_pass'] = ''; | |||
---- | |||
==Certificats== | |||
Les protocoles des options "imap_host" et "smtp_host" sont: | |||
* vide : pas de cryptage (exemple: "$config['smtp_host'] = 'localhost:25';" ou "$config['imap_host'] = 'localhost:143';") | |||
* '''tls''' : cryptage de type STARTTLS (exemple: "$config['smtp_host'] = 'tls://servermail.home.dom:587';") | |||
* '''ssl''' : cryptage de type SSL/TLS (exemple: "$config['imap_host'] = 'ssl://servermail.home.dom:993';") | |||
Habituellement: | |||
* IMAP a le port TCP 145 et est non crypté avec authentification. | |||
* IMAPS a le port TCP 993 et est crypté (SSL/TLS) avec authentification. | |||
* SMTP a le port TCP 25 et est non crypté sans authentification. | |||
* SMTPS a le port 465 et est crypté (SSL/TLS) sans authentification. | |||
* SUBMISSION a le prot 587 et est crypté (STARTTLS) avec authentification. | |||
Voyez l'article [[LINUX:Postfix-Protocoles|Description succincte des principaux protocoles de messagerie]]. Mais il faut tenir à l'esprit que tout est extensible et modifiable à volonté. | |||
Il toujours conseillé de crypter les échanges mais c'est moins crucial quand les échanges se font à l'intérieur le la même machine. Par contre, préférez toujours l'authentification. | |||
Quand on invoque le cryptage, les problèmes commencent. On peut facilement les résoudre. | |||
Il faut savoir que la validation d'un certificat, comporte deux étapes: | |||
* le nom repris dans le certificat doit correspondre au nom repris pour les options "imap_host" et "smtp_host"; ce nom doit être connu du serveur DNS ou du fichier "/etc/hosts" et doit renvoyer sur la bonne machine. | |||
* ce certificat doit être officiel, c'est à dire qu'il doit être validé par une autorité de certification (CA) reconnue internationalement. | |||
Si ce n'est pas le cas, les connexions utilisant un certificat (transmission cryptée) aux serveurs Dovecot et/ou Postfix ne se feront pas. | |||
Si ces deux conditions sont remplies, tout se passer sans problème. | |||
Dans le cas contraire, plusieurs approches sont possibles en utilisant les options "imap_conn_options" pour IMAP ou "smtp_conn_options" pour SMTP: | |||
* On désactive la validation du certificat. | |||
Cas d'IMAP: | |||
---- | |||
$config['imap_conn_options'] = [ | |||
'ssl' => [ | |||
'verify_peer' => false | |||
], | |||
]; | |||
---- | |||
Cas de SMTP: | |||
---- | |||
$config['smtp_conn_options'] = [ | |||
'ssl' => [ | |||
'verify_peer' => false | |||
], | |||
]; | |||
---- | |||
* Si le certificat est reconnu mais pas la machine; par exemple si la machine est reprise sous le nom de "localhost", on désactive la validation du nom de machine. | |||
Cas d'IMAP: | |||
---- | |||
$config['imap_conn_options'] = [ | |||
'ssl' => [ | |||
'verify_peer_name' => false | |||
], | |||
]; | |||
---- | |||
Cas de SMTP: | |||
---- | |||
$config['smtp_conn_options'] = [ | |||
'ssl' => [ | |||
'verify_peer_name' => false | |||
], | |||
]; | |||
---- | |||
* Une troisième possibilité est de fournir le certificat émis par l'autorité de certification (CA) lié au certificat de cette machine. | |||
Cas d'IMAP: | |||
---- | |||
$config['imap_conn_options'] = [ | |||
'ssl' => [ | |||
'cafile' => '/etc/pki/home/certs/ca.home.crt' | |||
], | |||
]; | |||
---- | |||
Cas de SMTP: | |||
---- | |||
$config['smtp_conn_options'] = [ | |||
'ssl' => [ | |||
'cafile' => '/etc/pki/home/certs/ca.home.crt' | |||
], | |||
]; | |||
---- | |||
L'exemple est tiré de l'article [[LINUX:Création d'une CA privée (V1)|Création d'une CA privée (V1)]]. | |||
* On peut enfin ajouter ce même certificat de l'autorité de certification (CA) à la liste des ceux qui sont reconnus internationalement. Voyez l'article [[LINUX:Cryptage sous Linux|Certificats sous Linux]]. Les options "imap_conn_options" pour IMAP ou "smtp_conn_options" pour SMTP ne sont plus nécessaires. Le certificat est considéré sur la machine comme officiel. | |||
Ligne 272 : | Ligne 436 : | ||
* '''plugins''' | * '''plugins''' | ||
Il permet d'activer divers Plugins. Je n'en ai pas utilisé. | Il permet d'activer divers Plugins. Je n'en ai pas utilisé. | ||
---- | |||
$config['plugins'] = []; | |||
---- | |||
=Ecran WUI= | |||
Maintenant que l'application est opérationnelle, on va la découvrir. | |||
Dans votre explorateur internet préféré, entrez l'URL associée. Dans notre exemple, elle est <nowiki>http://servermail.mail.dom/roundcubemail</nowiki> . | |||
On remplit le nom d'utilisateur et le mot de passe et on se connecte. | |||
[[FILE:LINUX:Roundcubemail.login.png|600px|center]] | |||
Pour découvrir l'interface. | |||
[[FILE:LINUX:Roundcubemail.mail.png|800px|center]] | |||