TransWikia.com

OpenDKIM won't start: "opendkim: milter socket must be specified"

Server Fault Asked by UnlegitApple on November 14, 2021

I’m trying to setup a server using postfix, dovecot, amavis and opendkim for signing.

OpenDKIM won’t start, here is the output of journalctl -xe, after stopping and starting opendkim:

Jul 21 21:54:17 mail systemd[1]: Starting OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
-- Subject: A start job for unit opendkim.service has begun execution
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit opendkim.service has begun execution.
--
-- The job identifier is 54385.
Jul 21 21:54:17 mail opendkim[108677]: opendkim: milter socket must be specified
Jul 21 21:54:17 mail systemd[1]: opendkim.service: Control process exited, code=exited, status=78/CONFIG
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- An ExecStart= process belonging to unit opendkim.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 78.
Jul 21 21:54:17 mail systemd[1]: opendkim.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit opendkim.service has entered the 'failed' state with result 'exit-code'.

My OpenDKIM (/etc/opendkim.conf) config looks like this:

Syslog              yes
LogResults          yes
LogWhy              yes
SyslogSuccess       yes
UMask               002
Canonicalization    relaxed/relaxed

# Only sign, don't verify (Amavis takes care of the verification)
Mode                s

KeyTable            /etc/opendkim/keytable
SigningTable        refile:/etc/opendkim/signingtable

As you could see in the config, I only want OpenDKIM to sign, not verify.

One Answer

As the error says, you should specify the socket. The mandatory configuration parameter can be found on opendkim.conf documentation:

Socket (string)

Specifies the socket that should be established by the filter to receive connections from sendmail(8) in order to provide service. socketspec is in one of two forms: 

  • local:path, which creates a UNIX domain socket at the specified path, or
  • inet:port[@host] or inet6:port[@host] which creates a TCP socket on the specified port and in the specified protocol family.

If the host is not given as either a hostname or an IP address, the socket will be listening on all interfaces. A literal IP address must be enclosed in square brackets. This option is mandatory either in the configuration file or on the command line.

Answered by Esa Jokinen on November 14, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP