在RHEL 7中安装mod_pagespeed

Redhat 在它的 Linux 发行版 RHEL(Redhat Enterprise Linux)中引入了一个新功能:Software Collections,简称 SCL。SCL 的工作原理和其它的软件部署工具不太一样,SCL 不会把软件装到系统目录中,而是做了一个虚拟的目录结构;而安装的软件默认不启用,需要使用特定命令开启。

拿 PHP 5.5 举例,安装完成之后,PHP 5.5 会出现在 /opt/rh/php55/ 目录下,使用 scl enable php55 可以把它开启。比如查看 PHP 的版本:

使用 PHP 貌似没什么太问题,但是 Apache 和 mod_pagespeed 就有点不和谐了。Apache 2.4 装好之后,在 /opt/rh/httpd24 中。但是安装 mod_pagespeed 的时候,RPM 会抱怨说:

httpd >= 2.2 is needed by mod-pagespeed-beta

而使用了 scl enable httpd24 之后,问题依旧。我还没有仔细看 scl enable 的原理是什么,但基本上它和 RPM 的沟通不太正常。

不过不要紧,RPM 有一个 --nodeps 选项,即不检查所需的依赖库。把原先的命令改成这样即可:

但是呢,还是有一点点的小问题。mod_pagespeed 默认的安装目录是 /etc/httpd,但真正的 httpd 还在 /opt/rh/httpd24 下面,于是我们要么把装好的文件复制过去,要么在安装之前做一个符号链接(Symbolic Link)。我倾向于后者,因为这样可以解决后续的升级问题。制作符号链接的命令如下:

之后再安装 mod_pagespeed 就没有问题了。


3 条评论 添加

发表评论

电子邮件地址不会被公开。 必填项已用*标注