Les Allergies
Alimentaires
Posez votre question Signaler

[Mdk10.1] Alias avec Postfix et Mysql

Olivier4020 - Dernière réponse le 26 juin 2008 à 13:55
Bonjour à tous
Je travaille sous Mandrake 10.1 et j'ai configuré Postfix 2.1.4 avec uw-imap (pop et imap). Tout fonctionne très bien.
j'aimerai, dans un premier temps, utiliser une table Mysql contenant mes alias. Et là, ça bloque ! J'ai pu m'inspirer de quelques tutos mais rien à faire Postfix ne veut pas démarrer.
J'ai installé le package Postfix-Mysql pour que Postfix travaille avec Mysql.
J'ai modifié la ligne suivante dans main.cf
alias_maps = hash:/etc/postfix/aliases, 
                  hash:/var/lib/mailman/data/aliases,
                  mysql:/etc/postfix/mysql_aliases.cf

J'ai créé un fichier /etc/postfix/mysql_aliases.cf
user = postfix
password = monmotdepasse
dbname = postfix
table = aliases
select_field = destination
where_field = mail
# additional_conditions = and status = 'Y'

Dans mysql, j'ai créé un utilisateur postfix:
> mysql -ppassword
USE mysql;
INSERT INTO user (Host, User, Password) VALUES ('localhost','postfix',password('monmotdepasse'));
INSERT INTO db (Host, Db, User, Select_priv) VALUES ('localhost','postfix','postfix','Y');
FLUSH PRIVILEGES;
GRANT USAGE ON postfix.* TO postfix@localhost;
GRANT SELECT, INSERT, DELETE, UPDATE ON postfix.* TO postfix@localhosts;

J'ai créé ma base de donnée "postfix" et ma table "aliases":
CREATE DATABASE postfix;
USE postfix;
CREATE TABLE `aliases` (
  `alias_id` smallint(6) NOT NULL auto_increment,
  `mail` varchar(120) NOT NULL default '',
  `destination` varchar(120) NOT NULL default '',
  `status` char(1) NOT NULL default '',
  PRIMARY KEY  (`alias_id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;

J'ai redémarrer mysql et postfix mais ce dernier ne se lance pas !
Dans mes logs, j'ai la warning suivante:
Nov 28 13:12:18 postfix/smtpd[6500]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Je commence à désespérer de faire fonctionner Postfix avec Mysql, alors, si quelqu'un à une idée, je suis preneur !
A bientot
Et merci
Olivier
Lire la suite 

[Mdk10.1] Alias avec Postfix et Mysql »

2 réponses
Réponse
+0
moins plus
mkdir -p /var/spool/postfix/var/run/mysqld
chown mysql /var/spool/postfix/var/run/mysqld
ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock
trstrs - 26 juin 2008 à 13:55
Ca marche. Une fois.

Quand mysql redémarre, la socket est détruite et recrée, avec un numéro d'inode différent.
Le lien dur est cassé, la socket n'est plus trouvée par mysql, la connexion est rompue.

J'ai essayé avec un lien symbolique, postfix ne trouve pas la socket.

La connexion par socket dans un environnement chrooté ne semble pas fonctionner: il faut se connecter en TCP, par le réseau.
Dans les fichiers mysql_virtual_*_maps.cf j'ai remplacé localhost par 127.0.0.1
Là, plus besoin de socket, j'ai supprimé /var/spool/postfix/var/run/mysqld/mysqld.sock.
Mysql peut redémarrer, postfix s'y connecte toujours.
Ajouter un commentaire
Ce document intitulé « [Mdk10.1] Alias avec Postfix et Mysql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?