« Mise en place d'un serveur de mail complet » : différence entre les versions

Aller à la navigation Aller à la recherche
Ligne 1 271 : Ligne 1 271 :
Tous les plugins peuvent être trouvés [http://squirrelmail.org/plugins.php sur le site officiel de squirrelmail].
Tous les plugins peuvent être trouvés [http://squirrelmail.org/plugins.php sur le site officiel de squirrelmail].


==Ajout de votre favicon personnalisé==
===Ajout de votre favicon personnalisé===


Si vous voulez utiliser un favicon pour squirrelmail, il faut modifier les sources.
Si vous voulez utiliser un favicon pour squirrelmail, il faut modifier les sources.
Ligne 1 287 : Ligne 1 287 :
<link rel="icon" type="image/png" href="favicon.png">
<link rel="icon" type="image/png" href="favicon.png">
</nowiki></pre>
</nowiki></pre>
==RoundCube==
Téléchargez la dernière version de roundcube sur http://roundcube.net/downloads. Transférez la sur votre serveur (ou utilisez wget pour la télécharger directement sur votre serveur). Pour ma part, j'ai téléchargé l'archive dans le dossier root. Je vais donc la déplacer dans le dossier de ma vhost webmail, puis l'extraire:
<pre>
mv /root/roundcubemail-0.3.1.tar.gz /srv/http/csnu.org/webmail.csnu.org/
cd /srv/http/csnu.org/webmail.csnu.org/
tar xf roundcubemail-0.3.1.tar.gz
mv roundcubemail-0.3.1/ roundcubemail
chown -R root:www-data roundcubemail
</pre>
Les dossiers <code>temp</code> et <code>logs</code> doivent pouvoir être écrit par le serveur web:
<pre>
chmod g+w roundcube/temp/
chmod g+w roundcube/logs/
</pre>
Nous allons maintenant créer la base de donnée mysql roundcubemail ainsi que l'utilisateur roundcube identifié par le mot-de-passe "password" :
<pre>
$ mysql -u root -p
CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcubemail@localhost
  IDENTIFIED BY 'password';
quit
</pre>
Si vous utilisez open-basedir sur la vhost, ajoutez le chemin <code>/srv/http/csnu.org/webmail.csnu.org/www/roundcubemail/program/lib/</code> à la liste des chemins autorisés par open-basedir.
La suite de l'installation se passe par le web. Il suffit d'aller à l'adresse http:///url-de-roundcube/installer/ et de suivre les instructions.
Si a la première étape, il vous manque l'extension <code>fileinfo</code> de php, installez la puis recommencer la première étape :
<pre>
aptitude install php-pear php5-dev libmagic-dev
pecl install fileinfo
echo "extension=fileinfo.so" > /etc/php5/conf.d/fileinfo.ini
/etc/init.d/apache2 restart
</pre>
S'il vous indique un problème au niveau de <code>date.timezone</code>, éditez votre <code>php.ini</code> et vérifiez que la directive <code>date.timezone</code> est bien dé-commentée (pas de ;) et est bien définie.
Pour un serveur en France :
<pre>date.timezone = Europe/Paris</pre>
Petite aide pour l'étape de configuration des ports :
* Dans <code>Database setup</code> : indiquez le mot-de-passe de la base de donnée dans <code>Database password</code>
* Dans <code>IMAP Settings</code> : indiquez <code>tls://localhost</code> dans <code>default_host</code>
* Dans <code>SMTP Settings</code> : indiquez <code>localhost</code> dans <code>smtp_server</code> et <code>587</code> dans <code>smtp_port</code> (il n'est pas nécessaire de préciser tls://, si tls est disponible, il l'utilisera automatiquement)
* Dans <code>SMTP Settings</code> : cochez la case <code>Use the current IMAP username and password for SMTP authentication</code> pour <code>smtp_user/smtp_</code>
* Dans <code>Display settings & user prefs</code> : indiquez <code>fr_FR</code> dans <code>locale_string</code>
Quand vous aurez validé l'étape 2, l'interface vous demandera de copier des lignes dans <code>roundcubemail/config/main.inc.php</code> et <code>roundcubemail/config/db.inc.php</code>. Après avoir copié les lignes avec votre éditeur de texte, modifiez les droits de ces fichiers :
<pre>chgrp www-data roundcube/config/*</pre>
A l'étape 3, roundcube vous propose de tester la configuration smtp et imap. Faites le. Après avoir testé la configuration, n'oubliez pas de supprimer roundcube/installer:
<pre>rm -rf roundcube/installer</pre>
Pour ma part, j'ai eu un bug avec la configuration imap. Malgré avoir défini <code>tls://localhost</code> et le port <code>143</code>, roundcube essayait de se connecter en tls sur le port <code>993</code>. La solution a été de préciser le port <code>143</code> dans la ligne de l'hostname comme ceci (fichier <code>roundcubemail/config/main.inc.php</code>) :
<pre>$rcmail_config['default_host'] = 'tls://localhost:143';</pre>
Si vous avez configuré le port smtp sur 587 (submission), le test de configuration de marchera pas, mais cela fonctionne quand même.
==wapreader==
Un beau jour, je me suis posé la question de comment consulter des mails par le wap de mon téléphone portable. Eh bien, c'est possible avec wapreader.
Je ne l'utilise actuellement pas mais voici ce que j'ai du faire :
* installer php5-imap (aptitude install php5-imap)
* Suivre les instructions du fichier d'installation
* J'ai du modifier le fichier .php de la manière suivante :
<pre><nowiki>
if($_REQUEST["mode"]=="html") {
//@header("Content-type: text/xml; charset=utf-8");
  echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
  echo "<?xml-stylesheet type=\"text/xsl\" href=\"wapreader.xsl\"?>";
}
</nowiki></pre>
=Mise en place d'un MX secondaire=
Si vous avez un second serveur il devient très intéressant d'installer un serveur mx secondaire pour votre domaine. En effet, si pour une raison ou une autre, votre serveur smtp fraichement configuré venait à être inaccessible pendant quelques heures, toutes les personnes essayant de vous envoyer un mail durant ce labs de temps verraient leurs mails revenir en erreur. Un mx secondaire règle ce problème : si le serveur principal ne répond pas, les mails seront adressés au mx secondaire qui se chargera de les transférer au mx principal dès que possible.
Il faut commencer par ajouter le nouveau serveur de mail dans la configuration de la zone dns. Dans mon cas :
<pre>
core.csnu.org.  IN      A      213.186.47.110
core.csnu.org.  IN      AAAA    2001:41d0:1:d6e::110
core.csnu.org.  IN      MX      1 core.csnu.org.
core.csnu.org.  IN      MX      10 onyx.csnu.org.
csnu.org.      IN      MX      1 core.csnu.org.
csnu.org.      IN      MX      10 onyx.csnu.org.
onyx.csnu.org.  IN      A      217.70.189.92
</pre>
Le mx secondaire est onyx.csnu.org. Le chiffre 10 avant le nom du serveur est ce qu'on appel le priorité. Les serveurs smtp voulant vous envoyer des mails essaieront en priorité le mx ayant la priorité la plus basse.
Ensuite, installez postfix si votre second serveur :
<pre>aptitude install postfix procmail</pre>
La configuration est beaucoup plus simple :
<pre>
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
disable_vrfy_command = yes
smtpd_helo_required = yes
mydomain = onyx.csnu.org
append_dot_mydomain = yes
myhostname = onyx.csnu.org
myorigin = /etc/mailname
mydestination = onyx.csnu.org, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
message_size_limit = 10240000
inet_interfaces = 127.0.0.1, 217.70.189.92
inet_protocols = ipv4
relay_domains = core.csnu.org, csnu.org
smtpd_sender_restrictions =
  reject_unknown_sender_domain,
  reject_non_fqdn_sender
smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_non_fqdn_hostname,
  reject_non_fqdn_sender,
  reject_non_fqdn_recipient,
  reject_unauth_destination,
  reject_unauth_pipelining,
  reject_invalid_hostname,
La directive <code>relay_domains</code> défini les domaines pour lesquels postfix est un mx secondaire. Les mails reçus pour ces domaines seront stockés et redirigés dès que possible vers le mx de priorité la plus basse.
Si vous utilisez un champ spf du même type que celui dont j'ai donné l'exemple au début de ce howto vous n'avez rien à modifier car tous les serveurs mx des domaines sont considérés comme valide.
Il peut être intéressant d'ajouter une directive <code>relay_recipient_maps</code> à la configuration afin de bloquer directement les mails destiné à un utilisateur qui n'existe pas sur le serveur principal. Il faudra cependant veiller à bien garder synchronisé les listes d'utilisateur entre le serveur principal et le serveur secondaire.
N'oubliez pas de créer la base de donnée des alias avant de lancer postfix :
<pre>postalias /etc/aliases</pre>
4 203

modifications

Menu de navigation