Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【Opendkimが起動しない】Error compiling regular expression

More than 3 years have passed since last update.

はじめに

迷惑メール対策として、dkim認証の設定をしopendkimを再起動しようとしたら、下記のエラーが出て再起動できない・・・!

# journalctl -xe ※もろもろ省略
Error compiling regular expression

調査内容

# systemctl status opendkim -lで状態の詳細を確認

# journalctl -xeでログ確認
Error compiling regular expressionというエラーログ発見!

/etc/opendkim.confの確認

/etc/opendkim/KeyTableの確認
→記載内容があっているか確認

/etc/opendkim/SigningTableの確認
→記載内容があっているか確認

/etc/opendkim/keys配下を確認
→所有者・所有グループがopendkimか、権限が600になっているか

原因

/etc/opendkim/SigningTableに不要なものが記載されていました。。。
→再起動をした際に、設定ファイルの読み取りができなくてエラーとなっていたようです。

実際のファイルはこちら↓

# cat SigningTable.backup
=============================================


# OPENDKIM TRUSTED HOSTS
# To use this file, uncomment the #ExternalIgnoreList and/or the #InternalHosts
# option in /etc/opendkim.conf then restart OpenDKIM. Additional hosts
# may be added on separate lines (IP addresses, hostnames, or CIDR ranges).
# The localhost IP (127.0.0.1) should always be the first entry in this file.
127.0.0.1
::1
#host.example.com
#192.168.1.0/24
[root@ip-172-31-9-177 opendkim]#           ←★ここから
[root@ip-172-31-9-177 opendkim]#
[root@ip-172-31-9-177 opendkim]#
[root@ip-172-31-9-177 opendkim]# cat SigningTable  ←★ここまで 
# OPENDKIM SIGNING TABLE
# This table controls how to apply one or more signatures to outgoing messages based
# on the address found in the From: header field. In simple terms, this tells
# OpenDKIM "how" to apply your keys.

# To use this file, uncomment the SigningTable option in /etc/opendkim.conf,
# then uncomment one of the usage examples below and replace example.com with your
# domain name, then restart OpenDKIM.

# WILDCARD EXAMPLE
# Enables signing for any address on the listed domain(s), but will work only if
# "refile:/etc/opendkim/SigningTable" is included in /etc/opendkim.conf.
# Create additional lines for additional domains.

# NON-WILDCARD EXAMPLE
# If "file:" (instead of "refile:") is specified in /etc/opendkim.conf, then
# wildcards will not work. Instead, full user@host is checked first, then simply host,
# then user@.domain (with all superdomains checked in sequence, so "foo.example.com"
# would first check "user@foo.example.com", then "user@.example.com", then "user@.com"),
# then .domain, then user@*, and finally *. See the opendkim.conf(5) man page under
# "SigningTable" for more details.

#example.com default._domainkey.example.com
*@メールドメイン default._domainkey.メールドメイン

全く覚えていないですが、変なのが入っていましたw
気が付かないうちにコピーし、貼り付けていました。。。。

解決策

不要な記載を削除して、opendkimを再起動すれば正常に起動します。

takahashi-kazuki
文系出身(漫才の勉強してました)の未経験の3年目インフラエンジニアです。 Azure, AWSのクラウドを中心に、設計・構築を行っています。
headwaters
常に新しい技術を取り込み、ありとあらゆる技術を駆使してビジネスを仕掛けるエンジニア集団です。技術力をベースに世の中の課題を解決しつつ、クライアントの強みを生かしたスタートアップインテグレーターとして共に事業も展開しています。「AI企画開発​」「マルチAIプラットフォーム(SyncLect)」「ロボットアプリ企画開発​」「React Native/Monaca/PWAアプリ開発」...etc他多数
http://www.headwaters.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away