ฉันพยายามตั้งค่า opendkim บน Debian stretch แต่ฉันไม่สามารถเปลี่ยนซ็อกเก็ตได้ ฉันต้องการเปลี่ยนซ็อกเก็ตเป็น/var/spool/postfix/opendkim/opendkim.sock
ดังนั้นฉันจึงสามารถใช้กับ postfix ได้
ฉันได้เพิ่มลงSocket local:/var/spool/postfix/opendkim/opendkim.sock
ใน/etc/opendkim.conf
และพยายามเพิ่มSOCKET="local:/var/spool/postfix/opendkim/opendkim.sock
ไปยัง/etc/default/opendkim
(ซึ่งฉันต้องสร้าง)
ไม่ว่าฉันจะเปลี่ยนแปลงอะไรหรือรีสตาร์ท opendkim บ่อยแค่ไหนมันก็ใช้/var/run/opendkim/opendkim.sock
เป็นซ็อกเก็ตเสมอ
➜ ~ 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)
ผมทำอะไรผิดหรือเปล่า? (ฉันเดาว่ามันเป็นความผิดพลาดของฉันเพราะฉันไม่สามารถหาคนอื่นที่มีปัญหาเดียวกันได้)
UPDATE:
เปลี่ยน/etc/default/opendkim
ไปSOCKET="inet:8891@localhost"
และการเปลี่ยนแปลงการตั้งค่า postfix ที่จะใช้ผลการซ็อกเก็ตนี้inet:localhost:8891: Connection refused
UPDATE2:
ตอนนี้ฉันถูกแทนที่ด้วยไฟล์ที่รวมอยู่ในแพ็คเกจยืดเดเบียน:
# 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:12345@192.0.2.1
USER=opendkim
GROUP=opendkim
PIDFILE=$RUNDIR/$NAME.pid
EXTRAAFTER=
รวมถึงบรรทัดต่อไปนี้ที่ตัดสินใจซ็อกเก็ต:
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
แม้จะคิดว่ามันมีอยู่ตามที่ chrooted ไปแล้ว/var/spool/postfix/
/var/spool/postfix/var/run...
นี้
inet
local
บางทีถ้าคุณไม่ได้แก้จุดบกพร่องให้ลองใช้: digitalocean.com/community/tutorials/ …