Réécrire l’adresse mail d’un utilisateur linux via postfix

16 janvier 2017 | Posted in Mail | By

Vous avez peut être déjà eu le cas d’un programme en bash qui envoie des emails via la fonction mail et vous avez défini votre hostname avec un nom spécial pour votre réseau du style serveurHp1

Quand votre utilisateur lance un mail, il y a donc un from du type utilisateur@serveurHp1

Évidemment, beaucoup de serveurs mail vont le refuser !! En effet, il est impossible de résoudre serveurHp1
Alors comment modifier ce mail from ?

Fonction Mail

Si c’est votre script, vous pouvez utiliser la fonction mail en modifiant ses attributs.

export REPLYTO=reponse@mondomaine.com
echo $MonCorpsdeMessage | mail -aFrom:email@mondomaine.com -s 'Sujet' destinataire@email.com

Décryptons :
En premier lieu, on peut définir avec le export une adresse différente pour le reply-to/
Ensuite, on pousse le corps du message via la variable $MonCorpsdeMessage.
L’attribut -a permet de modifier le header et donc l’adresse d’envoi (from).
L’attribut -s permet de spécifier le sujet.
Et enfin, nous mettons l’adresse du destinataire ( à noter que si vous envoyez à plusieurs contacts, il suffit de les séparer par une virgule )
Pour plus d’informations reportez vous au man.
man mail

Mais il arrive que cela ne soit pas vos scripts et que vous ne puissiez pas les modifier, alors voici la deuxième méthode :

Postfix

Il suffit de passer par le generic_maps de postfix

rajouter dans /etc/postfix/main.cf :
smtp_generic_maps = hash:/etc/postfix/generic

Il ne reste plus qu’à relier votre utilisateur à votre email

echo 'www-data email@mondomaine.com' >> /etc/postfix/generic

puis on créé la map et relance postfix

postmap /etc/postfix/generic
/etc/init.d/postfix restart

Voilà, ce n’est pas grand chose, mais pour le suivi de vos crons ou de vos robots cette astuce peut vraiment vous aider.

Read More...

Installation de opush3 pour obm 3.0

19 septembre 2014 | Posted in Mail, OBM | By

Obm 3 utilise opush 3 pour le service activesync. Depuis cette version on doit installer cassandra nous même.

La raison est simple : du faite du multi node de cassandra, vous pouvez avoir cassandra sur un serveur différent que l’opush . Je vais donc vous décrire la procédure pour installer cassandra et opush sur un même serveur.

Pré-requis :

Une vm ou un serveur avec au minimum 2Go de RAM. Nous en mettrons donc 4Go.
Une Debian 7 64bit
La machine est en lan et son ip défini : son ip sera donc 192.168.4.125

Installation :

On commence par modifier notre source.list pour avoir les paquets pour cassandra et obm

# Stable repository with current version 3.0.X:
deb http://deb.obm.org/30/stable obm obm
deb http://deb.obm.org/30/contrib wheezy obm

deb http://deb.obm.org/opush/stable opush opush

deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free

# Cassandra 2.0
deb http://debian.datastax.com/community stable main

On récupère les clés

Si vous êtes from scratch, n’oubliez pas d’installer le paquet curl pour la suite.

wget -q http://deb.obm.org/obmgpg.pub -O - | apt-key add -
curl -L http://debian.datastax.com/debian/repo_key | apt-key add -

On met à jour notre liste de dépôts

apt-get update

Installation d’Oracle JRE

il faut au minium un JRE 1.7.0_25.  A l’heure ou j’écris ce tutorial la version est en 1.8

Allez sur la page :
http://www.oracle.com/technetwork/java/javase/downloads/index.html
et rendez vous sur JRE
Téléchargez la dernière version du JRE et installez la (attention modifiez le lien du Wget, mon AuthParam ne sera pas toujours valable, l’archive fait dans les 60Mo)

Lors de update-alternative, modifiez bien vos chemins en fonction de votre version.


cd /root
wget http://download.oracle.com/otn-pub/java/jdk/8u20-b26/jre-8u20-linux-x64.tar.gz?AuthParam=1410429997_ff1b83c9124dc16140191719bafa747c
mv jre-8u20-linux-x64.tar.gz?AuthParam=1410429997_ff1b83c9124dc16140191719bafa747c jre-8u20-linux-x64.tar.gz
mkdir -p /usr/lib/jvm
tar xvfz jre-8u20-linux-x64.tar.gz -C /usr/lib/jvm
update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.8.0_20/bin/java" 1
update-alternatives --set java /usr/lib/jvm/jre1.8.0_20/bin/java

Il nous reste plus qu’à définir la variable JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/jre1.8.0_20

puis vérifier le tout

java -version

résultat :


java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)

Afin de le rendre permanent modifier le fichier /etc/profile et coller le export vu au-dessus

Installation de JNA

on installe le paquet

apt-get install libjna-java

Installation de cassandra 2.0

apt-get install dsc20

Configuration de cassandra

Il faut commencer avant tout par supprimer la configuration de base installée avec le paquet debian.

/etc/init.d/cassandra stop
rm -rf /var/lib/cassandra/data/system/*

On peut configurer cassandra en single node ou en multi-node.
Dans ce tutorial, je traiterai que le cas du single node.
Éditez le fichier /etc/cassandra/cassandra.yaml et modifiez les valeurs dans le fichier comme ci-dessous

...
cluster_name: 'MyOpushCluster'
...
seed_provider:
    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
      parameters:
          - seeds: "127.0.0.1"
...
rpc_address: 192.168.4.125
....
authenticator: PasswordAuthenticator

redémarrer cassandra

/etc/init.d/cassandra start

On se connecte maintenant à cassandra.

cqlsh -u cassandra -p cassandra 192.168.4.125

et on créé le keyspace et l’utilisateur  ayant accès pour opush.

CREATE KEYSPACE opush WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 1}; USE opush; CREATE USER opush_user WITH PASSWORD 'opush_password' SUPERUSER;

Installation de Opush

Notez que pour répondre aux questions de l’installeur :
Pour les seed étant en single node: votre ip
Pour le keyspace : opush comme créé si dessus
Utilisateur opush : opush_user
Mot de passe de l’utilisateur : opush_password

apt-get install opush obm-munin-node

Configuration de Opush

C’est là que j’ai eu ma grosse surprise… Je ne peux l’expliquer, mais les fichiers de conf de opush étaient tout simplement incomplets ou inexistants. Donc nous allons vérifier chaque fichier et leur contenu.

Voilà les fichiers et les explications pour les remplir.
/etc/opush/opush.ini


#
# Locator & Database URL
#
host= **** ip du serveur ou se situe la base de donnée *****

#
# Database section
#

# DB type MYSQL, PGSQL
dbtype= *** Quel type de base de donnée utilisé MYSQL ou PGSQL *****

# Database name
db= **** nom de la base de donnée ****

# DB user
user= **** utilisateur de la base de donnée ****

# DB user password
password= *** mot de passe de l utilisateur ****

# OBM external URL
external-url= *** url d acces a votre interface d administration Obm *****

#
# Transaction timeout section
#

# Transaction timeout
transaction-timeout=1

# Transaction timeout unit (milliseconds, seconds, minutes, hours)
transaction-timeout-unit=minutes

/etc/opush/ldap_conf.ini


search.ldap.filter=(&(objectClass=inetOrgPerson) (|(mail=%q*)(sn=%q*)(givenName=%q*)))
search.ldap.url=*** ip du serveur ldap exemple : search.ldap.url=ldap://127.0.0.1 ****
search.ldap.basedn=dc=%d,dc=local

/etc/opush/cassandra.ini


cassandra.seeds=*** ip de votre serveur opush ****
cassandra.keyspace=opush
cassandra.user=*** utilisateur creer pour cassandra pour le keyspace opush
cassandra.password=*** mot de pase de l utilisateur cassandra***

Initialisation du schéma de cassandra

Si vous regardez le fichier de log de opush /var/log/opush/opush.log vous verrez ce message d’erreur :

[ERROR] {CONTAINER} [t/c/r/] Cassandra schema not installed, starting administration services only

Pour faire cela on doit utiliser CRaSH

Présentation de CRaSH

CRaSH est un shell permettant d’administrer le serveur Opush.

Configuration de CRaSH

La configuration de CRaSH se fait dans le fichier /etc/opush/remote_console.ini


# Default parameters
# uncomment lines and modify values to change default settings
#
console.enable = true
console.ssh.port = 5665
console.authentication.domain = global.virt

console.ssh.port permet de définir le port de connexion en ssh pour accéder à la console
console.authentication.domain permet de définir le domaine dans opush dont l’administrateur aura le droit de se connecter à CRaSH

Configuration de l’utilisateur ayant le droit d’administration de CRaSH dans OBM

Connectez vous sur votre interface Obm sur le global.virt avec l’utilisateur admin0.
Rendez vous dans Administration>Profil utilisateur
Recherchez admin et modifiez le profil

Dans Réglages Spécifiques cochez Administration et validez les modifications.

Connexion a CRaSH

Sur le serveur opush connectez vous comme suit à crash :

ssh -p 5665 admin0@127.0.0.1

Le mot de passe étant celui de votre utilisateur admin0 dans Obm

Installation du schema

Dans la console CRaSH :

schema install

Voila c est fait!

Autres commandes :

schema status # pour l etat
schema update # pour la mise a jour
dashbord # un equivalent de htop

il ne reste plus qu’à redémarrer opush

/etc/init.d/opush restart

Read More...

Lutter contre le Spam avec un SPF

30 mars 2014 | Posted in Mail | By

Il existe de nombreuses façons de lutter contre le spam. Voici une méthode qui permet de vous protéger contre l’usurpation de nom de domaine. Pour cela nous allons très simplement créer un enregistrement SPF (Sender Policy Framework ) dans vos DNS.

Définition

Le SPF est un type d’enregistrement DNS qui détermine les serveurs de messagerie autorisés à envoyer des messages au nom de votre domaine.

Création du SPF

En premier lieu allez sur cette page : http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard

Sur le premier écran entrez votre nom de domaine puis next

spf_etape1

Sur le deuxième écran vous avez un récapitulatif de la vérification du domaine, faites next

spf_etape2

Nous allons maintenant créer le spf, je vais détailler section par section

Domain Not Used for Sending E-Mail

spf_etape3_1

Cochez cette case si votre domaine n envoie jamais de mail

Inbound Mail Servers Send Outbound Mail

spf_etape3_2

Cochez la liste de vos mx déclarés , en dessous vous avez un champs permettant de rajouter d’autres serveur mx non déclarés dans vos dns

Outbound Mail Server Addresses

spf_etape3_3

Pour ne pas avoir à mettre tous mes serveurs reliés à ce nom de domaine, je coche uniquement la première case vu que j’ai bien tout défini dans mon serveur dns
Dans la dernière case, vous pouvez ajouter les alias à votre nom de domaine principal.

 

Reverse DNS Lookup

spf_etape3_4

Si vous avez la possibilité de faire du reverse dns, chose toujours bonne mais pas toujours faisable pour plusieurs domaines sur une ip.

Outsourced Domains

spf_etape3_5

Si vous avez d’autres serveurs smtp comme mailchimp par exemple, qui envoie des mails en votre nom, c’est ici que vous les insérez.

Default

spf_etape3_6

Étant sûr de moi ,à la première question, j’ai répondu que mon domaine envoyait bien des mails que par les adresses identifiées au dessus.

Faites enfin next pour générer votre enregistrement spf

spf_etape4

Copiez le résultat.

Rendez vous dans la gestion de votre zone dns là oû est enregistré votre nom de domaine et collez dedans :

IN TXT v=spf1 a mx:mail.admin-systeme.com a:mail.admin-systeme.com  -all

Voila votre spf est en place. Il n’y a plus qu’a le tester après que la propagation dns soit effectuée.

Ci dessous un lien pour ce qui voudrait apprendre la syntaxe complète de SPF

http://www.zytrax.com/books/dns/ch9/spf.html

Read More...

Installation de OBM 2.5.6 sous debian wheezy 7.4 64Bits

11 mars 2014 | Posted in Mail, OBM | By

Préambule

Tout d abord il faut bien comprendre qu’à l’heure où j écris ce tutorial, Linagora ne supporte pas debian wheezy !!! Obm n’est disponible que pour les versions squeeze et lenny… Ce qui en terme de mise à jour, commence à devenir problématique puisque lenny n’est plus suivi depuis février 2012 et que squeeze est old version.

Pas grand chose ne change par rapport au tutorial que j avais déjà écrit :  Installation Obm 2.5.5 sur une debian squeeze 64Bits.  Le principal problème étant le paquet obm-jdk qui dépend du paquet sun-java6-jdk non disponible sous wheezy. Voyons comment résoudre tout ca.

La machine

L installation et la procédure décrite ici ce font sur :
Un vm ayant 2 coeur, 4Go de Ram et 50Go de Disque dur.
Installation faite depuis une installation netinstall 7.4.0
http://cdimage.debian.org/cdimage/release/7.4.0/amd64/iso-cd/debian-7.4.0-amd64-netinst.iso

Configurer vos dns

Creez un sous-domaine de type A qui pointe sur l ip de votre serveur

par exemple : mail.nomdedomaine.com
Puis modifiez le mx pour qu il aille sur ce sous domaine.

Installation de la debian

Lancez l installation.
Il faut que le nom de la machine soit mail (comme le sous domaine) et que vous mettiez votre nom de domaine dans domaine.

Au niveau des paquets a installer, ne prenez que le paquet serveur ssh et utilitaire standard du système.

Installation d’obm

on commence par mettre a jour ou cas ou.

apt-get update

On supprime des paquets qui génére des problemes

apt-get remove exim4 exim4-config

On edite le fichier sources.liste

vi /etc/apt/sources.list

on efface tout et vous collez ca

# depot pour le sun-java6-jdk
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

# Stable repository with current version 2.5.X:
deb http://deb.obm.org/25/stable obm obm
deb http://deb.obm.org/25/contrib squeeze obm

deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free
deb http://deb.obm.org/25/contrib squeeze obm

Puis il faut protéger votre système en mettant le dépôt squeeze avec une priorité basse pour ne pas être pris en compte

vim /etc/apt/preferences.d/00squeeze

et copiez ceci dedans

Package: *
Pin: release n=squeeze
Pin-Priority: 100

ceci fait on peut commencer a installer ce qu’il nous faut.

aptitude install perl

et on installe le serveur mysql

apt-get install mysql-server

On ajoute la clé obm

wget -q  http://deb.obm.org/obmgpg.pub -O - | apt-key  add -

on met a jour

apt-get update

on installe le paquet php5-mysql

apt-get install php5-mysql

puis on lance l installation d obm
Première étape installé le obm-jdk via le depot de squeeze

apt-get install -t squeeze obm-jdk

puis on lance l installation complète

apt-get install obm-full

Répondre aux questions

ATTENTION : Beaucoup de mot de passe sont en clair, n utilisez pas le meme mot de passe que le compte root de la machine

Dans l ordre

  1. external url => mail.mondomain.com
  2. ip adress ldap faite direct ok on laisse tout sur le meme serveur
  3. Type de database => MYSQL
  4. ip de la database pareil que pour 2, ok direct
  5. nom de la base on fait ok direct
  6. utilisateur de la base ok sans rien changer
  7. definissez un mot de passe
  8. munin, ok sans rien changer
  9. definisser le mot de passe ldap
  10. configuration de cyrus-common => oui
  11. postfix configuration => Site internet
  12. nom du serveur de courrier => mail.mondomain.com
  13. Ok direct sauf si vous avez un proxy
  14. utiliser les regle de spamassin => oui
  15. obm prend la main sur apache => oui
  16. ip du tomcat direct ok on est en local
  17. pareil pour ip opush ok
  18. accepter la licence pour java
  19. configuration obm-storage => oui
  20. entrez le mot de passe root mysql

On verifie deux choses.

Éditez le fichier /etc/default/jetty
et vérifier que vous avez bien : NO_START=0

éditez le fichier /etc/default/saslauthd
et vérifier que vous avez bien : START=yes

Débugger munin

L installation de munin a quelque souci nous allons les regler
on edite le fichier de configuration d apache de munin.

vi /etc/apache2/conf.d/munin

Modifier le : Allow from localhost 127.0.0.0/8 ::1
Par : Allow from all

puis rajoutez la ligne : DirectoryIndex index.html

Alors a la base le munin est accessible via l adresse http://mail.mondomaine.com/stats
Dans la configuration obm, mais cela est mal fait, en effet le dossier qu il pointe dans le /var/www n existe pas.
Munin est ailleurs on va donc faire un lien symbolique pour retablir tout ca

cd /var/www && ln -s /var/cache/munin/www munin

Il est maintenant accessible a l ‘adresse : http://mail.mondomaine.com/munin

Installation du webmail

Il existe un lien dans l interface d obm pour un webmail, mais ce dernier est pas installé.
Nous allons le faire avec un roundcube

On commence par installer une dependance.

apt-get install php5 php5-mcrypt php5-curl php5-dev php5-cli php5-ldap php5-intl
apt-get install phpmyadmin

Connectez vous sur le phpmyadmin, afin de creer facilement une base de donnée pour roundcube avec un utilisateur et un mot de passe. Le phmyadmin c est pas du superflu ca vous aidera si vous devez par la suite checker le sql d obm.

Puis

cd /var/www
wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.9.5/roundcubemail-0.9.5.tar.gz
tar xvfz roundcubemail-0.9.5.tar.gz
rm roundcubemail-0.9.5.tar.gz
ln -s roundcubemail-0.9.5 webmail
cd webmail
chmod 777 temp
chmod 777 logs
cd plugins
wget http://www.obm.org/roundcube-addressbook-plugin/stable/obm_addressbook-1.0.0.tgz
tar xvfz obm_addressbook-1.0.0.tgz
rm obm_addressbook-1.0.0.tgz
cd obm_addressbook
mv config.inc.php.dist config.inc.php
cd /var/www
chown -R www-data:www-data webmail

on modifie maintenant la configuration de php.ini et d apache.

vi /etc/php5/apache2/php.ini

remplacez

;date.timezone =

par

date.timezone = Europe/Paris

On edite le fichier apache de configuration de obm

vi /etc/apache2/sites-available/obm.conf

on rajoute en dessous de

Alias /stats /var/www/munin

Alias /webmail /var/www/webmail
<Directory /var/www/webmail>
Options +Indexes Includes FollowSymlinks
Order Allow,Deny
Allow from All
#        PerlHeaderParserHandler My::Package->unprotect
DirectoryIndex index.pl index.php
</Directory>

On redemarrer apache

/etc/init.d/apache2 restart

On fini l installation du webmail en suivant les indications de l installer en se rendant a l adresse :
http://mail.mondomaine.com/webmail/installer/

Enfin editez le fichier config de roundcube pour activer le plugins

vi /var/www/webmail/config/main.inc.php

et rajoutez dans la section plugins

$rcmail_config['plugins'] = array('obm_addressbook');

Voila vous avez une installation faite. On peut bien sur l ameliorer mais cela sera dans les prochains tutos.

Pour finir j ai rebooté le serveur.

 

Comment debbuger

Comme on est jamais a l abri d une erreur, voici quelque info pour debbuger

Obm embarque avec lui un outils de check

https://mail.mondomaine.com/healthcheck/

le fichier error log de obm pour apache ce trouve la :

vi /var/log/apache2/obm-error.log

Verifier vos mx

nslookup
set q=mx
mondomaine.com

Envoyez un mail en telnet

telnet mail.mondomaine.com 25
ehlo domainetest.com
mail from: test@domainetest.com
rcpt to: email@mondomaine.com
data
tape ton texte du mail
.

pour sortir de l écriture du texte de mail faite entrée puis . puis entrée

verifier vos log mails

vi /var/log/mail.info

Conclusion

Regardons le paquet postfix sur une installation squeeze et une installation wheezy

squeeze :

postfix:
Installé : 2.7.1-1+squeeze1
Candidat : 2.7.1-1+squeeze1
Table de version :
*** 2.7.1-1+squeeze1 0
500 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages
500 http://security.debian.org/ squeeze/updates/main amd64 Packages
100 /var/lib/dpkg/status

wheezy:

postfix:
Installé : 2.9.6-2
Candidat : 2.9.6-2
Table de version :
*** 2.9.6-2 0
500 http://ftp.fr.debian.org/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status
2.7.1-1+squeeze1 0
100 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages

On voit bien que l’installation a bien pris en compte les dépôts de wheezy

 

 

Read More...

Migration boite email de serveur à serveur

27 décembre 2013 | Posted in Mail, planet-libre | By

Lorsque l’on doit procéder au changement de serveur, il se pose toujours la question de la migration des données. Et cela devient encore plus problématique pour un serveur mail. En effet la récuperation des mails ne marche pas avec une simple copie. Pour récupérer les mails il y a une solution que j ai découvert récemment lors de migration d un serveur utilisant qmail vers un serveur sous postfix. Cette solution est gratuite c est imapcopy.

ImapCopy

Déja premier point plus qu intéressant, il n est pas obligatoire d installer imapcopy sur un des deux serveurs. Vous pouvez le mettre sur votre poste. Je l ai donc installer sur ma debian, puisqu’il est disponible sur wheezy en version 1.04-1 qui est somme toutes la dernière. Le projet n a plus évolué depuis 2010 si je dis pas de bêtises.

Installation

J installe en même temps screen, vous verrez pourquoi plus loin.

apt-get install imapcopy screen

Utilisation

Son utilisation est très simple.
Créez un répertoire ou bon vous semble.

mkdir -p /root/transfertimap

Dans ce dossier nous allons creer un fichier de configuration nommé imapcopy.cfg

et le remplir avec ceci

SourceServer XXX.XXX.XXX.XXX
SourcePort 143
DestServer YYY.YYY.YYY.YYY
DestPort 143
# SourceUser SourcePassword DestinationUser DestinationPassword
Copy "user@domaine.com" "motdepasse" ""user@domaine.com" "motdepasse"
Copy "user2@domaine.com" "motdepasse" ""user2@domaine.com" "motdepasse"

Évidemment pour que cela marche il faut que les comptes mails soient déjà paramétrés sur le nouveau serveur et que vous possédiez l ensemble des mot de passe. Enfin soyons réaliste si l ancien serveur n est plus opérationnel vous pouvez réinitialiser les mots de passes à votre guise.

et pour le lancer, très simplement vous pouvez le lancez comme ca :

cd /root/transfertimap && imapcopy

Mais au vu du temps que cela prend je vous conseille de screener le tout :

cd /root/transfertimap
screen -dmS transfertencours -L imapcopy

pour voir ou ca en est :

screen -r transfertencours 

Nota Bene : Pour sortir du screen faite CTRL+A+D

Régler le probleme d une authentification uniquement SSL

Pour cela on aura besoin d’un autre petit soft qui est stunnel et se faire un bon tunnel ssh de derrière les fagots

apt-get install stunnel

On va maintenant créer nos tunnels. Alors certain ouvre un autre terminal je préfère encore screener le tout. On est jamais à l abri de la fermeture intenpestive d une console qui stopperait tout le processus.

screen -dmS ecran1 -L stunnel -c -f -d 3100 -r XXX.XXX.XXX.XXX -P ''
screen -dmS ecran2 -L stunnel -c -f -d 3200 -r YYY.YYY.YYY.YYY -P ''

On modifie maintenant notre fichier de config en :

SourceServer 127.0.0.1
SourcePort 3100
DestServer 127.0.0.1
DestPort 3200
# SourceUser SourcePassword DestinationUser DestinationPassword
Copy "user@domaine.com" "motdepasse" ""user@domaine.com" "motdepasse"
Copy "user2@domaine.com" "motdepasse" ""user2@domaine.com" "motdepasse"

Pour tester :

imapcopy -t

Conclusion

Imapcopy est vraiment un petit soft génial. Néanmoins cela prend du temps de transférer les fichiers. Si vous avez beaucoup de données le mieux est d avoir un serveur d administration sous debian ou vous allez faire n dossiers de transfert avec donc n configurations, vous pourrez alors grâce à screen lancer plusieurs copie en meme temps. Seul l accés disque et votre bande passante seront alors des freins. Vous récupérerez ainsi l’ensemble de vos emails ainsi que l arborescence de la boite mail. Il ne vous restera plus qu a réactivé les dossiers via rondcube par exemple. Je cherche maintenant une façon aussi easy de pouvoir transférer les carnets d adresses de chaque user et les règles de filtrages. Mais la c est une autre histoire…

 

 

 

Read More...

Installation Obm 2.5.5 sur une debian squeeze 64Bits

5 décembre 2013 | Posted in Mail | By

Introduction

Obm est une solution de messagerie collaborative open source, sauf le connecteur outlook.Je fais ce tuto car la documentation d obm est blindé d erreurs, et j ai coulé un nombre d heures impressionnantes avant de mettre en place une procédure d installation sans souci ainsi que quelques retouches pour éviter certain bug.

Préambule.

La machine

L installation et la procédure décrite ici ce font sur :
Un vm ayant 2 coeur, 4Go de Ram et 50Go de Disque dur.
Installation faite depuis une installation netinstall 6.0.8
http://cdimage.debian.org/cdimage/archive/6.0.8/amd64/iso-cd/debian-6.0.8-amd64-netinst.iso

Configurer vos dns

Creez un sous-domaine de type A qui pointe sur l ip de votre serveur

par exemple : mail.nomdedomaine.com
Puis modifiez le mx pour qu il aille sur ce sous domaine.

Installation de la debian

Lancez l installation.
Il faut que le nom de la machine soit mail (comme le sous domaine) et que vous mettiez votre nom de domaine dans domaine.

Au niveau des paquets a installer, ne prenez que le paquet serveur ssh et utilitaire standard du système.

Installation d’obm

on commence par mettre a jour ou cas ou.

apt-get update

On supprime des paquets qui génére des problemes

apt-get remove exim4 exim4-config

On edite le fichier sources.liste

vi /etc/apt/sources.list

on efface tout et vous collez ca

deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free

# Stable repository with current version 2.5.X:
deb http://deb.obm.org/25/stable obm obm
deb http://deb.obm.org/25/contrib squeeze obm

Puis

aptitude install perl

et on installe le serveur mysql

apt-get install mysql-server

On ajoute la clé obm

wget -q  http://deb.obm.org/obmgpg.pub -O - | apt-key  add -

on met a jour

apt-get update

on installe le paquet php5-mysql

apt-get install php5-mysql

puis on lance l installation d obm

apt-get install obm-full

Répondre aux questions

ATTENTION : Beaucoup de mot de passe sont en clair, n utilisez pas le meme mot de passe que le compte root de la machine

Dans l ordre

  1. external url => mail.mondomain.com
  2. ip adress ldap faite direct ok on laisse tout sur le meme serveur
  3. Type de database => MYSQL
  4. ip de la database pareil que pour 2, ok direct
  5. nom de la base on fait ok direct
  6. utilisateur de la base ok sans rien changer
  7. definissez un mot de passe
  8. munin, ok sans rien changer
  9. definisser le mot de passe ldap
  10. configuration de cyrus-common => oui
  11. postfix configuration => Site internet
  12. nom du serveur de courrier => mail.mondomain.com
  13. Ok direct sauf si vous avez un proxy
  14. utiliser les regle de spamassin => oui
  15. obm prend la main sur apache => oui
  16. ip du tomcat direct ok on est en local
  17. pareil pour ip opush ok
  18. accepter la licence pour java
  19. configuration obm-storage => oui
  20. entrez le mot de passe root mysql

On verifie deux choses.

Éditez le fichier /etc/default/jetty
et vérifier que vous avez bien : NO_START=0

éditez le fichier /etc/default/saslauthd
et vérifier que vous avez bien : START=yes

Débugger munin

L installation de munin a quelque souci nous allons les regler
on edite le fichier de configuration d apache de munin.

vi /etc/apache2/conf.d/munin

Modifier le : Allow from localhost 127.0.0.0/8 ::1
Par : Allow from all

puis rajoutez la ligne : DirectoryIndex index.html

Alors a la base le munin est accessible via l adresse http://mail.mondomaine.com/stats
Dans la configuration obm, mais cela est mal fait, en effet le dossier qu il pointe dans le /var/www n existe pas.
Munin est ailleurs on va donc faire un lien symbolique pour retablir tout ca

cd /var/www && ln -s /var/cache/munin/www munin

Il est maintenant accessible a l ‘adresse : http://mail.mondomaine.com/munin

Installation du webmail

Il existe un lien dans l interface d obm pour un webmail, mais ce dernier est pas installé.
Nous allons le faire avec un roundcube

On commence par installer une dependance.

apt-get install php5 php5-mcrypt php5-curl php5-dev php5-cli php5-ldap php5-intl
apt-get install phpmyadmin

Connectez vous sur le phpmyadmin, afin de creer facilement une base de donnée pour roundcube avec un utilisateur et un mot de passe. Le phmyadmin c est pas du superflu ca vous aidera si vous devez par la suite checker le sql d obm.

Puis

cd /var/www
wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.9.5/roundcubemail-0.9.5.tar.gz
tar xvfz roundcubemail-0.9.5.tar.gz
rm roundcubemail-0.9.5.tar.gz
ln -s roundcubemail-0.9.5 webmail
cd webmail
chmod 777 temp
chmod 777 logs
cd plugins
wget http://www.obm.org/roundcube-addressbook-plugin/stable/obm_addressbook-1.0.0.tgz
tar xvfz obm_addressbook-1.0.0.tgz
rm obm_addressbook-1.0.0.tgz
cd obm_addressbook
mv config.inc.php.dist config.inc.php
cd /var/www
chown -R www-data:www-data webmail

on modifie maintenant la configuration de php.ini et d apache.

vi /etc/php5/apache2/php.ini

remplacez

;date.timezone =

par

date.timezone = Europe/Paris

On edite le fichier apache de configuration de obm

vi /etc/apache2/sites-available/obm.conf

on rajoute en dessous de

Alias /stats /var/www/munin

Alias /webmail /var/www/webmail
<Directory /var/www/webmail>
Options +Indexes Includes FollowSymlinks
Order Allow,Deny
Allow from All
#        PerlHeaderParserHandler My::Package->unprotect
DirectoryIndex index.pl index.php
</Directory>

On redemarrer apache

/etc/init.d/apache2 restart

On fini l installation du webmail en suivant les indications de l installer en se rendant a l adresse :
http://mail.mondomaine.com/webmail/installer/

Enfin editez le fichier config de roundcube pour activer le plugins

vi /var/www/webmail/config/main.inc.php

et rajoutez dans la section plugins

$rcmail_config['plugins'] = array('obm_addressbook');

Voila vous avez une installation faite. On peut bien sur l ameliorer mais cela sera dans les prochains tutos.

Pour finir j ai rebooté le serveur.

 

Comment debbuger

Comme on est jamais a l abri d une erreur, voici quelque info pour debbuger

Obm embarque avec lui un outils de check

https://mail.mondomaine.com/healthcheck/

le fichier error log de obm pour apache ce trouve la :

vi /var/log/apache2/obm-error.log

Verifier vos mx

nslookup
set q=mx
mondomaine.com

Envoyez un mail en telnet

telnet mail.mondomaine.com 25
ehlo domainetest.com
mail from: test@domainetest.com
rcpt to: email@mondomaine.com
data
tape ton texte du mail
.

pour sortir de l écriture du texte de mail faite entrée puis . puis entrée

verifier vos log mails

vi /var/log/mail.info

Read More...