cubicweb logo

Table Of Contents

Previous topic

3. Creation of your first instance

Next topic

5. User interface for web site configuration

This Page

4. Configure an instance

On a Unix system, the instances are usually stored in the directory /etc/cubicweb.d/. During development, the ~/etc/cubicweb.d/ directory is looked up, as well as the paths in CW_INSTANCES_DIR environment variable.

While creating an instance, a configuration file is generated in:

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

For example:

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

It is a simple text file in the INI format (http://en.wikipedia.org/wiki/INI_file). In the following description, each option name is prefixed with its own section and followed by its default value if necessary, e.g. “<section>.<option> [value].”

4.1. Configuring the Web server

web.auth-model [cookie]:
 authentication mode, cookie or http
web.realm:realm of the instance in http authentication mode
web.http-session-time [0]:
 period of inactivity of an HTTP session before it closes automatically. Duration in seconds, 0 meaning no expiration (or more exactly at the closing of the browser client)
main.anonymous-user, main.anonymous-password:
 login and password to use to connect to the RQL server with HTTP anonymous connection. CWUser account should exist.
main.base-url:url base site to be used to generate the urls of web pages

4.1.1. Https configuration

It is possible to make a site accessible for anonymous http connections and https for authenticated users. This requires to use apache (for example) for redirection and the variable main.https-url of configuration file.

Example:

For an apache redirection of a site accessible via http://localhost/demo and https://localhost/demo and actually running on port 8080, it takes to the http::

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

and for the https::

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

and we will file in the all-in-one.conf of the instance::

base-url = http://localhost/demo
https-url = https://localhost/demo

4.2. Setting up the web client

web.embed-allowed:
 regular expression matching sites which could be “embedded” in the site (controllers ‘embed’)
web.submit-url:url where the bugs encountered in the instance can be mailed to

4.3. RQL server configuration

main.host:host name if it can not be detected correctly
main.pid-file:file where will be written the server pid
main.uid:user account to use for launching the server when it is root launched by init
main.session-time [30*60]:
 timeout of a RQL session
main.query-log-file:
 file where all requests RQL executed by the server are written

4.4. Pyro configuration for the instance

Web server side:

pyro.pyro-instance-id:
 pyro identifier of RQL server (e.g. the instance name)

RQL server side:

main.pyro-server:
 boolean to switch on/off pyro server-side
pyro.pyro-host:pyro host:port number. If no port is specified, it is assigned automatically.

RQL and web servers side:

pyro.pyro-ns-host:
 hostname hosting pyro server name. If no value is specified, it is located by a request from broadcast
pyro.pyro-ns-group:
 pyro group in which to save the instance (will default to ‘cubicweb’)

4.5. Configuring e-mail

RQL and web server side:

email.mangle-mails [no]:
 indicates whether the email addresses must be displayed as is or transformed

RQL server side:

email.smtp-host [mail]:
 hostname hosting the SMTP server to use for outgoing mail
email.smtp-port [25]:
 SMTP server port to use for outgoing mail
email.sender-name:
 name to use for outgoing mail of the instance
email.sender-addr:
 address for outgoing mail of the instance
email.default dest-addrs:
 destination addresses by default, if used by the configuration of the dissemination of the model (separated by commas)
email.supervising-addrs:
 destination addresses of e-mails of supervision (separated by commas)

4.6. Configuring logging

main.log-threshold:
 level of filtering messages (DEBUG, INFO, WARNING, ERROR)
main.log-file:file to write messages

4.7. Configuring persistent properties

Other configuration settings are in the form of entities CWProperty in the database. It must be edited via the web interface or by RQL queries.

ui.encoding:Character encoding to use for the web
navigation.short-line-size:
 number of characters for “short” display
navigation.page-size:
 maximum number of entities to show per results page
navigation.related-limit:
 number of related entities to show up on primary entity view
navigation.combobox-limit:
 number of entities unrelated to show up on the drop-down lists of the sight on an editing entity view