把CSP.conf保存在container之外
在创建webgateway的container时,可以使用ISC_DATA_DIRECTORY=
参数, 选择把CSP文保存在主机而不仅仅是container内部。如下面的例子: 使用volumnes
映射了主机的./dur-wg-a
目录到container的/dur
目录, 而command中的ISC_DATA_DIRECTORY=/dur
会讲webgateway的配置文件, log文件等保存在主机。
webgateway-apache:
image: containers.intersystems.com/intersystems/webgateway-arm64:2024.1
container_name: wg-tls
hostname: wg-tls
ports:
- "8080:80"
- "4433:443"
volumes:
- ./webgateway/csp:/external
- ./dur-wg-a:/dur
environment:
- TZ=CST-8
- ISC_CSP_CONF_FILE=/external/CSP-apache.conf
- ISC_CSP_INI_FILE=/external/CSP-merge.ini
- ISC_DATA_DIRECTORY=/dur
需要注意的是,这种情况下, 当配置了ISC_CSP_CONF_FILE
时,比如把定制的CSP.conf放在了/dur/CSP.conf
, 实际上是创建了一个link到/etc/apache2/mods-available
, 而最终会链接到/etc/apache2/mods-enabled
. 真正工作的CSP.conf还是在/etc/apache2/mods-enabled
.
在apache2加载网站
虽然绝大多数情况WebGateway Container只用于连接IRIS,但如果在测试或者演示环境中,希望在apache2中加入自己的网站或者网页, 可以简单的参考下面的说明。
在默认的apache2.conf
里面默认的定义了3个directory, <Directory /usr/share>, <Directory /usr/share>,<Directory /var/www/>
,而在sites-enabled
里面是这么配置的
root@ac6fdedbac6b:/etc/apache2# cat sites-enabled/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
root@ac6fdedbac6b:/etc/apache2#
因为000-default.conf
是默认生效的配置文件,因此把自动的网站放在/拷贝到/var/www/html
目录是最简单的方案。 注意您的网站如果有js或者其他可执行的文件, 网站目录和文件的权限应该是755.