6. 配置实例

创建实例时,配置文件生成于::

$ (CW_INSTANCES_DIR) / <instance> / <configuration name>.conf

例如::

/etc/cubicweb.d/myblog/all-in-one.conf

它是一个ini格式的简单文本文件(http://en.wikipedia.org/wiki/ini_file)。在下面的描述中,每个选项名前面都有自己的节,如果需要,后面跟着默认值,例如“<section><option>” [价值] ."

注解

在运行时,配置选项可以由名称跟在选项名称后面的环境变量覆盖 - 替换为 _ 和A CW_ 前缀。例如 CW_BASE_URL=https://www.example.com 将覆盖 base-url 配置选项。

6.1. 配置Web服务器

web.auth-model [cookie]

身份验证模式、cookie或http

web.realm

HTTP身份验证模式下实例的领域

web.http-session-time [0]

HTTP会话在自动关闭之前处于非活动状态的时间段。持续时间(秒),0表示没有过期(或更确切地说,在浏览器客户端关闭时)

main.anonymous-user, main.anonymous-password

用于通过HTTP匿名连接连接到RQL服务器的登录名和密码。cwuser帐户应该存在。

main.base-url

用于生成网页URL的URL基网站

6.1.1. Apache配置

可以使用Apache(例如)作为代理。

为此,您必须激活以下Apache模块:

  • 重写

  • 代理

  • http_proxy

基于Debian的系统的命令是:

a2enmod rewrite http_proxy proxy
/etc/init.d/apache2 restart
例子

对于可通过以下方式访问的站点的Apache重定向: http://localhost/demo 当CubicWeb在端口8080上实际运行时::

ProxyPreserveHost On
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/demo
RewriteRule ^/demo$ /demo/
RewriteRule ^/demo/(.*) http://127.0.0.1:8080/$1 [L,P]

我们将在实例的all-in-one.conf中归档:::

base-url = http://localhost/demo

6.2. 设置Web客户端

web.embed-allowed

与站点中可以“嵌入”的站点匹配的正则表达式(控制器“嵌入”)。

web.submit-url

实例中遇到的错误可以邮寄到的URL

6.3. RQL服务器配置

main.host

如果无法正确检测到主机名

main.pid-file

将在其中写入服务器PID的文件

main.uid

当服务器由init启动时用于启动服务器的用户帐户

main.session-time [30*60]

RQL会话超时

main.query-log-file

写入服务器执行的所有请求rql的文件

6.4. 配置电子邮件

RQL和Web服务器端:

email.mangle-mails [no]

指示电子邮件地址必须显示为“原样”还是“已转换”

RQL服务器端:

email.smtp-host [mail]

承载用于发送邮件的SMTP服务器的主机名

email.smtp-port [25]

用于发送邮件的SMTP服务器端口

email.sender-name

用于发送实例邮件的名称

email.sender-addr

实例的外发邮件地址

email.default dest-addrs

默认情况下,如果模型分发配置使用目标地址(用逗号分隔)

email.supervising-addrs

监管电子邮件的目的地地址(用逗号分隔)

6.5. 配置日志记录

main.log-threshold

筛选消息的级别(调试、信息、警告、错误)

main.log-file

要写入消息的文件

6.6. 配置持久属性

其他配置设置的形式为实体 CWProperty 在数据库中。它必须通过Web界面或RQL查询进行编辑。

ui.encoding

用于Web的字符编码

navigation.short-line-size

“短”显示的字符数

navigation.page-size

每个结果页显示的最大实体数

navigation.related-limit

要在主实体视图中显示的相关实体数

navigation.combobox-limit

与在编辑实体视图上的视线下拉列表中显示的实体数无关

6.7. 跨源资源共享

CubicWeb为 CORS 协议。目前,提供的实现只处理对CubicWeb实例的整体访问。将来可能会考虑支持更细的粒度。

所提供实施的具体情况:

  • Access-Control-Allow-Credentials 总是正确的

  • Access-Control-Allow-Origin header in response will never be *

  • Access-Control-Expose-Headers 可全局配置(见下文)

  • Access-Control-Max-Age 可全局配置(见下文)

  • Access-Control-Allow-Methods 可全局配置(见下文)

  • Access-Control-Allow-Headers 可全局配置(见下文)

可以设置一些参数来配置 CORS CubicWeb的功能。

access-control-allow-origin

允许的原始域的逗号分隔列表或任何域的“*”

access-control-allow-methods

允许的HTTP方法的逗号分隔列表

access-control-max-age

跨源资源共享的最大期限(秒)

access-control-allow-headers

允许的HTTP自定义头的逗号分隔列表(用于简单请求)

access-control-expose-headers

允许的HTTP自定义头的逗号分隔列表(用于飞行前请求)