啟用 mod_headers、Dockerfile - Apache

啟用 mod_headers、Dockerfile - Apache

以下沒有效果;

# Dockerfile
FROM php:7-apache

RUN apt-get update && \
 apt-get install -y libxml2-dev && \
 docker-php-ext-install soap

RUN docker-php-ext-install mysqli

# Enable apache mods.
RUN a2enmod php7.0
RUN a2enmod rewrite
RUN a2enmod headers

mod_headers模組無法載入?

在此輸入影像描述

您知道如何mod_headers在其中安裝模組Dockerfile嗎?

我試過;

CMD ["/usr/sbin/apache2", "-D",  "FOREGROUND"]

但隨後容器無法啟動。

答案1

將其新增至您的 Dockerfile 中:

RUN cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/ && \
    cp /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/

程式碼將啟用 mod_rewrite 和 mod_headers。

答案2

使用 sed 替換在 Apache 設定檔中設定它。像這樣:

運行 sed -i 's/#LoadModule mod_headers/LoadModule mod_headers/g' /usr/local/apache2/conf/httpd.conf

顯然,您可以使用所需的模組來更改模組名稱...以及 httpd.conf 的正確位置,因為它可能位於不同的路徑中。

相關內容