正直なところ、私はAlpine Linuxについてほとんど経験がありませんが、私はそのアプローチが好きなので、それを変えたいと思っています。私はDockerも比較的新しいので、これが「愚かな」質問である場合はご容赦ください。
私が達成したいのは、httpd:Alpine
画像と私のニーズにHTTPdを拡張します。
これには、mod_rewriteモジュールをアクティブ化し、カスタム.htaccessをイメージにコピーすることが含まれます。
ここに私がこれまでに持っているものがあります:
FROM httpd:Alpine
# Copy .htaccess into DocumentRoot
COPY ./.htaccess /var/www/html/
RUN apk update
RUN apk upgrade
RUN apk add Apache2-utils
RUN a2enmod rewrite
RUN rc-service Apache2 restart
私の問題は、解決策がわからない「a2enmod not found」エラーが常に表示されることです。これは、a2enmodが純粋なDebian/Ubuntu/...であることが原因である可能性がありますが、mod_rewrite(またはそのためのモジュール)をアクティブにする別の方法がわかりません。
よろしくお願いします!
mod_rewrite
は、Apacheとともにデフォルトでアルパインにインストールされるため、再度インストールする必要はありません。したがって、アルパインでmod_rewrite
を有効にする方法は次のとおりです。
FROM httpd:Alpine
# Copy .htaccess into DocumentRoot
COPY ./.htaccess /var/www/html/
RUN sed -i '/LoadModule rewrite_module/s/^#//g' /usr/local/Apache2/conf/httpd.conf
RUN { \
echo 'IncludeOptional conf.d/*.conf'; \
} >> /usr/local/Apache2/conf/httpd.conf \
&& mkdir /usr/local/Apache2/conf.d