Open Mail Archive , OMA pour les intimes, est une solution d'archivage de messagerie d'entreprise.
L'ensemble des mails transitants par les serveurs de messagerie sont sauvegardés et stockés.
L'opération s'effectuant par le serveur de messagerie il devient alors inutile de déployer des solutions pour sauvegarder les boites de réceptions ou d'envois des postes clients, ce qui permet de supporter tout types de postes clients.
L'architecture d'Open Mail Archive est basée sur un serveur central qui capture l'ensemble du traffic SMTP ( sortant et entrant) des serveurs de messagerie locaux.
Le traffic SMTP est dupliqué, puis analysé par le serveur d'archivage.
Les entêtes des emails sont stockés dans la base de données et les mails dans l'arborescence disque.
Pour chaque entête de mail stocké dans la database , un pointeur désigant le fichier sur disque, est renseigné.
Une interface web est fournie pour administrer l'ensemble des opérations.
OMA s'intercale dans le flux SMTP sans en altérer l'intégrité, il travaille exclusivement sur le flux dupliqué, ce qui permet de garantir l'integrité des mails.
Il est possible d'automatiser les opérations de sauvegarde , d'adjoindre lors de l'archivage les fichiers logs des MTA correspondants aux mails archivés.
Les médias générés par OMA sont complétement autonomes, en plus des copies des mails ils comprennent un dump de la base de données correspondant aux mails présents, ce qui permet, à partir des médias, de reconstituer l'ensemble de la solution.
SMTP est un standard dans le domaine de la messagerie.
OMA est complétement compatible avec les serveurs de messagerie tels que Sendmail,Openmail,Groupwise,MS Exchange,Qmail...
La nouvelle version d'OMA devient multi-utilisateur avec un mécanisme d'authentification sur simple fichier texte ou bien encore sur un annuaire LDAP ou Active Directory.
Pour des raisons de perfomance, il est recomandé d'utiliser un serveur dédié cependant il est tout à fait possible d'installer OMA directement sur le serveur de messagerie.
OMA est actuellement supporté sur les plateformes unix disposant de:
- Apache2
- PHP 5
- Mysql 4.0 ou Postgresql
- Postfix
Note:
OMA fournis son propre MTA , c'est à dire que Maildrop, Procmail ... ne sont pas utilisés par ce dernier.
The goal of this document is to guide you through the installation and configuration steps of Open Mail Archive (OMA)
This guide is adapted to OMA release 2.5.
Requirements
============
In order to operate an OMA system you will need the following software on your system:
- Postfix
- MySQL > 4.0
- APACHE > 2.0
- PHP > 5.2.0 (module apache + php-cli extensions mysql + sockets + php-ldap if authent with ldap + mb_string)
- m4 (used by the installation script)
- mailparse extension (#pecl install mailparse)
- formail (#apt-get install procmail)
- rsync
Installation
============
1/ Download OMA (Open Mail Archive)
-----------------------------------
You can always find the latest version of OMA
2/ Run the installation script
---------------------------
-Extract the content of the archive
root@linux:/usr/src# tar zxvf oma-X.Y.Z.tar.gz
root@linux:/usr/src# cd oma-X.Y.Z
-Run the installation script as root
root@linux:/usr/src/oma-2.0.1# ./install.sh
Please enter installation directory ? (/usr/local/oma):
Please enter web directory for oma web interface ? (/var/www/oma):
Please enter oma data directory ? (/oma_data):
Please specify your OMA root web url ? (http://localhost/oma):
Please specify your mysql server ? (localhost):
Please enter apache process user? (www-data):
[Create oma user]
user oma created
[Mysql configuration]
Please enter root password for mysql ?Enter password:
[Copy files]
Create directory /usr/local/oma
Create directory /oma_data
Create directory /oma_data/mails
Create directory /oma_data/logs
Create directory /oma_data/tmp
Install oma in /usr/local/oma
copying directory etc
copying directory lib
copying directory bin
copying web interfaces in directory /var/www/oma
[Clean all m4 files]
[Set user permissions]
3/ Edit configuration file
--------------------------
Next, edit the configuration file and adjust the configuration parameters.
The configuration file is located in your installation directory "/usr/local/oma/etc/oma.conf". Its syntax is the same as the one used in a php.ini file, and it has been preconfigured for you by the installation script.
4/ Check mail insertion
-----------------------
At this point it is possible to verify that mails get inserted correctly in the database.
!!! WARNING: do not run this script as root !!!:
!!! WARNING : if you didn't configured yet your postfix, you must set postfix_smtp_after_relay = false in /usr/local/oma/etc/oma.conf
root@linux:/usr/src/oma-2.0.1# su oma
$cat misc/mail_test | /usr/local/oma/bin/oma_filter.php userfrom@email.tld userto@email.tld
$tail /oma_data/logs/_mail_delivery.log
29/08/2007 11:50 [INFO] Write file /oma_data/mails//200708d/o200708291188381014750457_mail
29/08/2007 11:50 [INFO] Inserting new message from (userfrom@email.tld),
ID:0aa80fa5341e8ccac6165fa64f33a56093c4eb5b9794941ac3709def5df90f0b
Postfix configuration
=====================
1/ OMA daemon before filter
---------------------------
Add "oma_filter" as a postfix filter by adding the following line to "/etc/postfix/master.cf" (be carefull with white spaces before "flags") :
oma_filter unix - n n - 1 pipe
flags=Rhu user=oma argv=/usr/local/oma/bin/oma_filter.php $ $
2/ SMTP post filter
-------------------
Add a second SMTP in postfix configuration "/etc/postfix/master.cf" by adding these lines :
127.0.0.1:10027 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
3/ Before filter definition
---------------------------
Edit "/etc/postfix/main.cf" and add this line :
content_filter = oma_filter
3/ Postfix restart
------------------
Restart postfix : sudo /etc/init.d/postfix reload
4/ Test postfix
---------------
It is now possible to verify that postfix is configured correctly by sending an email to the MTA. For example using telnet:
$telnet localhost 25
>helo host.mydomain
>mail from: user@mydomain
>rcpt to: user2@mydomain
>data
>From: user@mydomain
>To: user2@mydomain
>Subject: test
>Test mail
>.
The test is successfull if your "/oma_data/logs/_mail_delivery.log" contains a line similar to the following:
29/08/2007 16:20 [INFO] Write file /oma_data/mails//200708d/o20070829118839721217007_mail
29/08/2007 16:20 [INFO] Inserting new message from (user@mydomain),
ID:0aa80fa5341e8ccac6165fa64f33a56093c4eb5b9794941ac3709def5df90f0b
In case of failure check the postfix logs or /var/log/syslog.
Configuring authentication
==========================
OMA can be configured to use either the password_file or password_ldap authentication plugins . This is done by changing the value of "auth_plugin" in OMA's configuration file (/usr/local/oma/etc/oma.conf)
auth_plugin= "password_file" ; authenticate against a plain text password file
auth_plugin= "ldap" ; authenticate using AD or LDAP
By default the "password_file" authentication plugin is used and during the installation, a user "admin" with password "admin" is created
A/ Text file based authentication
---------------------------------
The password file is in "/var/www/oma" and has the following structure
username:0|1:md5 crypted password
for example:
username@domain.tld:1:764b9c698569b4e77fd69db363fef414
The user is an administrator if the number between the two colons is 1.
You can generate a new password line useing the "oma_passline" command that is installed in "/usr/local/oma/bin/".
for example:
root@linux:/usr/local/oma/bin# ./oma_passline.php username@domain.tld mypassword 1
username@domain.tld:1:764b9c698569b4e77fd69db363fef414
B/ LDAP/Active directory based authentication
---------------------------------------------
LDAP configuration is done in "/usr/local/oma/lib/plugin/auth/ldap/ldap.conf".
Apache configuration
====================
The ideal solution is to create a virtual host:
ServerAdmin admin@yourdomain
ServerName oma.yourdomain
DocumentRoot /var/www/oma
Options Indexes FollowSymLinks
AllowOverride all
Order allow,deny
allow from all
You will of course need to add an entry in your dns for oma.yourdomain.
Installing and configuring the daemon
=====================================
1/ Edit "/usr/local/oma/etc/oma.conf" and adjust the parameters
---------------------------------------------------------------
2/ Install the startup script
-----------------------------
- debian/ubuntu :
/usr/src/oma-X.Y.Z/misc# sudo cp oma_startscript.debian /etc/init.d/oma
edit /etc/init.d/oma and update the value of "BASE_OMA_DIR" .
-redhat/fedora :
use "oma_startscript.fedora" instead
3/ Configure sudoers
--------------------
sudo is used to permit the web interfaces to lauch the OMA daemon.
Add the following line to "/etc/sudoers":
www-data ALL=NOPASSWD:/etc/init.d/oma
Troubleshootings :
==================
"postfix pipe command output permission denied" in your mail log
- edit /etc/selinux/config :
SELINUX=permissive
- restart computer
"sorry, you must have a tty to run sudo ; TTY=unknown" in your secure log
- edit /etc/sudoers and comment :
#Defaults requiretty
Bugs or known issues
====================
Report bugs or issues to http://www.octant.org
Authentification
Lancer un navigateur sur http://oma_server , vous devriez arriver sur la page d'authentification.


Identifiez vous avec votre adresse email et le mot de passe que l'on vous a fournis.
Si vos identifiants sont corrects, vous devriez arriver sur le formulaire de consultation.
Consultation
Dans un premier temps, il vous faut sélectionner si vous souhaitez rechercher dans vos mails envoyés ou reçus


Ensuite vous pouvez affiner votre sélection en fonction des différents critères
- Expediteur: Entrez tout ou une partie du nom de l'expediteur: eg support , ou support@octant-fr.com
- Destinatire: Entrez tout ou une partie du destinataire
- Sujet:Un mot dans le sujet
- Date: Précisez un intervalle de date ou encore une seule date pour rechercher sur cette journée , format valide (dd/mm/aaaa , dd-mm-aaaa)
- Taille
Une fois les critères précisés cliquez sur "Rechercher" , le système vous affiche alors la liste des mails correspondants.


Restauration
La restauration s'effectue en 4 étapes.
1) Rechercher les mails à restaurer à partir du formulaire:


2) Cocher les mails que vous souhaitez restaurer


3) Lancer la restauration
les mails sélectionnés vous seront envoyés sur votre adresse mail.


Une fois la restauration terminée , le système vous affiche un compte rendu.
Il est alors primordial de libérer le serveur en cliquant sur "continuer".
4) Une fois la restauration terminée , libérez le serveur en cliquant sur "continuer"