【问题标题】:How can I enable an Apache module on ddev?如何在 ddev 上启用 Apache 模块?
【发布时间】:2018-10-23 13:09:30
【问题描述】:

我将webserver-type: apache-fpm 与 ddev 一起使用,并且需要启用一个模块。我该怎么做?

【问题讨论】:

  • 这对于 mod_expires、mod_headers 等模块很有用。其中一些可能会在某些时候包含在 DDEV 中,但您始终可以使用这个想法添加更多模块。

标签: ddev


【解决方案1】:

可能最好的方法是使用基于此文件的 .ddev/web-build/Dockerfile(如果您需要 hearteat 模块):

ARG BASE_IMAGE
FROM $BASE_IMAGE
RUN a2enmod heartbeat

这将在 apache 实际出现之前很久就启用一个模块,所以如果你有一个依赖于模块的 apache 配置,它会正常工作。

另一种方法是在 Web 容器中使用 a2enmod,然后使用 apachectl graceful 重新启动 apache 以获取更改。

所以ddev ssh 然后a2enmod heartbeat && apache2ctl graceful(如果您启用了“心跳”模块)

使用 ddev 执行:ddev exec "a2enmod heartbeat && apache2ctl graceful"

使用启动后挂钩:

hooks:
  post-start:
  - exec: a2enmod heartbeat && apache2ctl graceful

【讨论】:

  • 这看起来很有希望,但在它启用模块之前我遇到了一个错误,我们可以使用更早的钩子吗?解决方法是注释失败的配置行,ddev start,然后取消注释并 ddev start
  • 我对此进行了编辑以添加 .ddev/web-build/Dockerfile 技术,因此该模块早在网络服务器看到您的配置之前就已启用。 @joelpittet
猜你喜欢
  • 2016-06-29
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
  • 2013-04-27
  • 2018-07-20
  • 2021-04-20
  • 2013-09-05
  • 1970-01-01
相关资源
最近更新 更多