Tôi đang cố gắng thiết lập opendkim trên Debian nhưng tôi thất bại trong việc thay đổi socket. Tôi muốn thay đổi ổ cắm để /var/spool/postfix/opendkim/opendkim.socktôi có thể sử dụng nó với postfix.
Tôi đã thêm Socket local:/var/spool/postfix/opendkim/opendkim.sockvào/etc/opendkim.conf
và cũng đã thử thêm SOCKET="local:/var/spool/postfix/opendkim/opendkim.sockvào /etc/default/opendkim(mà tôi phải tạo ra).
Bất kể tôi thay đổi điều gì hoặc tần suất tôi khởi động lại opendkim, nó luôn sử dụng /var/run/opendkim/opendkim.socklàm ổ cắm.
➜  ~ 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)
Tôi đang làm gì sai? (Tôi đoán đó là lỗi của tôi vì tôi không thể tìm thấy ai khác có cùng vấn đề)
CẬP NHẬT:
Thay đổi /etc/default/opendkimđể SOCKET="inet:8891@localhost"và thay đổi cấu hình postfix để sử dụng kết quả ổ cắm này tronginet:localhost:8891: Connection refused
CẬP NHẬT2:
Bây giờ tôi đã thay thế bằng tệp được gói trong gói kéo dài 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:12345@192.0.2.1                                                                                                                                                
USER=opendkim                                                                                                                                                               
GROUP=opendkim                                                                                                                                                              
PIDFILE=$RUNDIR/$NAME.pid                                                                                                                                                   
EXTRAAFTER=   
Bao gồm các dòng sau nơi ổ cắm được quyết định:
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 directorythậm chí nghĩ rằng nó tồn tại khi nó được chroot đến/var/spool/postfix/
                /var/spool/postfix/var/run...nếu nó là
                inetthay vì local. Có thể, nếu bạn không gỡ lỗi dịch vụ, hãy thử triển khai: digitalocean.com/community/tutorials/