menu home
 
  Derniers projets :

•   Serveur mail Postfix/Dovecot sur Raspberry Pi sous Raspbian

•   Circuit vidéo anti-Macrovision / Macrovision remover

•   Indicateur de niveau d'humidité de la terre pour plante

•   Récupération consommation EDF via Raspberry Pi

•   Station Météo avec Raspberry Pi

•   ...

[ Voir la suite ... ]    

 
  Derniers projets :

•   Programme pour le convertisseur impulsions téléphoniques en signal DTMF pour téléphone à cadran

•   ...

[ Voir la suite ... ]    

 
  •   Cathode Corner
 
•   Kosbo
 
•   Semageek
 
 
a propos
 
contact
 
  categorie
  Serveur mail Postfix/Dovecot sur Raspberry Pi sous Raspbian
  > Raspberry Pi
img avancement
Commencé le 09/12/2015 à 03:57  


Avec tout ces problèmes de viol de privée et de surveillance généralisée du net, cela faisait un petit moment que je rêvais d'avoir mon propre serveur mail avec de pouvoir stocker, chez moi, l'intégralité de mon courrier perso. Je me suis toujours sentis un peu mal à l'aise avec l'idée d'avoir toute ma correspondance conservée sur des serveurs gérés par des entreprises privés qui peuvent, à tout moment, laisser un accès à mes données personnelles à un tiers pour vous proposer de la pub dont je me fiche royal (merci les bloqueurs de pub !) ou à des fins dites ''sécuritaires'' par les services de renseignement de différents pays peu scrupuleux. En faisant l'analogie avec le courrier papier, c'est comme si vous étiez obligé d'aller à votre bureau de Poste où il y aurait toutes les boîtes aux lettres de tout le monde mais pas en bas de chez soi et où vous devriez ouvrir votre courrier là bas à coté de quelqu'un qui vous surveille, vous serez obligé de laisser l'original là bas et vous pouvez le jeter seulement dans la poubelle de votre poste mais quelqu'un peu toujours regarder ce qu'il y a dedans. Bref, un peu bizarre quand même (et limite parano aussi!).
Le fait d'avoir son propre serveur mail peut avoir des avantages et inconvénients.
Avantages :
- Votre courrier est chez vous physiquement (si vous avez installé votre serveur dans votre logement. Si c'est un serveur dédié chez une entreprise, c'est pareil que s'inscrire sur une site d'hébergement de courrier comme Gmail pour moi).
- Vous avez le total contrôle de votre installation : vous définissez les politiques de sécurisé. Si vous sentez qu'il y a une intrusion, vous pouvez toujours couper l'accès depuis Internet mais garder un accès local.
- Créer une forme d’anonymat : Personne ne vous oblige à utiliser votre nom et prénom dans l'adresse mail de votre propre serveur. Vous faites ce que vous voulez.
Inconvénients :
- Coût financier : investissement de matos + électricité. (Bon pour le serveur que je vais vous présenter, il y en a pour 50-60€ max à l'achat et peut-être 5€ d'électricité par an, ça va!)
- Maintenance : Ben oui, si le disque dur de votre serveur lâche et que vous n'avez pas fait de sauvegarde, c'est pour votre pomme ! De plus, il faut des compétences techniques pour configurer la machine afin d'obtenir le résultat souhaité.
- Sécurité : Il faut bien faire attention à la configuration et à la sécurité de votre serveur. Si vous laissez des possibilités aux pirates tel qu'utiliser votre serveur SMTP pour envoyer du spam à d'autres comptes mails qui ne sont pas sur votre serveur, c'est de chez vous que partira le mail, donc ce sera vous le responsable d'avoir laissé une faille dans votre système !

Bref, après cette petite introduction, voici ma réalisation : un Raspberry Pi B+ avec une alimentation maison, un vieux disque dur 2,5'' Seagate de 20Go pour le système et un affichage type Nokia 5510/3310 en façade pour avoir des infos sur l'état de santé du serveur et me dire si j'ai reçu des mails sur mon ou mes comptes.
Le système (Rasbian) héberge un serveur IMAP et POP pour la réception du courrier et un serveur SMTP pour l'envoie de courrier. La gestion des mails au niveau du système est gérée par Postfix et l'interfaçage IMAP/POP/SMTP par Dovecot, du classique sous Linux !

Cet article est découpé en 2 parties :
- La partie Hardware (assez rapide) avec les schémas de l'alimentation et de la connexion de l'écran 5510/3310 au RaspberryPi.
- La partie Software (plus longue) avec la mise en place du système sur un disque dur, la config réseau, la création d'un nom de domaine, l'installation de Postfix/Dovecot, la mise en place du webmail Roundcube en cas de secours et la mise en place du script pour gérer l'affichage 5510/3310.

img




Hardware :
1) Alimentation :
L'alimentation est assez simple : un transformateur 9V 20W et 2 régulateurs 7805 pour alimenter le Rasberry et le disque dur. La puissance du transfo pourrait sembler trop importante malgré le fait que le tout ne consomme que 7-8W, mais c'est pour palier au pic d'intensité demandé par le disque dur pour se lancer. Le disque dur consomme dans les 650mA et le RaspberryPi dans les 300mA, l'alimentation en 5V est fournie à part pour le disque dur.

2) Raspberry Pi :
L'élément central de ce projet : un Raspberry Pi B+. J'ai utilisé un disque dur pour le système au lieu de la carte microSD car elles ne sont pas fiables dans le temps (nombre de cycles lecture/écriture limités) et, de plus, elle sont plus lentes (7-8Mo/s pour une carte microSD moyenne contre 30-35Mo/s pour un disque dur branché en USB). La carte microSD est quand même toujours présente car le RaspberryPi se lance obligatoirement dessus. Donc je n'ai que la partition de boot de 50Mo dessus et la partition système en ext4 sur le disque dur.

3) Afficheur 5510/3310 :
Je souhaitais afficher les informations du serveur sur un petit afficheur en façade afin de connaître son état de santé sans à avoir besoin de connecter en SSH de temps en temps. J'ai choisi cet afficheur par je le trouve sympa, il n'est pas très gros, facile à connecter et à manipuler au niveau software et il ne consomme pas beaucoup.

img


Voici le schéma, niveau électronique, c'est plutôt simple :

img





Software :
1) Installation de Raspbian sur un disque dur :
Les principaux avantages d'utiliser un disque dur au lieu de la carte pour le système sur un Raspberry sont, comme cités dans le point précédent, la fiabilité accrue par rapport à une carte microSD et aussi l'espace de stockage. Bon pour ce dernier, vu que j'utilise un vieux disque dur de 20Go et qu'il existe maintenant des cartes microSD de 128Go, ça ne marche pas tellement … mais j'aurais pu utiliser un disque dur de 2To, ça aurait très bien marché !

On ne va pas vraiment faire une installation à proprement dite. On va juste copier la partition système qui se trouve sur la carte microSD vers un disque dur et l'étendre pour qu'elle puisse s'étendre sur tout l'espace disponible.

Pour cela, vous devez déjà avoir une installation de Raspbian prête sur votre carte microSD. Personnellement, j'utilise des images de carte que j'ai pré-configurés en français et avec le wifi déjà paramétré pour avoir des cartes toutes prêtes à l'emploi.
Mais si vous n'avez pas d'image pré-configuré, ce n'est pas drame. Voici juste ce que vous avez à faire :
- Télécharger la dernière image de Rasbian sur leur site : https://www.raspberrypi.org/downloads/raspbian/
- La copier sur une carte d'au moins 4Go.
- L'insérer dans votre RaspberryPi
- Allumez votre Raspberry ayant une connexion Internet via Ethernet.
- Faites ce qu'il faut pour mettre le clavier en français (azerty) et langue en français.
- Faites un petit « sudo apt-get update » et « sudo apt-get upgrade » et ce sera bon.


Maintenant que vous avez une installation de Raspbian à jour et prête, on peut commencer :

1.1) Branchez votre disque dur en USB. Il est préférable qu'il y ait une alimentation à part pour lui. Si non, le disque dur risque de demander trop d'énergie via l'alimentation USB du Raspberry ce qui aurait pour effet de provoquer des désagréments au Raspberry.

1.2) Faites un « ls /dev/sd* » pour vérifier la présence de votre disque dur. Si vous trouvez un « /dev/sda », c'est bon.

1.3) Utilisez l'utilitaire cfdisk avec la commande « sudo cfdisk /dev/sda » pour une partition de type Linux sur l'ensemble du disque.

1.4) Inspectez la liste des partitions de votre système en faisant « sudo blkid » et repérez la partition ext4. Normalement elle identifiée par « /dev/mmcblk0p2 ». C'est elle qui contient le système.

1.5) Copiez le contenu de cette partition de la carte microSD vers la nouvelle partition sur le disque dur : « sudo dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=4M »

1.6) Faites une vérification de la partition du disque dur « sudo e2fsck -f /dev/sda1 ».

1.7) Étendez la partition sur tout le disque dur avec « sudo resize2fs /dev/sd ».

1.8) Modifiez le fichier « /boot/cmdline.txt » avec un éditeur de texte ( « sudo nano /boot/cmdline.txt » ) en remplaçant « root=/dev/mmcblk0p2 » par « root=/dev/sda1 ».

1.9) Montez la nouvelle partition du disque à un endroit.
sudo mkdir /media/root_sd
sudo mount /dev/sda1 /media/root_sd


1.10) Modifiez le fichier « /etc/fstab » de la partition du disque dur (ici « /media/root_sd/etc/fstab ») en commentant la ligne de l'emplacement racine sur la carte SD et ajouter une nouvelle ligne pour que la racine soit prise sur le disque dur :
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
/dev/sda1 / ext4 defaults,noatime 0 1


1.11) Faire un reboot du Raspberry en faisant « sudo reboot » et, si tout va, il démarre maintenant sur le disque.


2) Paramétrage réseau et pare-feu :
Pour la partie réseau, j'ai opté pour l'utilisation d'un clé Wifi. Pas besoin d'avoir un débit monstrueux pour un serveur mail avec quelques comptes mails. J'arrive à avoir un débit 1,5Mo/s en Wifi, cela me suffit largement et cela m'évitait d'avoir un fil supplémentaire qui sort du boîtier du serveur. Pour le

2.1) Répérez votre adresse IP locale actuelle avec « ifconfig ».

2.2) Configuration de l'interface wifi :
Ouvrez le fichier « /etc/network/interfaces » et mettez votre configuration wifi en statique en remplaçant les étoiles par la bonne valeur chez vous :
« sudo nano /etc/network/interfaces »
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.*
netmask 255.255.255.0
gateway 192.168.1.*
wpa-ssid "MaBox"
wpa-psk "LeMotDePasseDeMaBox"


2.3) Configuration du pare-feu Raspberry :
J'ai opté pour une configuration simple pour un serveur. Par défaut, rien ne rentre, rien ne sort, sauf quelques ports.
En entrée, on a :
- port 22 : SSH.
- ports 25 et 465 : SMTP et SMTPs.
- ports 143 et 993 : IMAP et IMAPs.
- ports 110 et 990 : POP et POPs.
- port 80 : Webmail (installation Apache/Php/Mysql).
En sortie :
- port 53 : pour se connecter à un serveur DNS pour faire des téléchargements.
- ports 80 et 443 : ports web pour les mises à jour.
- ports 25 et 465 : pour se connecter à un autre serveur SMTP pour envoyer des messages à des comptes externes au serveurs.
- ports 123 : port NTP, pour la mise à jour de l'horloge.

img


Voici la liste des commandes :
sudo ufw default deny
sudo ufw allow 22
sudo ufw allow 25
sudo ufw allow 465
sudo ufw allow 143
sudo ufw allow 993
sudo ufw allow 110
sudo ufw allow 995
sudo ufw allow 80
sudo ufw default deny outgoing
sudo ufw allow out 80
sudo ufw allow out 443
sudo ufw allow out 53
sudo ufw allow out 25
sudo ufw allow out 465
sudo ufw enable
(si ce n'est pas fait!)

2.4) Configuration pare-feu de votre routeur/box :
Pour recevoir du courrier depuis l’extérieur, il faut que votre serveur soit accessible. Vous devez configurer votre routeur ou box pour qu'il puisse rediriger certains ports vers votre serveur :
- ports 25 et 465 : SMTP et SMTPs.
- ports 143 et 993 : IMAP et IMAPs.
- ports 110 et 990 : POP et POPs.
- et éventuellement port 80 : Webmail (installation Apache/Php/Mysql). Personnellement, j'y accéderais via un tunnel SSH via le Raspberry, dans ce cas rajouter le port 22.

img


3) Création d'un nom de domaine :
Tout vrai serveur mail se doit d'avoir un nom de domaine. C'est mieux de d'avoir une adresse du style nom@mondomaine.fr au lieu de nom@12.34.56.78 .
Les exemples qui suivront auront étés faits en prenant un nom de domaine chez OVH. J'ai choisi cette entreprise car j'y ai déjà un compte et pas parce qu'elle est plus ou moins bien qu'une autre.

3.1) Vérifiez la disponibilité de votre nom de domaine. Personnellement, j'ai choisi un nom de domaine en « .fr » .

img


3.2) Le commander :

img


3.3) Un fois commandé, il se peut que votre fournisseur de nom de domaine vous le fournisse avec le pré-configuration :

img


Il faut faire un peu de ménage.
Vous pouvez supprimer  :
- Les champs de type TXT
- les domaine « _autodiscover._tcp », « autoconfig », « ftp » et « mail » (oui celui là aussi, vu qu'on aura que le serveur mail sur ce nom de domaine, on se servira que du champ type A qu'il reste).
Laissez les champs de NS.
Modifiez :
- le champ MX (très important car permet la réception de mails !) pour qu'il pointe vers le champ A (votre IP).
- les champs SRV pour qu'ils pointent vers le champ A.
- le champ avec l'adresse avec l'adresse IP Internet de votre routeur/box.
- les champs CNAME pour qu'ils pointent vers le champ A.

En gros vous devriez avoir ça :

img


3.4) Attendez un peu que vos modifications soit prises en compte sur tous les serveurs DNS de la planète et testez sur un autre machine que votre Raspberry si votre nom de domaine réagit bien sur le champ MX avec la commande « host -t MX mondomaine.fr » :

img


Vous pouvez également tester si le champ A pointe bien vers votre IP avec la commande « host -t A mondomaine.fr ».

3.5) Mettez à jour votre fichier « /etc/hosts » pour votre Raspberry pointe sur lui-même quand il utilisera votre nom de domaine :
« sudo nano /etc/hosts »
Ajoutez :
127.0.0.1 mondomaine.fr

Vous pouvez testez en faisant un ping sur votre nom de domaine. Si vous voyez que le ping est envoyé vers localhost/127.0.0.1, c'est bon :

img


On pourrais également remplacer le nom de la machine par le nom de domaine dans "/etc/hostname", mais ce n'est pas obligatoire.

Voilà, votre nom de domaine est prêt !


4) Installation et configuration de Postfix/Dovecot + webmail Roundcube :

Avant de se lancer dans les installation, mettez à jour votre liste des paquets et faites une mise à jour si besoin :
sudo apt-get update
sudo apt-get upgrade


4.1) Postfix :
Postfix va permettre la gestion des mails entre les différents comptes du serveur dans le serveur.
Faites la commande suivante : « sudo apt-get install postfix »

Vous allez avoir l'outil de configuration qui va s'afficher :

img


Faites « Ok » et chosissez l'option « Site Internet » :

img


Faites « Ok » et entrez votre nom de domaine :

img


Puis ensuite, vous devriez voir le défilement de l'installation.
Si vous avez des avertissements concernant l'IPv6, c'est normal, le serveur a été configuré en IPv4 statique précédement. Ce problème sera corrigé plus bas.

Arrêtez Postfix : « sudo service postfix stop »

Ouvriez le fichier de configuration « /etc/postfix/main.cf » et faites les modifications suivantes :
« sudo nano /etc/postfix/main.cf »

- Changez les valeurs suivantes :
Votre nom de domaine : myhostname = mondomaine.fr
Taille d'une boite mail (compte) à 1Go (vous pouvez mettre plus) : mailbox_size_limit = 1073741824
Mettez un autre serveur SMTP pour l'envoi à des comptes externes (SMTP de votre FAI par exemple) : relayhost = smtp.monfai.fr
Modifier, ajouter accès au réseau local et supprimer paramètres IPv6: mynetworks = 192.168.1.0/24 127.0.0.0/8

- Ajoutez les valeurs suivantes :
Limite messages 20Mo (contenu + pièces jointes): message_size_limit = 20971520
Activez seulement l'IPv4 (si vous avez configuré en IPv4 statique plus haut) si non, au lancement de postfix vous aurez : warning: inet_protocols: disabling IPv6 name/address support: Address family not supported by protocol : inet_protocols = ipv4
Ajoutez l'authentification TLS : smtpd_tls_auth_only = yes
Ajoutez l'utilisateur du répertoire « Maildir » dans le répertoire utilisateur : home_mailbox = Maildir/

Vous devriez avoir une configuration similaire :
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = no

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_auth_only = yes

myhostname = mondomaine.fr
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mondomaine.fr, serveur-mail, localhost.localdomain, localhost
relayhost = smtp.monfai.fr
mynetworks = 192.168.1.0/24 127.0.0.0/8
mailbox_size_limit = 1073741824
message_size_limit = 20971520
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/


Si tout est bon, vous pouvez lancer votre serveur Postfix avec la commande : « sudo service postfix start »

img


Voilà, Postfix est installé mais vous ne pouvez pas encore envoyer ou recevoir de mails avec un client mail classique.


4.2) Dovecot :
Dovecot va permettre de créer une interface IMAP/POP/SMTP pour l'envoi et la récéption de mails depuis un client mail ordinaire (type Mozilla Thunderbird, Outlook, etc …).

Pour l'installer, faites la commande suivante : « sudo apt-get install dovecot-pop3d dovecot-imapd »

Lors de l'installation, Dovecot génère son propre certificat auto-signé pour 10 ans. Si vous utilisez votre serveur que pour une utilisation perso, vous pouvez le garder, cela ne mettra pas en danger la sécurité du serveur.
Il se peut qu'il y ait des erreurs à la fin de l'installation, au moment du lancement de Dovecot.
Si vous êtes en seulement IPv4, la configuration de base est prévu pour fonctionner avec de l'IPv4 et de l'IPv6, vous pourrez avoir ces erreurs du genre :
[ ok ] Starting IMAP/POP3 mail server: dovecot.
Paramétrage de dovecot-imapd (1:2.1.7-7+deb7u1) ...

Creating config file /etc/dovecot/conf.d/20-imap.conf with new version
[....] Restarting IMAP/POP3 mail server: dovecotError: socket() failed: Address family not supported by protocol
Error: service(imap-login): listen(::, 143) failed: Address family not supported by protocol
Error: socket() failed: Address family not supported by protocol
Error: service(imap-login): listen(::, 993) failed: Address family not supported by protocol
Fatal: Failed to start listeners
failed!
invoke-rc.d: initscript dovecot, action "restart" failed.
dpkg: erreur de traitement de dovecot-imapd (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Paramétrage de dovecot-pop3d (1:2.1.7-7+deb7u1) ...

Creating config file /etc/dovecot/conf.d/20-pop3.conf with new version
[....] Restarting IMAP/POP3 mail server: dovecotError: socket() failed: Address family not supported by protocol
Error: service(pop3-login): listen(::, 110) failed: Address family not supported by protocol
Error: socket() failed: Address family not supported by protocol
Error: service(pop3-login): listen(::, 995) failed: Address family not supported by protocol
Error: socket() failed: Address family not supported by protocol
Error: service(imap-login): listen(::, 143) failed: Address family not supported by protocol
Error: socket() failed: Address family not supported by protocol
Error: service(imap-login): listen(::, 993) failed: Address family not supported by protocol
Fatal: Failed to start listeners
failed!
invoke-rc.d: initscript dovecot, action "restart" failed.

Ne vous inquiétez pas, l'installation s'est quand même bien déroulée. C'est juste que le serveur provoque une erreur car il n'arrive pas écouter un port avec une configuration IPv6 configuré seulement sur une IPv4 statique.

Pour corriger cela et n'avoir que de l'IPv4, faites :
« sudo service dovecot stop »
Ouvrez le fichier « /etc/dovecot/dovecot.conf », décommentez la ligne "#listen = *, ::" et mettez juste "listen=*" :
sudo nano /etc/dovecot/dovecot.conf
# A comma separated list of IPs or hosts where to listen in for connections.
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
# If you want to specify non-default ports or anything more complex,
# edit conf.d/master.conf.
listen=*


La configuration réseau maintenant bonne mais ne relancez pas tout de suite le serveur Dovecot.

Ouvrez le fichier « /etc/dovecot/conf.d/10-mail.conf » :
sudo nano /etc/dovecot/dovecot.conf
Configurez la ligne suivante comme ceci : maildir:~/Maildir
De cette manière, Dovecot va regarder dans « Maildir » du répertoire utilisateur, qu'on a configuré dans Postfix, s'il y a des messages.

Ouvrez le fichier « /etc/dovecot/conf.d/10-auth.conf » :
sudo nano /etc/dovecot/conf.d/10-auth.conf
Mettez la ligne suivante pour désactiver l'authentification par texte brut (plain text). Votre mot de passe passera donc forcément crypté.
« disable_plaintext_auth = yes »

Ouvrez le fichier « /etc/dovecot/conf.d/10-ssl.conf » :
sudo nano /etc/dovecot/conf.d/10-ssl.conf
Activez les ports SSL IMAPS et POPS en décommentant cette ligne : « ssl = yes »

La configuration de Dovecot est prête, vous pouvez le lancer :
« sudo service dovecot start »

img


Vous maintenant un serveur mail prêt à fonctionner !

Vous pouvez vérifier les ports en écoute avec les commandes suivantes :
netstat -a | grep pop
netstat -a | grep imap
netstat -a | grep smtp


img


4.3) Test avec un client mail :
Vous avez maintenant un serveur mail opérationnel, vous pouvez donc vous y connecter.
Les exemples suivants sont illustrés car des captures de Mozilla Thunderbird.

Ajoutez un nouveau compte :
Si votre serveur se trouve sur le même réseau que votre PC client, il se peut que l'utilisation de votre nom de domaine ne marche pas. A la place, mettez l'adresse IP locale votre serveur.

img


img


Si vous utilisez le certificat auto-généré par Dovecot, votre client peut vous alerter de l'utilisation d'un certificat qui n'est pas certifié par une autorité. Faites « Confirmer l'exception de sécurité » :

img


Note : Vous aurez remarqué que j'utilise les ports 143 et 25 avec l'encryptage STARTTLS. Je ne peux pas utiliser les ports SSL 993 et 995 car Thunderbird refuse de les utiliser tant que je n'ai pas un certificat valide (cherchez sur le net la raison, il semblerait que ça soit comme ça depuis Thunderbird 3) mais j'ai pu tester avec un autre client mail (Evolution) et là, je n'ai pas eu de problèmes, les ports IMAPS et POPS marchent bien.

Si tout marche bien, vous allez pouvoir utiliser dès à présent votre serveur :

img


4.3) Client webmail Roundcube :
Quelque chose d'utile en cas de problème avec un client classique, c'est d'avoir un webmail de disponible. Ici vous verrez l'installation de Roundcube, un webmail assez sympathique et pas trop gourmand en ressources CPU pour notre pauvre RaspberryPi.

D'abord faites une installation LAMP classique :
« sudo apt-get install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 »

Téléchargez et copiez le fichier .tar.gz de RoundCube dans votre home sur le Raspberry.
Note: N'installez pas de serveur FTP sur votre Raspberry juste pour ce transfert, faites le via SFTP avec WinSCP ou FileZilla.

Connectez vous, en ligne de commande, au client mysql avec l'utilisateur MySQL "root":
« mysql -u root »
Note : Il s'agit de l'utilisateur administrateur de MySQL, pas de votre machine.
Entrez les requêtes SQL suivantes :
CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
GRANT ALL PRIVILEGES ON roundcubemail.* TO utilisateurroundcube@localhost IDENTIFIED BY 'Mot_de_passe_pour_Roundcube';


Note: Tant que vous y êtes, si vous n'avez pas définit de mot de passe pour "root", faites:
SET password FOR "root"@"localhost" = password('Nouveau_mot_de_passe');

Ensuite, effectuez les actions suivantes:
cp roundcubemail-1.1.3-complete.tar.gz /var/www
cd /var/www
tar zxvf roundcubemail-1.1.3-complete.tar.gz
rm roundcubemail-1.1.3-complete.tar.gz
sudo chown www-data:www-data -R *
cd roundcubemail-1.1.3
mysql roundcubemail -u root -pMot_de_passe_pour_Roundcube < SQL/mysql.initial.sql


Allez à « http://IP_SERVEUR/roundcubemail-1.1.3/installer/ »

1er étape (Check environment):
Vérifiez l'environnement. Si rien de dérangeant, faitez "NEXT".

img


2e étape (Create config):
- General configuration: rien de particulier à faire.
- Logging & Debugging: laisser tel quel.
- Database setup: remplissez les champs avec identifiants créés précédemment.
- IMAP Settings: laissez tel quel, il y a déjà la config pour un accès local.
- SMTP Settings: mettez "localhost" dans "smtp_server".
- Display settings & user prefs: dans "language" mettez "fr_FR"
- Plugins: au choix, c'est vous qui voyez !

Une fois terminé, cliquez sur "CREATE CONFIG".

img


Si l'enregistrement de la config a marché, faites "CONTINUE".
Si la page vous affiche le contenu du fichier de configuration à remplir manuellement, vérifiez les droits d'accès aux fichier dans le dossier de RoundCube.

Vous obtenez le résultats des test de votre configuration. Si tout est vert, c'est bon.

img


Effectuez les tests IMAP et SMTP pour voir si tout marche bien :

img


img


Si les tests ont marché, supprimez le dossier "installer" de RoundCube.
« sudo rm -R installer »

Vous pouvez accéder à votre webmail « http://IP_SERVEUR/roundcubemail-1.1.3/ »



5) Script d'affichage d'informations sur afficheur 5510/3310 :
Avoir un petit afficheur sur le devant du serveur est utile pour connaître l'état de santé de celui sans avoir besoin de se connecter en SSH. 
De plus, j'ai rajouté une partie faire clignoter le rétroéclairage et afficher le nom de nombre de nouveau messages sur certains comptes, ceux utilisés par moi.

Bref, voici ce qu'il faut faire pour que ça marche. Exécutez les commandes suivantes :
sudo apt-get install python-pip python-dev build-essential screen
sudo pip install RPi.GPIO
sudo apt-get install python-imaging
sudo apt-get install git
git clone https://github.com/adafruit/Adafruit_Nokia_LCD.git
cd Adafruit_Nokia_LCD
sudo python setup.py install
sudo pip install psutil


Ouvriez le fichier « /boot/config.txt » : « sudo nano /boot/config.txt »
Ajoutez la ligne suivante : « dtparam=spi=on »

Redémarrez le RaspberryPi : « sudo reboot »

Récupérez les scripts et décompressez l'archive sur le RaspberryPi : Lien
« unzip archive.zip »
Modifiez le fichier « userlist.txt » avec la liste des utilisateurs où il faut vérifier la présence de nouveau mails.

Copiez (ou déplacez) "affichage_stats.py", "goodbyeDespair.ttf" et "userlist.txt" dans "/root"
sudo cp affichage_stats.py /root
sudo cp goodbyeDespair.ttf /root
sudo cp userlist.txt /root


Copiez « lcd_stats.sh » dans « /etc/init.d/ » sans le « .sh ». Rendez le exécutable et faites un « update-rc.d ».
sudo cp lcd_stats.sh /etc/init.d/lcd_stats
sudo chmod +x /etc/init.d/lcd_stats
sudo update-rc.d lcd_stats defaults


Redémarrez le RaspberryPi et l'afficheur devrait se lancer : « sudo reboot »

img





6) Configurations supplémentaires utiles :
Avoir un serveur mail qui marche, c'est bien. Avoir un vrai serveur mail bien configuré, c'est mieux.
Donc voici quelques trucs qui pourrait vous être utiles.

6.1) Définition d'alias :
Un alias est utilisé pour une redirection de message. Par exemple, si on a définit un alias de « maitresdumonde » vers « daleks », quand on recevra un mail pour « maitresdumonde@mondomaine.fr », celui ci sera transféré dans la boite de « daleks@mondomaine.fr »
Pour cela, ouvrez le fichier « /etc/aliases »:
« sudo nano /etc/aliases »
Ajouter un alias du style: « maitresdumonde: daleks »
Puis rechargez la configuration de Postfix :
« sudo service postfix reload »

6.2) Définir le compte "postmaster" (l'administrateur du serveur mail)
Ouvrez le fichier « /etc/aliases »:
« sudo nano /etc/aliases »
Modifier l'alias: « postmaster: compteAdministrateur »
Pour cela, ouvrez le fichier « /etc/aliases »:
« sudo nano /etc/aliases »

6.3) Désactiver la récéption de mails pour certains comptes :
Par exemple, pour root, on n'a pas vraiement besoin de recevoir de mails (du moins pour un serveur perso). Donc pour ne pas recevoir de mails sur "root@mondomaine.fr", il faut faire un alias vers /dev/null.
Ouvrez le fichier « /etc/aliases »:
« sudo nano /etc/aliases »
Ajoutez l'alias: « root: /dev/null »
Pour cela, ouvrez le fichier « /etc/aliases »:
« sudo nano /etc/aliases »

6.4) Créer un nouveau compte :
Pour créer un nouveau compte, faites les commandes suivantes :
« sudo adduser nomUtilisateur »
Si l'utilisateur doit pouvoir éxécuter des commandes avec "sudo", il faut le rajouter au groupe "sudo"
« sudo usermod -aG sudo nomUtilisateur »
La modification sera effective à son prochain login.

6.5) Supprimer « pi » des sudoers :
Il y a un problème de sécurité avec le compte "pi" sur Rasbian, le compte "pi" peut exécuter des commandes sudo dans avoir à taper de mot de passe, donc bof bof ...
On va donc le supprimer des sudoers. Tapez la commande suivate :
« sudo visudo »
A là fin du fichier, supprimez la ligne :
« pi ALL=(ALL) NOPASSWD: ALL »

6.6) Suppression de « pi » (ou un autre compte) :
Faites la commande suivante :
« sudo deluser --remove-home pi »
Note: si vous avez défini l'alias "postmaster" vers "pi", n'oubliez pas de le changer.

6.7) Modification du mot de passe "root" si le compte "root" est activé :
Par défaut sur Raspbian, le compte "root" est désactivé, on ne peux pas s'y connecter directement.
Si vous l'avez activé, pour changer le mot de passe "root", utilisez la commande suivante :
« sudo passwd root »



Sources :
http://www.pihomeserver.fr/2013/05/06/raspberry-pi-home-server-auto-heberger-son-serveur-demail/
http://www.tropfacile.net/doku.php/raspberry-pi/comment-installer-un-serveur-mail
http://www.cyberciti.biz/tips/postfix-mail-server-limit-the-mailbox-size.html
https://learn.adafruit.com/nokia-5110-3310-lcd-python-library/overview
et d'autres dont je ne souviens plus, désolé ...


   J'aime :) (1)   |   Je n'aime pas :( (0)

    3 commentaires
Commencé le 09/12/2015 à 03:57  

Nom:  
E-Mail:  
Site Web:  

 
Vérification:  
 
Recopiez les lettres/chiffres et donnez le résultat du calcul :
captcha



   Raphael   |   18/03/2016 - 23:31   

Bonjour,
Je cherche une boite comme la votre pour y placer un raspberry.
Pouvez-vous me communiquer des informations sur ce type de boitier ?
Cordialement
Raphaël


   JLR's Blog   |   19/03/2016 - 13:26   

Bonjour,
C\'était celui là : http://www.conrad.fr/ce/fr/product/521264/Boitier-de-table-Bopla-55320000MT6-ABS-gris-clair-l-x-h-x-p-1575-x-622-x-199-mm-1-pcs/SHOP_AREA_14740
Cordialement,
Jean-Louis


   Raphael   |   19/03/2016 - 19:39   

Merci.

 


JLR's Blog   |   Programmation et design: JLR   |   Version 2.0   |   Généré en 0.104 seconde(s)