# Name of the web server's directory dedicated to the wiki is WIKI_DIR_NAME
WIKI_DIR_NAME=wiki

# Login and password of the wiki's admin
WIKI_ADMIN=WikiAdmin
WIKI_PASSW=AdminPass

# Address of the web server
SERVER_ADDR=localhost

# SQLite database of the wiki, named DB_FILE, is located in TMP
TMP=/tmp
DB_FILE=wikidb.sqlite

# If LIGHTTPD is not set to true, the script will use the defaut
# web server running in WIKI_DIR_INST.
WIKI_DIR_INST=/var/www

# If LIGHTTPD is set to true, the script will use Lighttpd to run
# the wiki.
LIGHTTPD=true

# The variables below are useful only if LIGHTTPD is set to true.
PORT=1234
PHP_DIR=/usr/bin
LIGHTTPD_DIR=/usr/sbin
WEB=WEB
WEB_TMP=$WEB/tmp
WEB_WWW=$WEB/www

# The variables below are used by the script to install a wiki.
# You should not modify these unless you are modifying the script itself.
MW_VERSION=mediawiki-1.19.0
FILES_FOLDER=install-wiki
DB_INSTALL_SCRIPT=db_install.php
