• Aucun résultat trouvé

Compte rendu serveur Postfix

N/A
N/A
Protected

Academic year: 2022

Partager "Compte rendu serveur Postfix"

Copied!
31
0
0

Texte intégral

(1)

1

Compte rendu serveur Postfix

Sommaire

Connexion SSH page 2

Configuration de la zone du domaine page 2

Postfix anatomy page 2

Début tutoriel page 3

Patch de gestion des Quotas pour Postfix page 6

Reprise du Tutoriel (1) page 11

Problèmes rencontrés page 16

Reprise du Tutoriel (2) page 19

TEST d’envoie/reception mail page 20

Reprise du Tutoriel (3) page 22

Fichiers de Configuration page 26

Conclusion page 31

(2)

2 Connexion SSH

ssh root@ip.du.serveur.mail -p 22

ou

ssh ip.du.serveur.mail -l root -p 22

Pwd : password

mysql : root password

mysql :

« postfix » password

Configuration de la zone du domaine

Serveur DNS de la zone à configurer : Entrée « MX »

Postfix anatomy

http://www.porcupine.org/postfix/doc/big-picture.html

(3)

3

Postfix

http://www.tutoriels-video.fr/

Installation de Postfix

apt-get install postfix-mysql

root@mail2:/etc/init.d# apt-get install postfix-mysql Lecture des listes de paquets... Fait

Construction de l'arbre des dépendances Lecture des informations d'état... Fait

Les paquets supplémentaires suivants seront installés : postfix

Paquets suggérés :

procmail postfix-pgsql postfix-ldap postfix-pcre sasl2-bin dovecot-common resolvconf postfix-cdb mail-reader postfix-doc

Les NOUVEAUX paquets suivants seront installés : postfix postfix-mysql

0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.

Il est nécessaire de prendre 1 331 ko dans les archives.

Après cette opération, 3 552 ko d'espace disque supplémentaires seront utilisés.

Souhaitez-vous continuer [O/n] ?

Réception de : 1 http://ubuntu.mirrors.ovh.net/ftp.ubuntu.com/ubuntu/ precise-updates/main postfix amd64 2.9.3-2~12.04.4 [1 317 kB]

Réception de : 2 http://ubuntu.mirrors.ovh.net/ftp.ubuntu.com/ubuntu/ precise-updates/main postfix-mysql amd64 2.9.3-2~12.04.4 [14,2 kB]

1 331 ko réceptionnés en 0s (7 815 ko/s) Préconfiguration des paquets...

Selecting previously unselected package postfix.

(Lecture de la base de données... 34701 fichiers et répertoires déjà installés.) Dépaquetage de postfix (à partir de .../postfix_2.9.3-2~12.04.4_amd64.deb) ...

Selecting previously unselected package postfix-mysql.

Dépaquetage de postfix-mysql (à partir de .../postfix-mysql_2.9.3-2~12.04.4_amd64.deb) ...

Traitement des actions différées (« triggers ») pour « man-db »...

Traitement des actions différées (« triggers ») pour « ureadahead »...

Traitement des actions différées (« triggers ») pour « ufw »...

Paramétrage de postfix (2.9.3-2~12.04.4) ...

Adding group `postfix' (GID 115) ...

Done.

Adding system user `postfix' (UID 107) ...

(4)

4

Adding new user `postfix' (UID 107) with group `postfix' ...

Not creating home directory `/var/spool/postfix'.

Creating /etc/postfix/dynamicmaps.cf

Adding tcp map entry to /etc/postfix/dynamicmaps.cf Adding sqlite map entry to /etc/postfix/dynamicmaps.cf Adding group `postdrop' (GID 116) ...

Done.

setting myhostname: mail2.abware_testing.com setting alias maps

setting alias database

changing /etc/mailname to mail2.abware_testing.com setting myorigin

setting destinations: mail2.abware_testing.com, localhost.abware_testing.com, , localhost setting relayhost:

setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 setting mailbox_size_limit: 0

setting recipient_delimiter: + setting inet_interfaces: all

/etc/aliases does not exist, creating it.

WARNING: /etc/aliases exists, but does not have a root alias.

Postfix is now set up with a default configuration. If you need to make changes, edit

/etc/postfix/main.cf (and others) as needed. To view Postfix configuration values, see postconf(1).

After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.

Running newaliases

* Stopping Postfix Mail Transport Agent postfix [ OK ]

* Starting Postfix Mail Transport Agent postfix [ OK ]

Paramétrage de postfix-mysql (2.9.3-2~12.04.4) ...

Adding mysql map entry to /etc/postfix/dynamicmaps.cf

Traitement des actions différées (« triggers ») pour « libc-bin »...

ldconfig deferred processing now taking place

(5)

5

Création des tables SQL pour Postfix

On a besoin de créer 3 tables pour Postfix :

1.Une table « domaines » qui contient la liste des noms de domaine hébergés sur le serveur 2.Une table « comptes » qui contient toutes les adresses emails virtuelle de la forme

« contact@nomdedomaine.tld »

3.Une table « alias » qui contient différents alias email que nous n’utiliserons pas.

mysql --user=root -p

mysql> create database postfix;

Pour vérifier que votre base de données a bien été créée, utilisez la commande suivante : mysql> show databases;

Création de l'utilisateur postfix dans mysql

mysql> CREATE USER 'postfix'@ 'localhost' IDENTIFIED BY 'VOTRE_PASS_POSTFIX_MYSQL';

mysql> GRANT USAGE ON * . * TO 'postfix'@'localhost' IDENTIFIED BY ' password';

Création de la base de donnée nommée postfix

mysql> CREATE DATABASE `postfix` ;

mysql> GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@ 'localhost';

mysql> FLUSH PRIVILEGES;

Si votre base de données a été créée avec succès, vous pouvez désormais la sélectionner comme base à utiliser : Si jamais le mot de passe root ne peut être changé voici une petite procédure pour pouvoir le faire:

/etc/init.d/mysql stop rm -Rf /var/lib/mysql/*

mysql_install_db /etc/init.d/mysql start

mysqladmin -u root password 'xxxxxxxx'

Insertion des tables dans la base de données USE postfix;

CREATE TABLE `domaines` (

`domaine` varchar(255) NOT NULL default '', `etat` tinyint(1) NOT NULL default '1', PRIMARY KEY (`domaine`)

) ENGINE=MyISAM;

CREATE TABLE `comptes` (

(6)

6 `email` varchar(255) NOT NULL default '',

`password` varchar(255) NOT NULL default '', `quota` int(10) NOT NULL default '0',

`etat` tinyint(1) NOT NULL default '1', `imap` tinyint(1) NOT NULL default '1', `pop3` tinyint(1) NOT NULL default '1', PRIMARY KEY (`email`)

) ENGINE=MyISAM;

CREATE TABLE `alias` (

`source` varchar(255) NOT NULL default '', `destination` text NOT NULL,

`etat` tinyint(1) NOT NULL default '1', PRIMARY KEY (`source`)

) ENGINE=MyISAM;

quit;

ou par phpmyadmin

creation base « postfix »

ajout utilisateur « postfix » h84GadfeXXUfUBYy

lignes SQL dans l'onglet

Patch de gestion des Quotas pour Postfix

3 Apply The Quota Patch To Postfix

We have to get the Postfix sources, patch it with the quota patch, build new Postfix .deb packages and install those .debpackages:

apt-get build-dep postfix cd /usr/src

apt-get source postfix

(Make sure you use the correct Postfix version in the following commands. I have Postfix 2.9.3 installed.

You can find out your Postfix version by running postconf -d | grep mail_version

The output should look like this:

root@server1:/usr/src# postconf -d | grep mail_version mail_version = 2.9.3

milter_macro_v = $mail_name $mail_version

root@server1:/usr/src#

)

wget http://vda.sourceforge.net/VDA/postfix-vda-v11-2.9.3.patch

cd postfix-2.9.3

patch -p1 < ../postfix-vda-v11-2.9.3.patch

Next open debian/rules and change DEB_BUILD_HARDENING from 1 to 0:

vi debian/rules

(7)

7 [...]

export DEB_BUILD_HARDENING=0 [...]

If you don't do this, your build will fail with the following error messages:

maildir.c: In function âdeliver_maildirâ:

maildir.c:974:17: error: format not a string literal and no format arguments [- Werror=format-security]

maildir.c:977:17: error: format not a string literal and no format arguments [- Werror=format-security]

maildir.c:983:17: error: format not a string literal and no format arguments [- Werror=format-security]

maildir.c:986:17: error: format not a string literal and no format arguments [- Werror=format-security]

maildir.c: In function âsql2fileâ:

maildir.c:404:25: warning: ignoring return value of âreadâ, declared with attribute warn_unused_result [-Wunused-result]

maildir.c:417:26: warning: ignoring return value of âwriteâ, declared with attribute warn_unused_result [-Wunused-result]

cc1: some warnings being treated as errors make: *** [maildir.o] Error 1

make: Leaving directory `/usr/src/postfix-2.9.1/src/virtual' make[1]: *** [update] Error 1

make[1]: Leaving directory `/usr/src/postfix-2.9.1' make: *** [build] Error 2

dpkg-buildpackage: error: debian/rules build gave error exit status 2 root@server1:/usr/src/postfix-2.9.1#

Now we can build the new Postfix .deb packages:

dpkg-buildpackage

Now we go one directory up, that's where the new .deb packages have been created:

cd ..

The command ls -l

shows you the available packages:

root@server1:/usr/src# ls -l total 6932

drwxr-xr-x 24 root root 4096 Apr 27 11:20 linux-headers-3.2.0-23

drwxr-xr-x 7 root root 4096 Apr 27 11:20 linux-headers-3.2.0-23-generic drwxr-xr-x 18 root root 4096 May 7 15:57 postfix-2.9.1

-rw-r--r-- 1 root root 3814 May 7 15:58 postfix_2.9.1-4_amd64.changes -rw-r--r-- 1 root root 1497792 May 7 15:58 postfix_2.9.1-4_amd64.deb -rw-r--r-- 1 root root 246141 May 7 15:51 postfix_2.9.1-4.diff.gz -rw-r--r-- 1 root root 1492 May 7 15:51 postfix_2.9.1-4.dsc -rw-r--r-- 1 root root 3768329 Mar 22 05:05 postfix_2.9.1.orig.tar.gz -rw-r--r-- 1 root root 46620 May 7 15:58 postfix-cdb_2.9.1-4_amd64.deb -rw-r--r-- 1 root root 160196 May 7 15:58 postfix-dev_2.9.1-4_all.deb -rw-r--r-- 1 root root 1080772 May 7 15:58 postfix-doc_2.9.1-4_all.deb -rw-r--r-- 1 root root 55478 May 7 15:58 postfix-ldap_2.9.1-4_amd64.deb -rw-r--r-- 1 root root 48550 May 7 15:58 postfix-mysql_2.9.1-4_amd64.deb -rw-r--r-- 1 root root 48718 May 7 15:58 postfix-pcre_2.9.1-4_amd64.deb -rw-r--r-- 1 root root 48686 May 7 15:58 postfix-pgsql_2.9.1-4_amd64.deb

(8)

8

-rw-r--r-- 1 root root 55009 Apr 11 14:54 postfix-vda-v11-2.9.1.patch root@server1:/usr/src#

Pick the postfix and postfix-mysql packages and install them like this:

dpkg -i postfix_2.9.3-4_amd64.deb postfix-mysql_2.9.3-4_amd64.deb

root@mail2:/usr/src# ll total 6916

drwxr-xr-x 3 root root 4096 janv. 16 20:59 ./

drwxr-xr-x 10 root root 4096 avril 24 2012 ../

drwxr-xr-x 18 root root 4096 janv. 16 20:58 postfix-2.9.3/

-rw-r--r-- 1 root root 3825 janv. 16 20:59 postfix_2.9.3-2~12.04.4_amd64.changes -rw-r--r-- 1 root root 1506706 janv. 16 20:59 postfix_2.9.3-2~12.04.4_amd64.deb -rw-r--r-- 1 root root 228442 janv. 16 20:55 postfix_2.9.3-2~12.04.4.diff.gz -rw-r--r-- 1 root root 1524 janv. 16 20:55 postfix_2.9.3-2~12.04.4.dsc -rw-r--r-- 1 root root 3760555 mai 30 2012 postfix_2.9.3.orig.tar.gz

-rw-r--r-- 1 root root 46994 janv. 16 20:59 postfix-cdb_2.9.3-2~12.04.4_amd64.deb -rw-r--r-- 1 root root 159160 janv. 16 20:59 postfix-dev_2.9.3-2~12.04.4_all.deb -rw-r--r-- 1 root root 1080872 janv. 16 20:59 postfix-doc_2.9.3-2~12.04.4_all.deb -rw-r--r-- 1 root root 56140 janv. 16 20:59 postfix-ldap_2.9.3-2~12.04.4_amd64.deb -rw-r--r-- 1 root root 49074 janv. 16 20:59 postfix-mysql_2.9.3-2~12.04.4_amd64.deb -rw-r--r-- 1 root root 49230 janv. 16 20:59 postfix-pcre_2.9.3-2~12.04.4_amd64.deb -rw-r--r-- 1 root root 49218 janv. 16 20:59 postfix-pgsql_2.9.3-2~12.04.4_amd64.deb -rw-r--r-- 1 root root 55009 janv. 7 14:59 postfix-vda-v11-2.9.3.patch

dpkg -i postfix_2.9.3-2~12.04.4_amd64.deb postfix-mysql_2.9.3-2~12.04.4_amd64.deb

root@mail2:/usr/src# dpkg -i postfix_2.9.3-2~12.04.4_amd64.deb postfix-mysql_2.9.3- 2~12.04.4_amd64.deb

(Lecture de la base de données... 37327 fichiers et répertoires déjà installés.) Préparation du remplacement de postfix 2.9.3-2~12.04.4 (en utilisant postfix_2.9.3- 2~12.04.4_amd64.deb) ...

* Stopping Postfix Mail Transport Agent postfix /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_overquota_bounce=yes

/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_mailbox_limit_maps=mysql:/etc/postfix/mysql-virtual_quotas.cf /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_maildir_limit_message="La boite mail de votre destinataire est pleine, merci de reessayez plus tard."

/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_mailbox_limit_override=yes

(9)

9

[ OK ] postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_overquota_bounce=yes postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_mailbox_limit_maps=mysql:/etc/postfix/mysql-virtual_quotas.cf

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_limit_message="La boite mail de votre destinataire est pleine, merci de reessayez plus tard."

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_override=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_overquota_bounce=yes postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_mailbox_limit_maps=mysql:/etc/postfix/mysql-virtual_quotas.cf

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_limit_message="La boite mail de votre destinataire est pleine, merci de reessayez plus tard."

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_override=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_overquota_bounce=yes postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_mailbox_limit_maps=mysql:/etc/postfix/mysql-virtual_quotas.cf

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_limit_message="La boite mail de votre destinataire est pleine, merci de reessayez plus tard."

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_override=yes

* Stopping Postfix Mail Transport Agent postfix [ OK ]

Dépaquetage de la mise à jour de postfix ...

Préparation du remplacement de postfix-mysql 2.9.3-2~12.04.4 (en utilisant postfix-mysql_2.9.3- 2~12.04.4_amd64.deb) ...

Dépaquetage de la mise à jour de postfix-mysql ...

Paramétrage de postfix (2.9.3-2~12.04.4) ...

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes

Postfix configuration was not changed. If you need to make changes, edit /etc/postfix/main.cf (and others) as needed. To view Postfix configuration

(10)

10 values, see postconf(1).

After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.

Running newaliases

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes

* Stopping Postfix Mail Transport Agent postfix [ OK ]

* Starting Postfix Mail Transport Agent postfix postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes

postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes

/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes

(11)

11

/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes [ OK ]

Traitement des actions différées (« triggers ») pour « man-db »...

Traitement des actions différées (« triggers ») pour « ureadahead »...

Traitement des actions différées (« triggers ») pour « ufw »...

Paramétrage de postfix-mysql (2.9.3-2~12.04.4) ...

Traitement des actions différées (« triggers ») pour « libc-bin »...

ldconfig deferred processing now taking place

Reprise du Tutoriel (1)

root@mail2:~# apt-get upgrade

Les paquets suivants seront mis à jour : postfix

1 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

Il est nécessaire de prendre 0 o/1 317 ko dans les archives.

Après cette opération, 197 ko d'espace disque supplémentaires seront utilisés.

Souhaitez-vous continuer [O/n] ? Préconfiguration des paquets...

(Lecture de la base de données... 37328 fichiers et répertoires déjà installés.)

Préparation du remplacement de postfix 2.9.3-2~12.04.4 (en utilisant .../postfix_2.9.3- 2~12.04.4_amd64.deb) ...

* Stopping Postfix Mail Transport Agent postfix [ OK ]

* Stopping Postfix Mail Transport Agent postfix [ OK ]

Dépaquetage de la mise à jour de postfix ...

Traitement des actions différées (« triggers ») pour « man-db »...

(12)

12

Traitement des actions différées (« triggers ») pour « ureadahead »...

Traitement des actions différées (« triggers ») pour « ufw »...

Paramétrage de postfix (2.9.3-2~12.04.4) ...

Postfix configuration was not changed. If you need to make changes, edit /etc/postfix/main.cf (and others) as needed. To view Postfix configuration values, see postconf(1).

After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.

Running newaliases

* Stopping Postfix Mail Transport Agent postfix [ OK ]

* Starting Postfix Mail Transport Agent postfix [ OK ]

Traitement des actions différées (« triggers ») pour « libc-bin »...

ldconfig deferred processing now taking place

Configuration de Postfix pour le lier à la BDD /etc/postfix/mysql-virtual_domaines.cf hosts = 127.0.0.1

user = postfix password = password dbname = postfix

select_field = 'virtual' table = domaines

where_field = domaine

additional_conditions = AND etat=1

/etc/postfix/mysql-virtual_comptes.cf hosts = 127.0.0.1

user = postfix password = password dbname = postfix table = comptes

select_field = CONCAT(SUBSTRING_INDEX(email,'@',- 1),'/',SUBSTRING_INDEX(email,'@',1),'/')

where_field = email

additional_conditions = AND etat=1

/etc/postfix/mysql-virtual_aliases.cf hosts = 127.0.0.1

user = postfix password = password

(13)

13 dbname = postfix

table = alias

select_field = destination where_field = source

additional_conditions = AND etat=1

/etc/postfix/mysql-virtual_aliases_comptes.cf hosts = 127.0.0.1

user = postfix password = password dbname = postfix table = comptes select_field = email where_field = email

additional_conditions = AND etat=1

/etc/postfix/mysql-virtual_quotas.cf hosts = 127.0.0.1

user = postfix password = password dbname = postfix table = comptes select_field = quota where_field = email

Une fois terminée, je vous recommande de sécuriser un peu tout cela avec ces lignes de commandes : chmod u=rw,g=r,o= /etc/postfix/mysql-virtual_*.cf

chgrp postfix /etc/postfix/mysql-virtual_*.cf

Création de l’utilisateur et groupe vmail

Pour avoir une configuration assez propre et sécurisé, nous pouvons créer un utilisateur et un groupe vmail qui se chargera de gérer/stocker les courriels sur le serveurs. Nous devons préciser des UID et GID précis (5000) car nous en auront besoin plus tard dans un fichier de configuration.

# Créer un groupe vmail avec le gid 5000 groupadd -g 5000 vmail

# Créer un utilisateur vmail avec un uid 5000 et son répertoire perso dans /var/spool/vmail useradd -g vmail -u 5000 vmail -d /var/spool/vmail/ -m

Configuration de Postfix

Maintenant on doit configurer le fichier principal de Postfix. Par défaut le fichier est vide, car nous avons choisi « pas de configuration » pendant l’installation. Comme promis dans la vidéo, voici un exemple de fichier de configuration commenté pour vous expliquer les différentes lignes :

vi /etc/postfix/main.cf

(14)

14

# Bannière afficher lorsqu'on se connecte en SMTP sur le port 25

smtpd_banner = $myhostname ESMTP Test $mail_name (Debian/GNU)

# Service qui envoie des notifications "nouveau message"

biff = no

# Desactive la commande SMTP VRFY. Arrête certaine technique pour avoir des adresses email disable_vrfy_command = yes

# Impose au client SMTP de démarrer la session SMTP par une commande Helo (ou ehlo) smtpd_helo_required = yes

# Avec le courier local ça ajoute .NDD aux adresses incomplètes (seulement le nom d'hote) append_dot_mydomain = no

# Le nom de la machine du système de messagerie

# Par défaut c'est host.domain.tld mais on peut mettre un reverse dns myhostname = mail2.abware_testing.com

# Le domaine utilisé par defaut pour poster les message local myorigin = /etc/mailname

# Liste des domaines pour lequel le serveur doit accepter le courrier mydestination = 109.183.135.5, mail2.abware_testing.com, localhost

# Pour effectuer des livraisons de courrier avec un relay (ici non) relayhost =

# Liste des réseaux locaux autorisés

mynetworks = 127.0.0.0/8, ip.du.serveur.mail

# Taille des boîtes au lettre (0 = illimité) mailbox_size_limit = 0

# Séparateur entre le nom d'utilisateur et les extensions d'adresses recipient_delimiter = +

# Interfaces réseaux à écouter (ici toutes) inet_interfaces = all

# Gestion des boites mails virtuelles

# Contient les fichiers qui permettent de relier postfix mysql

virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_aliases.cf,mysql:/etc/postfix/mysql- virtual_aliases_comptes.cf

virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domaines.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_comptes.cf

# Le dossier ou seront contenu les mails (=home de l'user vmail) virtual_mailbox_base = /var/spool/vmail/

# L'id du groupe et de l'utilisateur vmail créé précédement virtual_uid_maps = static:5000

virtual_gid_maps = static:5000

# Créer un dossier par comte email virtual_create_maildirsize = yes

# A activer si vous souhaitez ajouter des quotas

(15)

15 virtual_mailbox_extended = yes

# Impose les limites au niveau des mails, dans notre cas aucune

virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_quotas.cf

# Ajouter une limite sur la taille des messages pour les boites virtuelles virtual_mailbox_limit_override = yes

virtual_maildir_limit_message = "La boite mail de votre destinataire est pleine, merci de reessayez plus tard."

virtual_overquota_bounce = yes

# adresses d'expedition smtpd_sender_restrictions = permit_mynetworks,

warn_if_reject reject_unverified_sender

# adresses de destination smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_non_fqdn_recipient

# client

smtpd_client_restrictions = permit_mynetworks

/etc/init.d/postfix restart /etc/init.d/postfix check

# Un petit tour dans les logs aussi cat /var/log/syslog ou tail -fn 40 cat /var/log/mail.log

(16)

16 Problèmes rencontrés

1)

root@ubuntu-VirtualBox:/etc/postfix# service postfix check

/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_overquota_bounce=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_mailbox_limit_maps=mysql:/etc/postfix/mysql-virtual_quotas.cf /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_maildir_limit_message="La boite mail de votre destinataire est pleine, merci de reessayez plus tard."

/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter:

virtual_mailbox_limit_override=yes

=>

##les erreurs ???

Conclusion de « Patch de gestion des Quotas pour Postfix »

Cela n’a pas marché ; Dû a

• Une mauvaise recompilation du Pach ?

• Non prise en compte du Patch par Postfix ?

• Une mise à jour de Postfix ?

2)

error: open database /etc/aliases.db: No such file or directory Resolu par:

# postfix stop

# newaliases

# postfix start

3)

error: open /etc/postfix/mysql-virtual_aliases_comptes.cf: No such file or directory

=>

erreur de frappe : mv virtual_aliases_comptes.cf /etc/postfix/mysql-virtual_aliases_comptes.cf +chown + chgrp

4)

root@ubuntu-VirtualBox:/etc# postfix start

postfix/postfix-script: warning: not owned by root: /var/spool/postfix/pid postfix/postfix-script: warning: not owned by root: /var/spool/postfix/etc postfix/postfix-script: warning: not owned by root: /var/spool/postfix/etc/ssl postfix/postfix-script: warning: not owned by root: /var/spool/postfix/etc/ssl/certs

(17)

17

postfix/postfix-script: warning: not owned by root: /var/spool/postfix/etc/ssl/certs/ca-certificates.crt postfix/postfix-script: warning: not owned by root: /var/spool/postfix/lib

postfix/postfix-script: warning: not owned by root: /var/spool/postfix/lib/i386-linux-gnu postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr

postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib

postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/zoneinfo postfix/postfix-script: warning: not owned by root: /var/spool/postfix/usr/lib/sasl2

postfix/postfix-script: warning: /var/spool/postfix/etc/resolv.conf and /etc/resolv.conf differ postfix/postfix-script: starting the Postfix mail system

=>

Dû à un problème de droit des dossiers indices :

697 service postfix restart 698 service postfix status 699 cd /var/log/

700 ls -rt

701 tail -f mail.err

702 cd /var/spool/postfix/

703 ll

704 cd public/

705 ll

706 chown postfix.postdrop * 707 ll

708 chown postfix.postdrop . 709 ll

710 service postfix restart 711 service postfix status 712 tail -f mail.err

713 tail -f /var/log/mail.err 714 cd ..

715 chown -R postfix.postdrop * 716 service postfix restart 717 service postfix status

root@ubuntu-VirtualBox:/etc/postfix# ll total 116

drwxr-xr-x 3 root root 4096 déc. 28 11:14 ./

drwxr-xr-x 139 root root 12288 déc. 28 10:52 ../

-rw-r--r-- 1 root root 329 déc. 17 18:52 dynamicmaps.cf -rw-r--r-- 1 root root 2835 déc. 28 11:12 main.cf

-rw-r--r-- 1 root postfix 5531 déc. 17 18:52 master.cf

-rw-r--- 1 root postfix 168 déc. 17 19:24 mysql-virtual_aliases.cf -rw-r--- 1 root postfix 232 déc. 17 19:23 mysql-virtual_comptes.cf -rw-r--- 1 root postfix 170 déc. 17 19:20 mysql-virtual_domaines.cf -rw-r--- 1 root postfix 128 déc. 17 19:27 mysql-virtual_quotas.cf

(18)

18 -rw-r--r-- 1 root root 19707 oct. 23 12:10 postfix-files -rwxr-xr-x 1 root root 8729 oct. 23 12:10 postfix-script*

-rwxr-xr-x 1 root root 26498 oct. 23 12:10 post-install*

drwxr-xr-x 2 root root 4096 oct. 23 12:10 sasl/

-rw-r--r-- 1 root root 163 déc. 17 19:26 virtual_aliases_comptes.cf

5)

Jan 17 13:09:01 mail2 postfix/pickup[27915]: AEF262041C: uid=0 from=<root>

Jan 17 13:09:01 mail2 postfix/cleanup[27917]: warning: connect to mysql server 127.0.0.1: Access denied for user 'postfix'@'localhost' (using password: YES)

Jan 17 13:09:01 mail2 postfix/cleanup[27917]: warning: mysql:/etc/postfix/mysql-virtual_aliases.cf lookup error for "root@109.183.135.5"

Jan 17 13:09:01 mail2 postfix/cleanup[27917]: warning: AEF262041C: virtual_alias_maps map lookup problem for root@109.183.135.5 -- deferring delivery

Jan 17 13:09:01 mail2 postfix/pickup[27915]: AFDFC2041C: uid=0 from=<root>

Jan 17 13:09:01 mail2 postfix/cleanup[27917]: warning: mysql:/etc/postfix/mysql-virtual_aliases.cf lookup error for "root@109.183.135.5"

Jan 17 13:09:01 mail2 postfix/cleanup[27917]: warning: AFDFC2041C: virtual_alias_maps map lookup problem for root@109.183.135.5 -- deferring delivery

Jan 17 13:09:01 mail2 postfix/pickup[27915]: B086D2041C: uid=0 from=<root>

Jan 17 13:09:01 mail2 postfix/cleanup[27917]: warning: mysql:/etc/postfix/mysql-virtual_aliases.cf lookup error for "root@109.183.135.5"

Jan 17 13:09:01 mail2 postfix/cleanup[27917]: warning: B086D2041C: virtual_alias_maps map lookup problem for root@109.183.135.5 -- deferring delivery

=> pbl connexion postfix ds mysql :

local changé en localhost dans fichier de configuration !

(19)

19

Reprise du Tutoriel (2)

Ajout d’adresses email virtuelles

Tout est bon au niveau de postfix, il ne nous reste plus qu’à ajouter un nom de domaine et une adresse email virtuelle dans notre base de données via phpmyadmin. Voilà les codes SQL utilisés dans la vidéo :

mysql --user=root -p Ajouter un nom de domaine

INSERTINTO'domaines' ( 'domaine' , 'etat' ) VALUES('abware_testing.com', '1');

Ajouter une adresse virtuelle

sql generé :

INSERT INTO `postfix`.`comptes` (

`email` ,

`password` ,

`quota` ,

`etat` ,

`imap` ,

`pop3`

)

VALUES (

'test@abware_testing.com', ENCRYPT( 'testest' ) , '0', '1', '1', '1'

);

Un petit test

Il ne nous reste plus qu’à tester notre configuration globale en nous connectant avec telnet sur le port 25 et en envoyant un email. De plus, en envoyant ce premier mail ça va automatiquement créer le dossier pour le nom de domaine dans /var/spool/vmail.

telnet ip.du.serveur.mail 25 ehlo abware_testing.com

mail from: test@abware_testing.com rcpt to: testmail@gmail.com

data blabla blabla .

Si vous n’avez pas d’erreurs, c’est que tout ce passe bien et vous pouvez le vérifier grâce aux fichiers de logs.

Si vous n’arrivez pas vous connecter en telnet, vous pouvez tenter ces lignes de commandes : /etc/init.d/postfix stop

newaliases

/etc/init.d/postfix start

(20)

20 Return-Path: <test@abware_testing.com>

X-Original-To: test@abware_testing.com Delivered-To: test@abware_testing.com

Received: from abware_testing.com (localhost [127.0.0.1])

by mail2.abware_testing.com (Postfix) with ESMTP id D7E7620418 for <test@abware_testing.com>; Thu, 17 Jan 2013 14:28:11 +0100 (CET) Message-Id: <20130117132913.D7E7620418@mail2.abware_testing.com>

Date: Thu, 17 Jan 2013 14:28:11 +0100 (CET) From: test@abware_testing.com

TEST

Ceci est le 1er test

Envoi et reception sur meme @ (adresse)

_____________________________________________________________________________

Delivered-To: testmail@gmail.com

Received: by 10.11.12.13 with SMTP id ow6csp25026lab;

Thu, 17 Jan 2013 05:34:50 -0800 (PST)

Received-SPF: pass (google.com: domain of designates 10.9.8.7 as permitted sender) client-ip=10.9.8.7

Authentication-Results: mr.google.com;

spf=pass (google.com: domain of designates 10.9.8.7 as permitted sender) smtp.mail=;

dkim=pass header.i=@gmail.com

X-Received: from mr.google.com ([10.9.8.7])

by 10.9.8.7 with SMTP id to4mr4802970lab.39.1358429690035 (num_hops = 1);

Thu, 17 Jan 2013 05:34:50 -0800 (PST)

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;

d=gmail.com; s=20120113;

h=x-received:mime-version:from:to:x-failed-recipients:subject :message-id:date:content-type:content-transfer-encoding;

bh=VkZ/BCedzv9DXEUnG4WPB00xCz2lNIKuhGzB0Hd8zwc=;

b=xOE5LRQb9yOQfMs977cccNYUumSloP3ycLp2yb9bldFXJI7NZyw0rYRLMc6/yqb7qz 7hr2cOOBnoMzfhmIf0vtUyOIS6QBO20/kP2OOrOSn5DP5+SaoDy6pDnuEzshHWnEM7Us vr1fSvWpgyxO80uao6/CvOzmshY3V9YsZVeHUNproATVv/7ka/PjbQaP8blpyKkS3bM1 IwLDf3/0DkMmOFjxe6R1SGy8n696dc3cg5VdkeHOzWPvpTBv97cbBh3aZ4r5FrBUMGiB rV+RENiuj1Aff+hfVDCK9h9QRIrqMhJH5ahUPWWOf+GBQxvfDz2JRFOt9/22IpJN7/BD e2EA==

X-Received: by 10.9.8.7 with SMTP id to4mr4802970lab.39.1358429690032;

Thu, 17 Jan 2013 05:34:50 -0800 (PST) MIME-Version: 1.0

Return-Path: <>

Received: by 10.9.8.7 with SMTP id to4mr6172650lab.39; Thu, 17 Jan 2013 05:34:50 -0800 (PST)

From: Mail Delivery Subsystem <mailer-daemon@googlemail.com>

To: testmail@gmail.com

(21)

21

X-Failed-Recipients: test@abware_testing.com Subject: Delivery Status Notification (Failure)

Message-ID: <e89a8f2345b3206ed304d37c0fcb@google.com>

Date: Thu, 17 Jan 2013 13:34:50 +0000

Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

Delivery to the following recipient failed permanently:

test@abware_testing.com

Technical details of permanent failure:=20

Google tried to deliver your message, but it was rejected by the recipient = domain. We recommend contacting the other email provider for further inform=

ation about the cause of this error. The error that the other server return=

ed was: 550 550 sorry, no mailbox here by that name (#5.1.1) (state 13).

--- Original message ---

DKIM-Signature: v=3D1; a=3Drsa-sha256; c=3Drelaxed/relaxed;

d=3Dgmail.com; s=3D20120113;

h=3Dmime-version:x-received:date:message-id:subject:from:to :content-type;

bh=3DOpL/nmMmZqRHC8VMRBqSckCe5YsF3l/BG+EJm/FNNuQ=3D;

b=3DDX70hC7/f4spLAuu0lbEePTbV92KU98eOBoamJ8QqwVzRMb4tAL/E3o7xbFUYxj=

wqE

MFOydnjLmjfdrQarddl5tlDU8KDTkySU+pQBS01pCb/nvCdIhMTs8el0xhfcy1jDj8=

7f

knNu3Uul6QNxmNwsU8XFSCXCJ1wbvHcU6Y/iP+BHdj8LavMEXJaLOJvRP1GoLHuIWw=

TR

oA8rc4JPatKBviVaDrMgVtheRI/LMbvENZ+G8hBq0Xq44aYx8FbRNRC4a/HRT7QhHr=

Ta

Yxo+6Pue4Sjr/46p5l2fSa/8jEvgsqRV+Um9w4bWbZsH2udDXnkwNi2Pp+H5wB3h9o=

ao

EEiw=3D=3D MIME-Version: 1.0

X-Received: by 10.9.8.7 with SMTP id to4mr4802944lab.39.1358429689515;

Thu, 17 Jan 2013 05:34:49 -0800 (PST)

Received: by 10.11.12.13 with HTTP; Thu, 17 Jan 2013 05:34:49 -0800 (PST=

)

Date: Thu, 17 Jan 2013 14:34:49 +0100

Message-ID: <CAH8WaoqYrVpN441FUBVCMe119i9kLPjKCFRH4XhQjJ4hzqjR9w@mail.gmail=

.com>

Subject: 2eme test

From: asr abware <testmail@gmail.com>

To: test@abware_testing.com

Content-Type: multipart/alternative; boundary=3De89a8f2345b318909204d37c0f3=

f

2eme test

envoi de @gmail vers @domaine

Une erreur est survenue lors de l'envoi du courrier. Le serveur de courrier a répondu : 5.7.1

<testmail@gmail.com>: Relay access denied. Veuillez vérifier l'adresse du destinataire testmail@gmail.com et essayer à nouveau.

(22)

22

Reprise du Tutoriel (3)

Installation de Courier pour la gestion de l’imap et pop

Maintenant que Postfix est installé et configuré, on a besoin d’installer courier afin de gérer les protocoles pop et imap, qui nous permettent de récupérer nos email via un client comme Thunderbird ou de mettre en place un Webmin comme Roundcube. Voici la liste des paquets à installer :

apt-get installcourier-base courier-authdaemon courier-authlib-mysql courier-imap courier-pop

┌───────────────────────────────────────────────────┤

Configuration de courier-base

├────────────────────────────────────────────────────┐

│ │ │ Courier utilise de nombreux fichiers de configuration dans /etc/courier. Certains de ces fichiers peuvent être remplacés par un │

│ sous-répertoire contenant des fichiers qui seront concaténés et seront considérés ensemble comme un seul fichier de configuration. │

│ │

│ L'outil d'administration par le web fourni par le paquet courier-webadmin n'utilise pas de fichier pour la configuration, mais des │

│ répertoires. Si vous le souhaitez, tous les répertoires nécessaires pour cet outil seront créés, sauf si un fichier est déjà présent. │

│ │

│ Faut-il créer les répertoires nécessaires à l'administration web ?

│ │ │ <Yes> <No>

Configuration

Nous devons configurer courier afin de préciser qu’on utilise une base de données pour les adresses emails virtuelles. Voici les modifications qu’il faut faire :

/etc/courier/authdaemonrc authmodulelist="authmysql"

(23)

23

On doit ensuite fournir les identifiants de connexion à la base de données et le nom des tables : /etc/courier/authmysqlrc

MYSQL_SERVER localhost MYSQL_USERNAME postfix MYSQL_PASSWORD password MYSQL_DATABASE postfix MYSQL_USER_TABLE comptes MYSQL_CRYPT_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email

MYSQL_HOME_FIELD "/var/spool/vmail/"

MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',- 1),'/',SUBSTRING_INDEX(email,'@',1),'/')

Et c’est tout pour la configuration de Courier, il ne nous reste plus qu’à faire un reboot des différents services :

/etc/init.d/courier-authdaemon restart /etc/init.d/courier-pop restart

/etc/init.d/courier-imap restart

Roundcube

Tout est près, on peut d’ores et déjà récupérer ces emails avec un client comme le célèbre Thunderbird, mais je vous propose d’installer un Webmail qui présente l’avantage d’avoir une interface en ligne.

Commencez par récupérer le lien pour télécharger la dernière version de RoundCube sur cette page (Dans sourcefourge faites un clique droit/copier l’adresse du lien sur le

« direct link »).

Ensuite en ligne de commande on télécharge et dé-zippe le fichier avec wget et tar puis on crée un utilisateur pour héberger le code de roundcube :

wget http://surfnet.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-X.X- stable.tar.gz

tar -zxvf roundcubemail-X.X-stable.tar.gz adduser roundcube

mv roundcubemail-X.X-stable.tar.gz /home/roundcube/www chown -R roundcube:roundcube /home/roundcube

Désormais le code pour Roundcube est disponible dans le dossier /home/roundcube/www (comme pour les autres sites) et donc nous devons créer un fichier virtual host :

/etc/apache2/sites-available/roundcube ServerAdmin bvek1.prof@gmail.com

ServerName webmail.ks367082.kimsufi.com ServerAlias webmail.tutorielvideo.fr

DocumentRoot /home/roundcube/www

(24)

24

# SuexecUserGroup roundcube roundcube # on verra ça plus tard Options FollowSymLinks

AllowOverride All

Options FollowSymLinks MultiViews AllowOverride All

Order allow,deny allow from all

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Maintenant on va créer la base de données pour Roundcube. Connectez-vous sur votre phpmyadmin et créez une base de données Roundcube avec un utilisateur Roundcube qui possède tous les droits sur la base.

Ensuite, on va importer unfichier SQLpour créer les tables nécessaires à Roundcube : mysql -u root -p roundcubemail < /var/www/webmail/SQL/mysql.initial.sql Ensuite, vous devez lancer l’installateur de roundcube en allant sur la page

http://ksXXXXX.kimsufi.com/~roundcube/installer. Les étapes sont simples à suivre, n’oubliez pas de configurer la base de données.

À l’étape 2, Roundcube vous donnera 2 fichiers de configuration que vous devez créer avec l’éditeur VI par exemple.

Enfin n’oubliez pas de donner les répertoires ~roundcube/www/temp et logs à apache avec un chwon www-data:www-data /home/roundcube/www/temp (et logs).

Maintenant il ne vous reste plus qu’à tester Roundcube en envoyant un email de test et en testant l’imap en donnant l’adresse email virtuelle que vous avez configuré précédemment avec le mot de passe sur le serveur 127.0.0.1.

(25)

25

Erreurs fréquentes

Dans l’installation et la configuration d’un serveur de mail, on peut très facilement se tromper. Pour vous éviter de rechercher des solutions pendant des jours comme je l’ai fait, je vous propose une petite liste d’erreurs que j’ai déjà commise avec leurs solutions. Cette liste pourra éventuellement se mettre à jour en fonction de vos réactions.

J’ai une erreur 500 sur la page Roundcube

Si vous n’arrivez pas accéder à la page d’installation ou d’index de Roundcube et que vous avez une erreur 500, le problème vient probablement du fichier .htaccess. En effet, Roundcube utilise un fichier .htaccess pour redéfinir des règles pour Apache.

Cependant, il faut autoriser l’utilisation de fichier htaccess en plaçant une directive « AllowOverride All » dans le fichier virtual host du site. Il faut également placer cette directive dans le fichier de configuration de UserDir (/etc/apache2/mods-available/userdir.conf).

De toute manière, en faisant un tour dans les logs, on voit tout de suite si le problème vient des htaccess.

Je n’arrive pas me connecter avec Roundcube / L’imap fonctionne pas

Si le test de l’imap à l’étape 3 de l’installation de Roundcube plante ou si vous n’arrivez pas vous connecter avec une adresse email virtuelle, le problème peut venir du fait que le compte email est

« vide ».

En effet, pendant le tutoriel nous utilisons telnet pour envoyer un email sur l’adresse fraîchement créé via phpmyadmin. Cela permet de vérifier que tout fonctionne bien, mais cela génère également le dossier qui va contenir tous les emails du domaine dans /var/spool/vmail/. Si ce dossier n’existe pas, vous n’arriverez pas à vous connecter sur votre compte avec Roundcube. La solution est donc de refaire l’étape du telnet et de vérifier que ça génère bien le dossier.

Si en regardant les logs, vous avez une erreur du type « authentification failed » ou un message ressemblant, ça vient probablement du fichier /etc/courier/authmysqlrc. Soit vous avez oublié de commenter la ligne « MYSQL_NAME_FIELD », ou alors vous avez oublié le

« MYSQL_MAILDIR_FIELD ».

Je n’arrive pas me connecter en telnet

Si vous n’arrivez pas vous connecter en telnet (si ça freeze), c’est qu’un des fichiers de configuration est mal fait. Vous pouvez le vérifier en regardant dans /var/log/syslog. Si ça ne fonctionne toujours pas, vous pouvez toujours d’arreter postfix et de lancer la commande « newaliases« .

Comment trouver une solution à un problème

Si vous avez un problème qui n’est pas recensé ici, voici quelques pistes pour le trouver. Premier reflexe, si quelque chose ne fonctionne pas -> aller voir les logs.

Voici les fichiers de log intéressant dans ce cas :

•/var/log/syslog : la plupart des erreurs systèmes sont la dedans

•/var/log/mail.log : pour tout ce qui concerne les email

(26)

26

•/var/log/apache2/error.log : toutes les erreurs concernant apache

La plupart du temps vous pouvez identifier le problème et avec une recherche Google (et un peu de logique), on arrive trouver des solutions.

Le tutoriel est enfin terminé, si vous avez des questions ou un prolbème vous pouvez toujours laisser un commentaire. En revanche donnez moi des informations si vous voulez de l’aide (comme les fichiers de logs) car je ne suis pas devin :p.

Si vous me donner des fichiers de log, utilisez un service comme pastebin. Les commentaires de personnes qui donne directement les logs en brut dans les commentaires ne seront pas validés !

Fichiers de Configuration

principale:

# Bannière afficher lorsqu'on se connecte en SMTP sur le port 25 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

# Service qui envoie des notifications "nouveau message"

biff = no

# Desactive la commande SMTP VRFY. Arrête certaine technique pour avoir des adresses email disable_vrfy_command = yes

# Impose au client SMTP de démarrer la session SMTP par une commande Helo (ou ehlo) smtpd_helo_required = yes

# Avec le courier local ça ajoute .NDD aux adresses incomplètes (seulement le nom d'hote) append_dot_mydomain = no

# Le nom de la machine du système de messagerie

# Par défaut c'est host.domain.tld mais on peut mettre un reverse dns myhostname = REVERSE_DNS

# Le domaine utilisé par defaut pour poster les message local myorigin = REVERSE_DNS

# Liste des domaines pour lequel le serveur doit accepter le courrier mydestination = REVERSE_DNS, localhost.localdomain, localhost

# Pour effectuer des livraisons de courrier avec un relay (ici non) relayhost =

# Liste des réseaux locaux autorisés

mynetworks = 127.0.0.0/8, IP_PUBLIQUE_SERVEUR

# Taille des boîtes au lettre (0 = illimité) mailbox_size_limit = 0

# Séparateur entre le nom d'utilisateur et les extensions d'adresses recipient_delimiter = +

# Interfaces réseaux à écouter (ici toutes) inet_interfaces = all

# Gestion des boites mails virtuelle

# Contient les fichiers qui permettent de relier postfix mysql

virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_aliases.cf,mysql:/etc/postfix/mysql- virtual_aliases_comptes.cf

virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domaines.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_comptes.cf

# Le dossier ou seront contenu les mails (=home de l'user vmail)

(27)

27 virtual_mailbox_base = /var/spool/vmail/

# L'id du groupe et de l'utilisateur vmail créé précédement virtual_uid_maps = static:5000

virtual_gid_maps = static:5000

# Créer un dossier par comte email virtual_create_maildirsize = yes

# A activer si vous souhaitez ajouter des quotas virtual_mailbox_extended = yes

# Impose les limites au niveau des mails, dans notre cas aucune

virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_quotas.cf

# Ajouter une limite sur la taille des messages pour les boites virtuelles virtual_mailbox_limit_override = yes

virtual_maildir_limit_message = "La boite mail de votre destinataire est pleine, merci de reessayez plus tard."

virtual_overquota_bounce = yes

# adresses d'expedition smtpd_sender_restrictions = permit_mynetworks,

warn_if_reject reject_unverified_sender

# adresses de destination smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_non_fqdn_recipient

# client

smtpd_client_restrictions = permit_mynetworks

fichier conf final :

# Bannière afficher lorsqu'on se connecte en SMTP sur le port 25

smtpd_banner = $myhostname ESMTP Test $mail_name (Debian/GNU)

# Service qui envoie des notifications "nouveau message"

biff = no

# Desactive la commande SMTP VRFY. Arrête certaine technique pour avoir des adresses email disable_vrfy_command = yes

# Impose au client SMTP de démarrer la session SMTP par une commande Helo (ou ehlo) smtpd_helo_required = yes

# Avec le courier local ça ajoute .NDD aux adresses incomplètes (seulement le nom d'hote) append_dot_mydomain = no

# Le nom de la machine du système de messagerie

# Par défaut c'est host.domain.tld mais on peut mettre un reverse dns myhostname = mail2.abware_testing.com

# Le domaine utilisé par defaut pour poster les message local myorigin = /etc/mailname

# Liste des domaines pour lequel le serveur doit accepter le courrier

mydestination = 109.183.135.5.in-addr.arpa, mail2.abware_testing.com,localhost.localdomain,

(28)

28 localhost

# Pour effectuer des livraisons de courrier avec un relay (ici non) relayhost =

# Liste des réseaux locaux autorisés

mynetworks = 127.0.0.0/8, ip.du.serveur.mail

# Taille des boîtes au lettre (0 = illimité) mailbox_size_limit = 0

# Séparateur entre le nom d'utilisateur et les extensions d'adresses recipient_delimiter = +

# Interfaces réseaux à écouter (ici toutes) inet_interfaces = all

# Suppr : "warning dict_nis_init nis domain name not set - nis lookups disabled"

"/etc/postfix/main.cf" 77L, 3412C 1,1 Haut

______________________________________________________________________________

##VERSION: $Id: authmysqlrc,v 1.20 2007/10/07 02:50:45 mrsam Exp $

#

# Copyright 2000-2007 Double Precision, Inc. See COPYING for

# distribution information.

#

# Do not alter lines that begin with ##, they are used when upgrading

# this configuration.

#

# authmysqlrc created from authmysqlrc.dist by sysconftool

#

# DO NOT INSTALL THIS FILE with world read permissions. This file

# might contain the MySQL admin password!

#

# Each line in this file must follow the following format:

#

# field[spaces|tabs]value

#

# That is, the name of the field, followed by spaces or tabs, followed by

# field value. Trailing spaces are prohibited.

##NAME: LOCATION:0

#

# The server name, userid, and password used to log in.

MYSQL_SERVER localhost MYSQL_USERNAME postfix MYSQL_PASSWORD password

##NAME: SSLINFO:0

#

# The SSL information.

#

"authmysqlrc" 288L, 8932C 1,1 Haut

(29)

29

##VERSION: $Id: authdaemonrc.in,v 1.13 2005/10/05 00:07:32 mrsam Exp $

#

# Copyright 2000-2005 Double Precision, Inc. See COPYING for

# distribution information.

#

# authdaemonrc created from authdaemonrc.dist by sysconftool

#

# Do not alter lines that begin with ##, they are used when upgrading

# this configuration.

#

# This file configures authdaemond, the resident authentication daemon.

#

# Comments in this file are ignored. Although this file is intended to

# be sourced as a shell script, authdaemond parses it manually, so

# the acceptable syntax is a bit limited. Multiline variable contents,

# with the \ continuation character, are not allowed. Everything must

# fit on one line. Do not use any additional whitespace for indentation,

# or anything else.

##NAME: authmodulelist:2

#

# The authentication modules that are linked into authdaemond. The

# default list is installed. You may selectively disable modules simply

# by removing them from the following list. The available modules you

# can use are: authuserdb authpam authpgsql authldap authmysql authcustom authpipe

"/etc/courier/authdaemonrc" 103L, 3656C 1,1 Haut

_______________________________________________________________________________

hosts = 127.0.0.1 user = postfix

password = password dbname = postfix select_field = 'virtual' table = domaines where_field = domaine

additional_conditions = AND etat=1

~

"/etc/postfix/mysql-virtual_domaines.cf" 8L, 177C 1,1 Tout

hosts = 127.0.0.1 user = postfix

password = password dbname = postfix

(30)

30 table = alias

select_field = destination where_field = source

additional_conditions = AND etat=1

~

"/etc/postfix/mysql-virtual_aliases.cf" 8L, 175C 1,1 Tout

__________________________________________________________________________

hosts = 127.0.0.1 user = postfix

password = password dbname = postfix table = comptes select_field = email where_field = email

additional_conditions = AND etat=1

~

<stfix/mysql-virtual_aliases_comptes.cf" 8L, 170C 1,1 Tout

hosts = 127.0.0.1 user = postfix

password = password dbname = postfix table = comptes

select_field = CONCAT(SUBSTRING_INDEX(email,'@',- 1),'/',SUBSTRING_INDEX(email,'@',1),'/')

where_field = email

additional_conditions = AND etat=1

~

"/etc/postfix/mysql-virtual_comptes.cf" 8L, 239C 1,1 Tout

________________________________________________________________________________

hosts = 127.0.0.1 user = postfix

password = password dbname = postfix table = comptes select_field = quota

where_field = email

~

"/etc/postfix/mysql-virtual_quotas.cf" 7L, 135C 1,1 Tout

(31)

31 Conclusion

Difficulté de mise en place :

Problème de gestion des quotas (fonction non utilisée) Attention à la configuration DNS de la Zone

Difficulté de réception des mails.

Serveur Postfix prototype est malgré tout, fonctionnel par rapport au cahier des charges.

Références

Documents relatifs

This document and the information contained herein are provided on an &#34;AS IS&#34; basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF

Création d’un parcours Cybersécurité dans la LP mention ASSR « Administration et Sécurité des Systèmes et des Réseaux.

However, due to various factors, it is not always possible from looking at the MIME type and subtype to know which specific media formats are contained in the body part,

Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without

[r]

The study focuses on phonological, orthographical, lexical, syntactical, semantic, pragmatic and tex- tual aspects and reveals the overwhelming influence of French, English and

[r]

et des rides un peu moin creusées on veut de la jeunesse en poudre on veut de la neige en été des grands buildings sous le soleil des monuments pharaonniques on veut partout