На моем 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
если это имя службы в вашей системе.
ссылка: Справочная страница 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 - некоторые постфиксные процессы привязаны к корневому каталогу.