背景
こんにちは、オープンDKIM許可される公式APKストア--with-odbx
ただし、必要な重要な設定フラグは含まれません--with-sql-backend
。
比較的簡単に整理できました。しかし、、生成されたOpenDKIMバイナリはRSA-SHA256をサポートしていないため、DKIMヘッダを確認できません。私はこれが奇妙だと思った。なぜならapk add opendkim
するRSA-SHA256をサポートします。
質問
これらの追加設定フラグを使用してAlpine 3.14でOpenDKIMをコンパイルする方法そしてRSA-SHA256は引き続きサポートされますか?
再現段階
まず、OpenDKIM 2.11.0-Beta2とOpenDBX 1.4.6をフォルダに事前にダウンロードしておきますpackages
。
mkdir packages
wget -P packages \
https://github.com/trusteddomainproject/OpenDKIM/archive/refs/tags/2.11.0-Beta2.tar.gz \
http://linuxnetworks.de/opendbx/download/opendbx-1.4.6.tar.gz
それから私はDockerfile
主に次の内容に基づいてこの記事を書きました。APKBUILDファイル。
FROM alpine:3.14
COPY packages /opt/data
RUN apk add --no-cache \
alpine-sdk \
automake \
autoconf \
db-dev \
libtool \
mariadb-dev \
readline-dev \
&& cd /opt/data \
&& tar xzf opendbx-1.4.6.tar.gz \
&& cd opendbx-1.4.6/ \
&& CPPFLAGS="-I/usr/include/mysql" ./configure --with-backends="mysql" \
&& make install
RUN apk add --no-cache \
openssl-dev \
libmilter-dev \
&& cd /opt/data \
&& tar xzf 2.11.0-Beta2.tar.gz \
&& cd OpenDKIM-2.11.0-Beta2 \
&& autoreconf -vif \
&& ./configure \
--sysconfdir=/etc/opendkim \
--with-odbx \
--with-openssl=/usr/lib \
--with-sql-backend \
&& make \
&& make install
その後、ドッカーイメージをビルドして実行しました。
docker build -t opendkim-alpine .
docker run opendkim-alpine opendkim -V
「サポートされている署名アルゴリズム」に通知がありませんrsa-sha256
。ここの出力と比較してみてください。
docker run alpine:3.14 ash -c 'apk add opendkim && opendkim -V'
ノート
./configure
エラーのため完了できませんでした:libsslを指定するまで見つかりません--with-openssl=/usr/lib
。私はこれが私が通過しなければならないことを意味するかもしれないと思いますLDFLAGS
がCFLAGS
、それが何でなければならないのかわかりません。- Debian バスターする必要なコンパイルフラグを含めます。。
- APKBUILDファイルではその値が何であるかわかりませんし
CFLAGS
、何をしているのかわかりませんdefault_prepare
。これらの質問に対する答えは、実験を通さない限り、比較的不透明で難しいようです。 - 私は見た他の試み完全なアルパインビルド環境を作成し、追加の
sed
フラグを含むようにAPKBUILDファイルを変更するために使用されます。これは過剰なようです。 - Googleの従業員の場合、確認モードでopendkimを実行しようとしたときに表示されるエラーメッセージです
opendkim: verify mode requires rsa-sha256 support
。
ベストアンサー1
わかりました、わかりました。理由はまったくわかりませんが、次の環境変数を設定する必要があります./configure
。
CPPFLAGS="-I/usr/include/openssl"
したがって、完全なRUN
コマンドは次のようになります。
RUN apk add --no-cache \
openssl-dev \
libmilter-dev \
&& cd /opt/data \
&& tar xzf 2.11.0-Beta2.tar.gz \
&& cd OpenDKIM-2.11.0-Beta2 \
&& autoreconf -vif \
&& CPPFLAGS="-I/usr/include/openssl" ./configure \
--sysconfdir=/etc/opendkim \
--with-odbx \
--with-openssl \
--with-sql-backend \
&& make \
&& make install
私は試行錯誤でこれを見つけましたが、OpenDKIMがデフォルトでopensslを見つけることができない理由についての説明があることを願っています。