J'essaie de configurer opendkim sur le tronçon Debian mais je n'arrive pas à changer le socket. Je veux changer le socket pour /var/spool/postfix/opendkim/opendkim.sock
pouvoir l'utiliser avec postfix.
J'ai ajouté Socket local:/var/spool/postfix/opendkim/opendkim.sock
à/etc/opendkim.conf
et aussi essayé d' ajouter SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock
à /etc/default/opendkim
(que je devais créer).
Peu importe ce que je change ou à quelle fréquence je redémarre opendkim, il l'utilise toujours /var/run/opendkim/opendkim.sock
comme socket.
➜ ~ netstat -a | fgrep LISTEN | grep open
unix 2 [ ACC ] STREAM LISTENING 5534128 /var/run/opendkim/opendkim.sock
➜ ~ sudo systemctl status opendkim.service
● opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter
Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2017-04-30 12:41:54 CEST; 5min ago
Docs: man:opendkim(8)
man:opendkim.conf(5)
man:opendkim-genkey(8)
man:opendkim-genzone(8)
man:opendkim-testadsp(8)
man:opendkim-testkey
http://www.opendkim.org/docs.html
Process: 25246 ExecStart=/usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock (code=exited, status=0/SUCCESS)
Main PID: 25248 (opendkim)
Tasks: 7 (limit: 4915)
CGroup: /system.slice/opendkim.service
├─25248 /usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock
└─25249 /usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock
Apr 30 12:41:54 vServer systemd[1]: Starting OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
Apr 30 12:41:54 vServer systemd[1]: Started OpenDKIM DomainKeys Identified Mail (DKIM) Milter.
Apr 30 12:41:54 vServer opendkim[25249]: OpenDKIM Filter v2.11.0 starting (args: -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock)
Qu'est-ce que je fais mal? (Je suppose que c'est mon erreur car je ne trouve personne d'autre avec le même problème)
MISE À JOUR:
Changement /etc/default/opendkim
de SOCKET="inet:8891@localhost"
et changer la configuration de postfix utiliser ce résultat du socketinet:localhost:8891: Connection refused
MISE À JOUR2:
J'ai maintenant remplacé le fichier fourni dans le paquet extensible debian:
# Command-line options specified here will override the contents of
# /etc/opendkim.conf. See opendkim(8) for a complete list of options.
#DAEMON_OPTS=""
# Change to /var/spool/postfix/var/run/opendkim to use a Unix socket with
# postfix in a chroot:
RUNDIR=/var/spool/postfix/var/run/opendkim
#RUNDIR=/var/run/opendkim
#
# Uncomment to specify an alternate socket
# Note that setting this will override any Socket value in opendkim.conf
# default:
SOCKET=local:$RUNDIR/opendkim.sock
# listen on all interfaces on port 54321:
#SOCKET=inet:54321
# listen on loopback on port 12345:
#SOCKET=inet:12345@localhost
# listen on 192.0.2.1 on port 12345:
#SOCKET=inet:[email protected]
USER=opendkim
GROUP=opendkim
PIDFILE=$RUNDIR/$NAME.pid
EXTRAAFTER=
Le inclut les lignes suivantes où le socket est décidé:
if [ -f /etc/opendkim.conf ]; then
CONFIG_SOCKET=`awk '$1 == "Socket" { print $2 }' /etc/opendkim.conf`
fi
# This can be set via Socket option in config file, so it's not required
if [ -n "$SOCKET" -a -z "$CONFIG_SOCKET" ]; then
DAEMON_OPTS="-p $SOCKET $DAEMON_OPTS"
fi
connect to Milter service local:/var/run/opendkim/opendkim.sock: No such file or directory
même qu'il existe car il est chrooté/var/spool/postfix/
/var/spool/postfix/var/run...
si c'est le casinet
plutôtlocal
. Peut-être que si vous ne déboguez pas le service, essayez d'implémenter: digitalocean.com/community/tutorials/…Réponses:
J'ai finalement trouvé la solution.
Le
/etc/init.d/opendkim
ne semble rien faire. Mais à la place, le fichier de service/lib/systemd/system/opendkim.service
est utilisé et contient le mauvais socket codé en dur.Mais le paquet debian semble également inclure un bash qui génère le service systemd correct.
Donc, après avoir couru
et en redémarrant opendkim, le fichier socket apparaît à l'emplacement attendu, ce qui peut être vérifié en appelant:
Mise à jour: Il semble qu'il existe un rapport de bogue Debian sur ce problème: # 861169
la source
Je n'ai pas assez de réputation pour commenter et je voulais reconnaître qu'après des heures de recherche d'une solution au message d'erreur `` Connexion refusée '' d'OpenDKim-Postfix, la
/lib/systemd/system/opendkim.service
modification fournie par LocutusBE a fonctionné avec Ubuntu 17.04:Avant de tenter l'édition j'ai ajouté l'utilisateur postfix au groupe opendkim et essayé
/lib/opendkim/opendkim.service.generate
par Lukas Winkler solution. L'erreur de connexion refusée a persisté jusqu'à ce que le numéro de port soit ajouté/lib/systemd/system/opendkim.service
.Pour mettre à jour
/lib/systemd/system/opendkim.service
, j'ai utilisé le port 8891 pour Ubuntu et commenté la ligne ExecStart d'origine à des fins de test, puis j'ai ajouté une nouvelle ligne avec le port #:Le numéro de port correspondant a également été spécifié dans
/etc/opendkim.conf
:Et
/etc/postfix/main.cf
:Après avoir redémarré le démon systemctl, opendkim et postfix, le courrier sortant a été signé sans problème et le journal de messagerie a montré "Champ DKIM-Signature ajouté".
Il n'y a eu aucun problème de connexion lors de la configuration récente d'OpenDkim avec Centos7, donc apparemment dans ce cas, il était lié à Ubuntu. Merci à Lukas Winkler d'avoir posté la question et à ceux qui ont partagé leurs solutions.
la source
Pour utiliser
inet
socket, vous devez spécifier:SOCKET="inet:12301@localhost"
à/etc/default/opendkim
vous devez également modifier les paramètres dans Postfix en conséquence:
en
/etc/postfix/main.cf
plus:si vous ne pouvez pas définir
local
le chemin souhaité, je vous suggère de:prenez un journal à partir
mail
,syslog
ouopendkim
dans/var/log
et vérifiervérifier le
/etc/init.d/opendkim
script et inspecter si le fichier de chaussette est défini sur une valeuressayez d'aller avec défaut
local:/var/run/opendkim/opendkim.sock
- et spécifiezsmtpd_milters = local:/var/run/opendkim/opendkim.sock
etnon_smtpd_milters = local:/var/run/opendkim/opendkim.sock
dans/etc/postfix/main.cf
la source
warning: connect to Milter service inet:localhost:12301: Connection refused
OpenDKIM Filter v2.11.0 starting (args: -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock)
SOCKET="inet:12301@localhost
set to opendkim conf file?Cela a fonctionné pour moi:
Éditer
/lib/systemd/system/opendkim.service
changement:
à:
et
la source
opendkim.service.generate
.OpenDKIM a fonctionné jusqu'à ce que je mette à niveau mon serveur. OpenDKIM ne démarre pas et il n'y a pas de socket en cours d'exécution pour que le Milter puisse se connecter. Dans
/var/log/syslog
je pouvais voir que opendkim n'a pas réussi à créer une socket à un endroit différent qu'avant la mise à niveau. J'ai essayé de modifier les paramètres de prise en/etc/opendkim.conf
,/etc/default/opendkim
et ,/lib/systemd/system/opendkim.service
mais il n'a pas aidé. Il s'avère que l'info était devant moi tout le temps:J'ai remarqué que les paramètres ont été écrasés par le fichier "override.conf" et modifiés de façon à ce qu'ils soient alignés avec mon
/etc/postfix/main.cf
(s'exécute en tant que chroot):Éditer
/etc/systemd/system/opendkim.service.d/override.conf
Et enfin, redémarrer le démon et opendkim:
la source
Je viens de renommer /etc/systemd/system/opendkim.service.d/override.conf en /etc/systemd/system/opendkim.service.d/override.conf.old afin qu'il ne remplace pas les paramètres ExecStart.
Tout fonctionne très bien avec la config picking de /etc/opendkim.conf
la source
Mon service opendkim ne s'est pas réveillé sur le port 8100 après l'installation et les solutions précédentes n'ont pas aidé. J'ai donc essayé
avec dit
donc j'ai regardé le fichier de service
et trouvé d'étranges chemins
et commande
m'a dit
(regardez la 2e ligne sur le quota précédent) alors je suis allé à
et supprimé "-" 3 fois Ensuite
Cela m'a aidé :-)
la source