# Configuration Guide

The configuration file is used to control various aspects of wiki pages, including their location and their appearance.

## The configuration file

The Quickie configuration file is called "`quickie.conf`", but which directory the configuration file is located in is controlled by two factors.

If the `QUICKIE_SYSCONFDIR` environment variable is set, the `quickie.conf` file is looked for in this directory.

Otherwise, the compiled-in default is used. This default is set by using the `./configure --sysconfdir=`path command line option when the program was built. This often defaults to `${prefix}/etc`, and given that `$prefix` defaults to `/usr/local`, if you changed nothing, the file you are looking for is called `/usr/local/etc/quickie.conf`, but most Linux distributions (and many sites) override this using the `./configure --sysconfdir=/etc` option, making the path `/etc/quickie.conf` quite likely, as well.

## Viewing Current Settings

You can see the current values of all the configuration settings via the Settings page. Unlike regular wiki pages, this page is generated on-the-fly each time, and represents the current state of the wiki engine.

## The configuration fields

The `quickie.conf` file is composed of a number of fields. The field name is on the left, then a colon and white space, and then the value. The field name ares not case sensitive, but the values may be.

Comments are whole lines which start with a hash (`#`) character. Blank lines are ignored.

In general, numeric fields can have K or M suffixes to indicate 2**10 and 2**20 multipliers.

Each configuration field is described below.

### Anonymous User Edit

The anonymous-user-edit field is used to control whether or non anonymous users (users who are not logged in) may edit wiki pages. Defaults to false if not set, i.e. users must be logged in.

### Chroot

The chroot field is a boolean, and is used to control whether or not the server changes it's root path into the localstatedir directory before processing requests. This offers a small measure of protection against wily hackers who exploit bugs in Quickie (no security bugs are known, at this time). This field defaults to false if not set.

Unfortunately, modern systems now make chroot(2) a privileged operation (because it can lead to root escalation) and thus not universally available, which is a what a default of true assumes.

Please not that, as a result of the chroot(2) system call the localstatedir will be displayed on the Current Settings page as `"/"`.

You will also need to duplicate the file(1) magic number database inside the chroot jail, otherwise it's going to give useless Content-Type headers for all non-wiki pages.

### Default User Edit

The default-user-edit field is used to populate the user permission to edit wiki pages when a new user is created. Defaults to true if not set.

### Local State Dir

The localstatedir field can be set from three places, whichever is found first: the `QUICKIE_LOCALSTATEDIR` environment variable, or the localstatedir field of the `quickie.conf` file, or the `./configure --localstatedir=`path command line option at build time.

The line in the `quickie.conf` file could look like this:

    localstatedir: /var/quickie

The usual place is `/var/quickie` by convention, but suit yourself.

### Post-Limit

The post-limit field can be used to limit the amount of data fed through POST requests to the Quickie server. This can be used to prevent your server from becoming a free file server. Defaults to 100K if not set. A value of zero means unlimited.

### Recent-Limit

The recent-limit field is used to control the number of pages shown in the Recent Changes page. It defaults to 100 if not set.

### Show Mod Times

The show-mod-times field is use to control the addition of descriptive text showing the time-last-modified (when the wiki text of the page was last modified) and time-last-updated (when the HMTL text of the wiki page was last cached) at the bottom of each page, after the Edit link.

    Show-Mod-Times: true

Defaults to `true` if not set.

### Sidebar-Layout

See the Sidebar Guide page for more information.

### Style Sheet File

The style-sheet-name field controls the name of the file in the `/admin/` directory which contains the CSS (Cascading Style Sheet) for this wiki. defaults to `default.css` if not set. See the Text Formatting Guide for more information.

### Umask

The umask field controls the file creation mask. It defaults to 022. See umask(2) for more information.

Edit this page. Historical versions.
This content last modified Sun Oct 7 18:10:39 2018. This html text generated Sun Oct 7 18:10:40 2018.