# # quickie - a small fast C++ Wiki Wiki # Copyright (C) 2005 Peter Miller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. # # MANIFEST: var/manual/configuration.wiki # ! 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 [admin/settings|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 [admin/settings|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 [admin/recent|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 [manual/sidebar|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 [manual/markup|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.