我想将 mod_proxy 和 mod_proxy_http 添加到我的 Gentoo 上的 Apache 服务器,但显然系统上某些高优先级文件正在禁用这些模块并阻止我安装。
我目前正在编辑/usr/portage/profiles/base/make.defaults
文件,但每次更新系统时它都会更新(更改会丢失)。每次更新系统/重新安装 Apache 时我都必须编辑它。
除此之外,我已经向/etc/portage/package.use
文件添加了依赖项:
www-servers/apache proxy proxy_http
我还有哪些文件需要更改或应该检查标志,以便我可以启用代理,而不必每次都再次编辑文件?
答案1
${PORTDIR}/profiles/base/make.defaults
不适用于用户编辑。(这种情况的一个提示是路径名以 开头/usr
,但不包含/local
在其中。)相反,您应该编辑/etc/portage/make.conf
(或者,如果您有旧安装并且尚未移动make.conf
,/etc/make.conf
)。请注意,如果您只是尝试通过变量添加几个模块,则可以使用的类似表示法APACHE2_MODULES
引用原始变量的值。(这种引用是必要的,因为与 不同,是sh
${APACHE2_MODULES}
USE
APACHE2_MODULES
不是一个增量make.conf
变量。)在/etc/portage/make.conf
:
APACHE2_MODULES="${APACHE2_MODULES} proxy proxy_http"
有关更多信息make.conf
,请查看本地系统上安装的 portage 手册页:$ man 5 make.conf
正如您所提到的/etc/portage/package.use
,请注意能还可以通过 配置这些标志package.use
。但请注意,这APACHE2_MODULES
是一个“ USE_EXPAND
”变量。这意味着您在 中设置的任何值都make.conf
将自动以 为前缀apache2_modules_
(小写的变量名称加上下划线)。因此,您也可以在 中使用以下条目进行更改package.use
:
www-servers/apache apache2_modules_proxy apache2_modules_proxy_http
变量USE_EXPAND
的扩展是真正的 useflag。也就是说,apache2_modules_proxy
是实际接受的正常 useflag www-servers/apache
。如果您指定使用标志,proxy
并且 proxy_http , portage just silently ignores those because
www-servers/apache` 不会定义/接受此类 useflag。