Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa
Archives de la liste
Re: [fr@sympa] Alias manager sur DB Mariadb
- From: Benjamin Renard <adresse@cachée>
- To: adresse@cachée
- Subject: Re: [fr@sympa] Alias manager sur DB Mariadb
- Date: Wed, 31 Jul 2024 14:50:20 +0200
Bonjour,
L'aliases_program n'est-il pas écrasé au niveau de la configuration du robot ? Par ailleurs, une fois la modification prise en compte il faudra peupler la table des alias avec la commande "sympa --make_alias_file". Ça peut-être assez long en fonction du nombre de listes et un peu bugué d'expérience (pour les listes "cachées" de mémoire). Dans ce cas, je préfère bricoler un ensemble de requêtes SQL qui fait l'équivalent en quelques secondes tout au plus :
Exemple complet avec un aliases_program
légèrement adapté pour utiliser la configuration de sympa pour
se connecter à la DB et une table "aliases"
(cf. ci-joint) :
echo " - create
aliases MySQL table"
cat << EOF | mysql sympa
DROP TABLE IF EXISTS
\`aliases\`;
CREATE TABLE \`aliases\` (
\`alias\` varchar(200) NOT NULL,
\`domain\` varchar(80) NOT NULL,
\`transport\` text NOT NULL,
PRIMARY KEY (\`alias\`,\`domain\`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
EOF
echo " - populate
aliases table"
cat << EOF | mysql sympa
INSERT
INTO aliases
(alias, domain, transport)
SELECT
name_list AS alias,
robot_list AS domain,
CONCAT("sympa:", name_list, "@", robot_list)
as transport
FROM list_table
WHERE status_list = "open"
EOF
for suffix in editor owner request unsubscribe
do
[ "$suffix" == "owner" ] &&
transport="sympabounce" || transport="sympa"
cat << EOF | mysql sympa
INSERT INTO aliases
(alias, domain, transport)
SELECT
CONCAT(name_list, "-$suffix") AS alias,
robot_list AS domain,
CONCAT("$transport:", name_list, "-$suffix@",
robot_list) as transport
FROM list_table
WHERE status_list = "open"
EOF
done
Et au niveau postfix :
main.cf :
relay_domains = $mydestination,
proxy:mysql:/etc/postfix/sympa_domains.mysql
relay_recipient_maps =
proxy:mysql:/etc/postfix/sympa_aliases.mysql
transport_maps = proxy:mysql:/etc/postfix/sympa_aliases.mysql
sympa_destination_recipient_limit = 1
sympabounce_destination_recipient_limit = 1
master.cf :
sympa unix - n n - - pipe
flags=DRhu user=sympa argv=/usr/lib/sympa/bin/queue
${nexthop}
sympabounce unix - n n - -
pipe
flags=DRhu user=sympa argv=/usr/lib/sympa/bin/bouncequeue
${nexthop}
/etc/postfix/sympa_domains.mysql :
user = postfix
password = secret
dbname = sympa
hosts = 127.0.0.1
query = SELECT domain FROM aliases WHERE domain = '%s' LIMIT
1;
/etc/postfix/sympa_aliases.mysql:
user = postfix
password = secret
dbname = sympa
hosts = 127.0.0.1
query = SELECT transport FROM aliases WHERE alias = '%u' AND
domain = '%d';
Note : configuration fonctionnelle sur une
installation de sympa 6.2.40 sur une Debian Buster (un peu
vieux...).
Librement,
Bonjour,
Je cherche et ne trouve pas suffisamment de documentation pour faire passer les alias sympa vers une base de données mariadb.
Je tourne une installation par paquet SYMPA 6.2.72 sur RedHat.
J’ai bien ajouté une table valias (alias varchar(255), domain varchar(255), valias_line varchar(255)) dans la db sympa et ajuster les paramètres de sympa.conf :
aliases_program /usr/share/sympa/bin/mysql_alias_manager.pl
aliases_db_type mysql
sendmail /usr/sbin/sendmail
J’obtiens toujours les paramètres suivants :
nom du paramètre | valeur | s'applique à | défaut |
sendmail |
/usr/sbin/sendmail |
config principale |
/usr/sbin/sendmail |
sendmail_args |
-oi -odi -oem |
config principale |
-oi -odi -oem |
sendmail_aliases |
/var/lib/sympa/sympa_aliases |
localhost.localdomain |
/var/lib/sympa/sympa_aliases |
aliases_program |
mysql_alias_manager |
localhost.localdomain |
newaliases |
aliases_wrapper |
on |
localhost.localdomain |
on |
aliases_db_type |
hash |
localhost.localdomain |
hash |
alias_manager |
/usr/sbin/alias_manager.pl |
config principale |
/usr/sbin/alias_manager.pl |
Y a-t-il une doc complète d’une gestion des alias via une db mariadb (mysql) ?
Merci
Jacques Tissot
Université de Fribourg, Suisse
-- Benjamin Renard - Easter-eggs 44-46 rue de l'Ouest - 75014 Paris - France - Métro Gaité Phone: +33 (0) 1 43 35 00 37 - mailto:adresse@cachée
Attachment:
mysql_alias_manager.pl
Description: Perl program
-
[fr@sympa] Alias manager sur DB Mariadb,
TISSOT Jacques, 31/07/2024
- Re: [fr@sympa] Alias manager sur DB Mariadb, Benjamin Renard, 31/07/2024
Archives gérées par MHonArc 2.6.19+.