第七十一章 Apache (UNIX® Linux macOS) 的替代选项 - 替代选项 1:带有 NSD 的 Apache API 模块 (mod_csp24.so)
替代选项 1
:带有 NSD
的 Apache API
模块 (mod_csp24.so
)
如果 CSP
模块作为预构建共享对象 (mod_csp24.so
) 随发行版一起提供,则从运行时配置开始。要从提供的源文件 mod_csp.c
构建共享对象,请选择下面的方法 1
或方法 2
。优选方法 1
。
请务必结合 Apache
发行版中包含的特定文档阅读以下有关创建共享对象的说明。请注意,此处给出的说明假定 Apache
安装的根目录是 /usr/apache
。实际上,此目录名称通常会附加 Apache
版本号。
方法 1
:使用 apxs (APache eXtenSion)
工具将 CSP
模块构建为共享对象
以下命令使用 Apache
扩展工具 apxs
在 Apache /modules
目录中构建并安装共享库 mod_csp24.so
。它还添加了一个指令来将模块加载到 Apache
配置文件 /conf/httpd.conf
中。
apxs –c –o mod_csp24.so mod_csp.c
将生成的共享对象 (mod_csp24.so
) 复制到以下目录:/opt/webgateway/bin
。
方法 2
:手动将 CSP
模块构建为共享对象
执行以下步骤将 CSP
模块手动构建为共享对象:
- 将模块源文件
mod_csp.c
安装在以下目录中:/usr/apache/src/modules/extra
- 返回
/usr/apache/src
目录并编辑配置文件。在此文件末尾附近,找到以下行:
# AddModule modules/example/mod_example.o
在此行之后,添加以下行:
ShareModule modules/extra/mod_csp24.so
- 使用以下命令配置构建过程:
./Configure
- 使用以下命令构建共享对象:
make
在 /usr/apache/src/modules/extra
中生成共享对象 mod_csp24.so
注意:有关 apxs
工具的更多信息,请参阅 Apache
文档:https://httpd.apache.org/docs/2.4/programs/apxs.html
。
运行时配置
编辑 Apache
配置文件 httpd.conf
。对于标准 Apache
发行版,该文件位于:
/usr/apache/conf
对于 Red Hat Linux
,httpd.conf
的运行时版本位于:
/etc/httpd/conf
假设希望为包含 .csp
、.cls
或 .zen
扩展名的请求文件调用 CSP
引擎,请将以下部分添加到 httpd.conf
的末尾。
LoadModule csp_module /opt/webgateway/bin/mod_csp24.so
CSPFileTypes csp cls zen cxw
Alias /csp/ /opt/webgateway/csp/
<Directory "/opt/webgateway/csp">
AllowOverride None
Options MultiViews FollowSymLinks ExecCGI
Require all granted
<FilesMatch "\.(log|ini|pid|exe)$">
Require all denied
</FilesMatch>
<Files CSPnsd>
Require all denied
</Files>
</Directory>
ScriptAlias /csp-bin/ "/opt/webgateway/bin/"
ScriptAliasMatch /csp/bin/Systems/Module.cxw "/opt/webgateway/bin/nph-CSPcgiSys"
ScriptAliasMatch /csp/bin/RunTime/Module.cxw "/opt/webgateway/bin/nph-CSPcgi"
<Directory "/opt/webgateway/bin/">
AllowOverride None
Options None
Require all granted
</Directory>
更改 httpd.conf
后重新启动 Apache
。
网友评论