На моем VPS Debian Jessie, почтовом сервере Postfix + Dovecot с пользователем и паролем в MySQL я установил OpenDKIM, который также использует MySQL для ключей. Если по какой-то причине сервер перезагружается, я могу каждый раз находить службу OpenDKIM в статусе «активна (завершена)» и отчет журнала:
opendkim: /etc/opendkim.conf: dsn:mysql://NAME-MAILUSER:**PLAINTEXT-PASSWORD**@MYSQL-PORT+127.0.0.1/mailserver/table=virtual_domains?keycol=name?datacol=ID: dkimf_db_open(): Can't connect to MySQL server on '127.0.0.1' (111)
Причина, по-видимому, связана с подключением к серверу MySQL
, если я перезапускаю OpenDKIM, проблема ушла, всегда.
У меня два вопроса:
Большое спасибо!
Дэвид
Ответ на 2: Запуск opendkim после mariadb или mysql:
mkdir /etc/systemd/system/opendkim.service.d
добавьте в этот каталог /etc/systemd/system/opendkim.service.d/database-dependency.conf:
[Unit]
After=mariadb.service
Примечание: используйте mysql.service
вместо mariadb.service
, если это имя службы в вашей системе.
ref: страница руководства systemd.unit
Ответ на вопрос 1:
Удаление ошибки может помешать вводу пароля в журнал. Насколько мне известно, нет опции конфигурации для удаления пароля из журнала.
Однако альтернативой является создание пользователя базы данных opendkim, который не зависит от пароля, только если пользователь unix также является opendkim. Это можно сделать с помощью аутентификации сокета unix .
INSTALL PLUGIN unix_socket SONAME 'auth_socket';
ALTER USER opendkim IDENTIFIED VIA unix_socket;
примечание: ALTER USER - это только mariadb-10.2 +. Удаление и воссоздание пользователя / грантов может потребоваться в более ранних версиях.
opendbx dsn, который использует opendkim, должен будет подключаться к сокету unix, а не к TCP-соединению. Для этого может потребоваться просто вызвать хост localhost
, однако я не уверен на 100%. Кроме того, некоторые постфиксные процессы запускаются в chroot и, следовательно, не смогут подключиться к сокету unix без изменения chroot = n
в столбце в master.cf
.
edit : * изменено на xxx.conf соглашение об именах файлов * разрешено для mysql или mariadb в зависимости от используемой службы * edit - некоторые постфиксные процессы chrooted.