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自定义头的逗号分隔列表(用于飞行前请求)