Réseau - Web - GNU/Linux

2011 13 mai

Gérez à distance les comptes mail de la base de données - Debian 5.0 Lenny

Rédigé par Marc GUILLAUME | Aucun commentaire
Article précédent Mail façon FAI - Debian 5.0 Lenny Article suivant

L'inteface de gestion distante de Christoph Haas, webadmin.

Note du traducteur de décembre 2017 : ISPwebAdmin n'ayant pas été mis à jour pour les nouvelles versions de Debian, les paquets cités en fin de page ne semblent plus disponibles sur le site workaround.org.

ISPwebAdmin (interface web)

J'ai créé (Ndt : Christoph Haas) un simple outil web (cependant son installation n'est pas très simple - vous voudrez bien m'en excuser) pour administrer les domaines, utilisateurs et aliases appellé ISPwebAdmin. D'autres projets intéressants dans ce domaine sont :

Copies d'écrans

Simplement quelques aperçus de l'allure de l'interface de ISPwebAdmin :

Interface de gestion des domaines

Interface de gestion des alias et des utilisateurs

Interface de gestion des alias

Téléchargement

Allez voir la section téléchargements ci-dessous pour trouver les liens de téléchargement.

Instructions d'installation

Authentification des utilisateurs

En plus des tables SQL décrites dans le guide Postfix façon FAI vous devrez créer une table supplémentaire pour stocker les noms d'utilisateurs et les mots de passe des administrateurs qui sont autorisés à gérer les comptes email. Donc lancez cette requête SQL pour créer la table :

 CREATE TABLE IF NOT EXISTS `admins` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(40) NOT NULL,
  `pwhash` varchar(32) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

Créez un utilisateur administrateur qui puisse se connecter à l'interface web. Le champ pwhash contient un hash MD5 du mot de passe pour éviter de les stocker en clair.

Example SQL :

INSERT INTO mailserver.admins (username,pwhash) VALUES ('john', MD5('doe'));
Notez qu'il faudra que vous créiez un utilisateur MySQL qui aie les droits d'écriture sur la base mailserver.

Installation sur le serveur de destination (le serveur de mail)

En tant que root :

aptitude install python-virtualenv
apt-get build-dep python-mysqldb

devenez l'utilisateur vmail :

su -s /bin/bash vmail

Préparez l'application :

cd /var/vmail
mkdir ispwebadmin
cd ispwebadmin
virtualenv .
. bin/activate
easy_install ispwebadmin*.tar.gz
paster make-config ispwebadmin run.ini 

(ceci crée un fichier 'run.ini' qui contient les règlages spécifiques à votre installation - regardez plus bas quels sont les réglages que vous devez adapter à vos besoins)

vi run.ini
paster serve run.ini

Comme solution vite fait et mal fait vous pouvez utiliser cela pour lancer votre application. Mais pour que le service tourne en arrière plan et démarre automatiquement au démarrage du système le fonctionnement en tant que démon est recommandé :

Démarrer automatiquement en utilisant runit (Debian Lenny)

En tant que root :

aptitude install runit
mkdir /etc/sv/ispwebadmin
cd /etc/sv/ispwebadmin

Créez un fichier /etc/sv/ispwebadmin/run contenant :

#!/bin/sh
exec 2>&1
echo 'ISPwebAdmin starting.'
cd /var/vmail/ispwebadmin
sudo -u vmail PYTHON_EGG_CACHE=/var/vmail/ispwebadmin/.python-eggs bin/paster serve run.ini

Rendez le script exécutable :

chmod u+x /etc/sv/ispwebadmin/run

Créez un lien symbolique pour indiquer à runit que vous voulez utiliser ce service :

ln -s /etc/sv/ispwebadmin /etc/service/

Le service devrait démarrer automatiquement :

$> sv status /etc/service/ispwebadmin
run: ispwebadmin: (pid 3335) 0s; run: log: (pid 3326) 4s

Pour l'arrêter :

$> sv stop /etc/service/ispwebadmin
ok: down: ispwebadmin: 1s, normally up

Pour le démarrer :

$> sv start /etc/service/ispwebadmin
ok: run: ispwebadmin: (pid 3956) 1s

Si vous désirez un fichier de log pour ce service vous pouvez créer un fichier /etc/sv/ispwebadmin/log/run contenant :

#!/bin/sh -e
LOG=/var/log/runit-ispwebadmin
test -d "$LOG" || mkdir -p -m2750 "$LOG"
exec svlogd -tt "$LOG"

Vous devriez récupérer ces logs dans le fichier /var/log/runit-ispwebadmin.

Configuration du fichier INI

Le fichier ini que vous avez créé avec "paster make-config something.ini" contient des réglages qui sont spécifiques à l'installation de votre serveur mail. Avant de lancer l'interface web veuillez vérifier ces valeurs :

[server:mai -> host
L'adresse IP sur laquelle écoute le serveur web. On peu utiliser "0.0.0.0" pour utiliser toutes les interfaces.
[server:mai -> port
Le port TCP sur lequel écoute le serveur web.
[app:mai -> ispwebadmin.maildir_location
Le chemin vers le répertoire où les boites mail d'utilisateurs virtuels sont stockées. Si vous avez suivi les indications de ce guide elles devraient être dans /var/vmail.
[app:mai -> ispwebadmin.postmaster
L'adresse mail utilisée pour abuse@ et postmaster@ pour les domaines nouvellement créés. Il faut qu'ils existent pour chaque domaine.
Cette option est optionnelle.
[app:mai -> sqlalchemy.url
La chaîne d'accès indiquant comment accéder à votre base de données. Exemple :
mysql://root:seoroct3@mailserver.example.com/mailserver?charset=utf8
Téléchargements
Fichier Taille
ispwebadmin-1.0.tar.gz 21.34 KB
ispwebadmin-1.0.1.tar.gz 21.38 KB
ispwebadmin-1.0.2.tar.gz 21.38 KB

Écrire un commentaire

Quelle est la première lettre du mot ltlo ?

Fil RSS des commentaires de cet article

À propos

Yakati.info - Réseau - Web - GNU/Linux © 2017

Généré par PluXml en 0.053s  - Administration

Mes coordonnées

Marc Guillaume
contact[at]yakati.info
79150 ÉTUSSON

Crédits

Pour la gestion du contenu

Généré par PluXml, le Blog ou Cms sans base de données

Pour le contenu

Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.

Pour le thème

Thème SOLID de blacktie.co adapté pour PluXml