Gérez à distance les comptes mail de la base de données - Debian 5.0 Lenny
Rédigé par Marc GUILLAUME | Aucun commentaireL'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 :
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
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 |