Configuration for PhpWiki config/config.ini

Using this configurator.php is experimental!
On any configuration problems, please edit the resulting config.ini manually.

Part Zero

Part Zero: (optional) Latest Development and Tricky Options

Hide options.

PHP include_path

If PHP needs help in finding where you installed the rest of the PhpWiki code, you can set the include_path here.

Override the PHP include path so that it can find some needed additional libraries. You shouldn't need to do this unless your system include_path esp. your system pear libs are broken or oudated. The PHPWIKI_DIR is automatically put to the front and the local lib/pear path is automatically added to the end. But if you define it, be sure to include either the system pear path or the phpwiki/lib/pear path to override your Pear_DB. Note that on Windows-based servers, you should use ; rather than : as the path separator.

INCLUDE_PATH

Input accepted.

DEBUG

Set DEBUG to 1 to view the XHTML and CSS validator icons, page processing timer, and possibly other debugging messages at the bottom of each page. 65 for a more verbose level with AUTH hints. See lib/config.php for all supported values.

DEBUG

Input accepted.

ENABLE_USER_NEW

Enable the new method of handling WikiUser Authetincation and Preferences. It's best to leave it on, and only disable it if you have problems with it. Servers with memory-limit problems might want to turn it off. It costs ~300KB Default: true

ENABLE_USER_NEW

ENABLE_PAGEPERM

Use access control lists (as in Solaris and Windows NTFS) per page and group, not per user for the whole wiki.

I suspect ACL page permissions to degrade speed by 10%. GROUP_METHOD=WIKIPAGE is slowest. (See Part 3a) Default: true

ENABLE_PAGEPERM

ENABLE_EDIT_TOOLBAR

Graphical buttons on edit. Default: true. Reportedly broken on MacOSX Safari

ENABLE_EDIT_TOOLBAR

JS_SEARCHREPLACE

Adds two additional buttons in EDIT_TOOLBAR, Search&Replace and Undo. Undo is experimental.

JS_SEARCHREPLACE

ENABLE_DOUBLECLICKEDIT

Default: true

ENABLE_DOUBLECLICKEDIT

ENABLE_XHTML_XML

Needed for inlined SVG and MathM, but may conflict with javascript:document.write(). Experimental. Default: false

ENABLE_XHTML_XML

USECACHE

Store DB query results in memory to avoid duplicate queries. Disable only for old php's with low memory or memory_limit=8MB. Default: true

USECACHE

ENABLE_SPAMASSASSIN

Needs babycart installed. See http://phpwiki.org/SpamAssassinIntegration Optionally define BABYCART_PATH. Default: /usr/local/bin/babycart

ENABLE_SPAMASSASSIN

GOOGLE_LINKS_NOFOLLOW

If enabled ref=nofollow is added to all external links to discourage spam. You might want to turn it off, if you want to improve pageranks on external links.

GOOGLE_LINKS_NOFOLLOW

ENABLE_LIVESEARCH

LiveSearch enables immediate title search results via XMLHttpRequest. Displays the results in a dropdown under the titlesearch inputbox while typing. (experimental, only with certain themes) You'll have to copy livesearch.js from http://blog.bitflux.ch/wiki/LiveSearch to themes/default/ and define ENABLE_LIVESEARCH in config.ini to true. See themes/blog/themeinfo.php. Currently we use the bitflux.ch library, but we will change to the russian acdropdown soon. http://momche.net/publish/article.php?page=acdropdown

ENABLE_LIVESEARCH

USE_SAFE_DBSESSION

USE_SAFE_DBSESSION should be enabled, if you encounter session problems, with duplicate INSERT sess_id warnings at the bottom of the page. Reason is a unreliable affected_rows implementation() in the sql backend. Default is Disabled, using the fastest DbSession UPDATE method.

USE_SAFE_DBSESSION

Part One

Part One: Authentication and security settings. See Part Three for more.

Hide options.

Admin Username

You must set this! Username and password of the administrator.

ADMIN_USER

Input accepted.

Admin Password

For heaven's sake pick a good password. If your version of PHP supports encrypted passwords, your password will be automatically encrypted within the generated config file. Use the "Create Random Password" button to create a good (random) password.

ADMIN_PASSWD is ignored on HttpAuth

ADMIN_PASSWD
  

Input accepted.

Encrypted Passwords

It is recommended that you use encrypted passwords to be stored in the config.ini and the users homepages metadata. You might want to use the passencrypt.php utility to encode the admin password, in the event that someone gains ftp or ssh access to the server and directory containing phpwiki. SQL access passwords cannot be encrypted, besides using external DATABASE_DSN aliases within PDO.

If true, all user passwords will be stored encrypted. You might have to set it to false, if your PHP doesn't support crypt().

ENCRYPTED_PASSWD

Wiki Name

The name of your wiki.

This is used to generate a keywords meta tag in the HTML templates, in bookmark titles for any bookmarks made to pages in your wiki, and during RSS generation for the title of the RSS channel.

It is recommended this be a relatively short WikiWord like the InterWiki monikers found in the InterWikiMap. (For examples, see lib/interwiki.map).

WIKI_NAME

Input accepted.

Reverse DNS

If set, we will perform reverse dns lookups to try to convert the users IP number to a host name, even if the http server didn't do it for us.

ENABLE_REVERSE_DNS

ZIPdump Authentication

If true, only the admin user can make zip dumps, else zip dumps require no authentication.

ZIPDUMP_AUTH

Enable RawHtml Plugin

The RawHtml plugin allows page authors to embed real, raw HTML into Wiki pages. This is a possible security threat, as much HTML (or, rather, JavaScript) can be very risky. If you are in a controlled environment, however, it could be of use.

ENABLE_RAW_HTML

Allow RawHtml Plugin only on locked pages

If this is set, only pages locked by the Administrator may contain the RawHtml plugin.

ENABLE_RAW_HTML_LOCKEDONLY

Allow RawHtml Plugin if safe HTML code

If this is set, all unsafe html code is stripped automatically (experimental!) See chxo.com/scripts/safe_html-test.php

ENABLE_RAW_HTML_SAFE

Maximum Upload Size

The maximum file upload size.

MAX_UPLOAD_SIZE

Input accepted.

Minor Edit Timeout

If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the default state for the "minor edit" checkbox on the edit page form will be off.

MINOR_EDIT_TIMEOUT

Input accepted.

Disabled Actions

Actions listed in this array will not be allowed. Actions are: browse, create, diff, dumphtml, dumpserial, edit, loadfile, lock, remove, unlock, upload, viewsource, zip, ziphtml

DISABLED_ACTIONS

Input accepted.

Access Log File

PhpWiki can generate an access_log (in "NCSA combined log" format) for you. If you want one, define this to the name of the log file, such as /tmp/wiki_access_log. Preferred is to use SQL access logging as below.

Default: empty - no access log file will be generated.

ACCESS_LOG

Input accepted.

Access Log SQL

PhpWiki can read and/or write apache-style mod_log_sql accesslog tables for faster abuse detection and referer lists. See http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178

If defined (e.g. 1) only read-access is done via SQL. If flag 2 is set, phpwiki also writes. (Default on SQL or ADODB) This must use DATABASE_TYPE = SQL or ADODB.

ACCESS_LOG_SQL

Compress Output

By default PhpWiki will try to have PHP compress it's output before sending it to the browser (if you have a recent enough version of PHP and the action and the browser supports it.)

Define COMPRESS_OUTPUT to false to prevent output compression at all.

Define COMPRESS_OUTPUT to true to force output compression, even if we think your version of PHP does this in a buggy fashion.

Leave it undefined to leave the choice up to PhpWiki.

COMPRESS_OUTPUT

HTTP Cache Control

HTTP CACHE_CONTROL

This controls how PhpWiki sets the HTTP cache control headers (Expires: and Cache-Control:)

Choose one of:

NO_CACHE
This is roughly the old (pre 1.3.4) behaviour. PhpWiki will instruct proxies and browsers never to cache PhpWiki output.

STRICT
Cached pages will be invalidated whenever the database global timestamp changes. This should behave just like NONE (modulo bugs in PhpWiki and your proxies and browsers), except that things will be slightly more efficient.

LOOSE
Cached pages will be invalidated whenever they are edited, or, if the pages include plugins, when the plugin output could concievably have changed.

Behavior should be much like STRICT, except that sometimes wikilinks will show up as undefined (with the question mark) when in fact they refer to (recently) created pages. (Hitting your browsers reload or perhaps shift-reload button should fix the problem.)

ALLOW_STALE
Proxies and browsers will be allowed to used stale pages. (The timeout for stale pages is controlled by CACHE_CONTROL_MAX_AGE.)

This setting will result in quirky behavior. When you edit a page your changes may not show up until you shift-reload the page, etc...

This setting is generally not advisable, however it may be useful in certain cases (e.g. if your wiki gets lots of page views, and few edits by knowledgable people who won't freak over the quirks.)

The default is currently LOOSE.

CACHE_CONTROL

HTTP Cache Control Max Age

Maximum page staleness, in seconds.

CACHE_CONTROL_MAX_AGE

Input accepted.

Markup Caching

MARKUP CACHING

PhpWiki normally caches a preparsed version (i.e. mostly converted to HTML) of the most recent version of each page. (Parsing the wiki-markup takes a fair amount of CPU.)

Define WIKIDB_NOCACHE_MARKUP to true to disable the caching of marked-up page content.

Note that you can also disable markup caching on a per-page temporary basis by addinging a query arg of '?nocache=1' to the URL to the page. (Use '?nocache=purge' to completely discard the cached version of the page.)

You can also purge the cached markup globally by using the "Purge Markup Cache" button on the PhpWikiAdministration page.

WIKIDB_NOCACHE_MARKUP

Path for PHP Session Support

The login code now uses PHP session support. Usually, the default configuration of PHP is to store the session state information in /tmp. That probably will work fine, but fails e.g. on clustered servers where each server has their own distinct /tmp (this is the case on SourceForge's project web server.) You can specify an alternate directory in which to store state information like so (whatever user your httpd runs as must have read/write permission in this directory).

On USE_DB_SESSION = true you can ignore this.

SESSION_SAVE_PATH

Input accepted.

Part Two

Part Two: Database Configuration

Hide options.

Database Type

Select the database backend type: Choose dba (default) to use one of the standard UNIX dba libraries. This is the fastest. Choose ADODB or SQL to use an SQL database with ADODB or PEAR. Choose PDO on php5 to use an SQL database. flatfile is simple and slow. CVS is highly experimental and slow. Recommended is dba or SQL: PEAR or ADODB.

DATABASE_TYPE

SQL DSN Setup

For SQL based backends, specify the database as a DSN The most general form of a DSN looks like:

  phptype(dbsyntax)://username:password@protocol+hostspec/database?option=value

For a MySQL database, the following should work:

   mysql://user:password@host/databasename

To connect over a unix socket, use something like

   mysql://user:password@unix(/path/to/socket)/databasename
  DATABASE_DSN = mysql://guest@:/var/lib/mysql/mysql.sock/phpwiki
  DATABASE_DSN = mysql://guest@localhost/phpwiki
  DATABASE_DSN = pgsql://localhost/user_phpwiki
 Not editable.

SQL Type

SQL DB types. The DSN hosttype.

SQL User

SQL User Id:

Input accepted.

SQL Password

SQL Password:

Input accepted.

SQL Database Host

SQL Database Hostname:

To connect over a local named socket, use something like

  unix(/var/lib/mysql/mysql.sock)

here. mysql on Windows via named pipes might need 127.0.0.1

Input accepted.

SQL Database Name

SQL Database Name:

Input accepted.

SQL dsn

Calculated from the settings above:

 DATABASE_DSN
Not editable.
mysql://guest@unix(/var/lib/mysql/mysql.sock)/test

Filename / Table name Prefix

Used by all DB types:

Prefix for filenames or table names, e.g. "phpwiki_"

Currently you MUST EDIT THE SQL file too! (in the schemas/ directory because we aren't doing on the fly sql generation during the installation.

DATABASE_PREFIX

Input accepted.

DB Session table

Tablename to store session information. Only supported by SQL backends.

A word of warning - any prefix defined above will be prepended to whatever is given here.

DATABASE_SESSION_TABLE

Input accepted.

dba directory

dba directory:

DATABASE_DIRECTORY

Input accepted.

dba handler

Use 'gdbm', 'dbm', 'db2', 'db3' or 'db4' depending on your DBA handler methods supported:

DATABASE_DBA_HANDLER

dba timeout

Recommended values are 10-20 seconds. The more load the server has, the higher the timeout.

DATABASE_TIMEOUT

Input accepted.

DATABASE_PERSISTENT

Use persistent database connections for SQL databases, if the database backend supports it. Not recommended for heavily loaded servers. Default: false

DATABASE_PERSISTENT

Page Revisions

Section 2a: Archive Cleanup The next section controls how many old revisions of each page are kept in the database.

There are two basic classes of revisions: major and minor. Which class a revision belongs in is determined by whether the author checked the "this is a minor revision" checkbox when they saved the page. There is, additionally, a third class of revisions: author revisions. The most recent non-mergable revision from each distinct author is and author revision.

The expiry parameters for each of those three classes of revisions can be adjusted seperately. For each class there are five parameters (usually, only two or three of the five are actually set) which control how long those revisions are kept in the database.

max_keep:
If set, this specifies an absolute maximum for the number of archived revisions of that class. This is meant to be used as a safety cap when a non-zero min_age is specified. It should be set relatively high, and it's purpose is to prevent malicious or accidental database overflow due to someone causing an unreasonable number of edits in a short period of time.
min_age:
Revisions younger than this (based upon the supplanted date) will be kept unless max_keep is exceeded. The age should be specified in days. It should be a non-negative, real number,
min_keep:
At least this many revisions will be kept.
keep:
No more than this many revisions will be kept.
max_age:
No revision older than this age will be kept.

Supplanted date: Revisions are timestamped at the instant that they cease being the current revision. Revision age is computed using this timestamp, not the edit time of the page.

Merging: When a minor revision is deleted, if the preceding revision is by the same author, the minor revision is merged with the preceding revision before it is deleted. Essentially: this replaces the content (and supplanted timestamp) of the previous revision with the content after the merged minor edit, the rest of the page metadata for the preceding version (summary, mtime, ...) is not changed.

 Not editable.

Major Edits: keep minumum days

Default: Keep at least for unlimited time. Set to 0 to enable archive cleanup

MAJOR_MIN_KEEP

Input accepted.

Minor Edits: keep minumum days

Default: Keep at least for unlimited time. Set to 0 to enable archive cleanup

MINOR_MIN_KEEP

Input accepted.

Major Edits: how many

Keep up to 8 major edits

MAJOR_KEEP

Input accepted.

Major Edits: how many days

keep them no longer than a month

MAJOR_MAX_AGE

Input accepted.

Minor Edits: how many

Keep up to 4 minor edits

MINOR_KEEP

Input accepted.

Minor Edits: how many days

keep them no longer than a week

MINOR_MAX_AGE

Input accepted.

per Author: how many

Keep the latest contributions of the last 8 authors,

AUTHOR_KEEP

Input accepted.

per Author: how many days

up to a year.

AUTHOR_MAX_AGE

Input accepted.

per Author: keep minumum days

Additionally, (in the case of a particularly active page) try to keep the latest contributions of all authors in the last week (even if there are more than eight of them,)

AUTHOR_MIN_AGE

Input accepted.

per Author: max revisions

but in no case keep more than twenty unique author revisions.

AUTHOR_MAX_KEEP

Input accepted.

Part Three

Part Three: (optional) Basic User Authentication Setup

Hide options.

Publicly viewable

If ALLOW_ANON_USER is false, you have to login before viewing any page or doing any other action on a page.

ALLOW_ANON_USER

Allow anonymous edit

If ALLOW_ANON_EDIT is false, you have to login before editing or changing any page. See below.

ALLOW_ANON_EDIT

Allow Bogo Login

If ALLOW_BOGO_LOGIN is false, you may not login with any wikiword username and empty password. If true, users are allowed to create themselves with any WikiWord username. See below.

ALLOW_BOGO_LOGIN

Allow User Passwords

Many different methods can be used to check user's passwords. Try any of these in the given order:

BogoLogin
WikiWord username, with no *actual* password checking, although the user will still have to enter one.
PersonalPage
Store passwords in the users homepage metadata (simple)
Db
Use DBAUTH_AUTH_* (see below) with PearDB or ADODB only.
LDAP
Authenticate against LDAP_AUTH_HOST with LDAP_BASE_DN
IMAP
Authenticate against IMAP_AUTH_HOST (email account)
POP3
Authenticate against POP3_AUTH_HOST (email account)
Session
Get username and level from a PHP session variable. (e.g. for gforge)
File
Store username:crypted-passwords in .htaccess like files. Use Apache's htpasswd to manage this file.
HttpAuth
Use the protection by the webserver (.htaccess/.htpasswd) (experimental) Enforcing HTTP Auth not yet. Note that the ADMIN_USER should exist also. Using HttpAuth disables all other methods and no userauth sessions are used.

Several of these methods can be used together, in the manner specified by USER_AUTH_POLICY, below. To specify multiple authentication methods, separate the name of each one with colons.

  USER_AUTH_ORDER = 'PersonalPage : Db'
  USER_AUTH_ORDER = 'BogoLogin : PersonalPage'
USER_AUTH_ORDER

Input accepted.

PASSWORD_LENGTH_MINIMUM

For 'security' purposes, you can specify that a password be at least a certain number of characters long. This applies even to the BogoLogin method. Default: 0 (to allow immediate passwordless BogoLogin)

PASSWORD_LENGTH_MINIMUM

Input accepted.

USER_AUTH_POLICY

The following policies are available for user authentication:

first-only
use only the first method in USER_AUTH_ORDER
old
ignore USER_AUTH_ORDER and try to use all available methods as in the previous PhpWiki releases (slow)
strict
check if the user exists for all methods: on the first existing user, try the password. dont try the other methods on failure then
stacked
check the given user - password combination for all methods and return true on the first success.
USER_AUTH_POLICY

Part Three A

Part Three A: (optional) Group Membership

Hide options.

Group membership

Group membership. PhpWiki supports defining permissions for a group as well as for individual users. This defines how group membership information is obtained. Supported values are:

"NONE"
Disable group membership (Fastest). Note the required quoting.
WIKIPAGE
Define groups as list at "CategoryGroup". (Slowest, but easiest to maintain)
DB
Stored in an SQL database. Optionally external. See USERS/GROUPS queries
FILE
Flatfile. See AUTH_GROUP_FILE below.
LDAP
LDAP groups. See "LDAP authentication options" above and lib/WikiGroup.php. (experimental)
GROUP_METHOD

CATEGORY_GROUP_PAGE

If GROUP_METHOD = WIKIPAGE:

Page where all groups are listed.

CATEGORY_GROUP_PAGE

Input accepted.

AUTH_GROUP_FILE

For GROUP_METHOD = FILE, the file given below is referenced to obtain group membership information. It should be in the same format as the standard unix /etc/groups(5) file.

AUTH_GROUP_FILE

Input accepted.

Part Three B

Part Three B: (optional) External database authentication and authorization.

If USER_AUTH_ORDER includes Db, or GROUP_METHOD = DB, the options listed below define the SQL queries used to obtain the information out of the database, and (optionally) store the information back to the DB.

Hide options.

DBAUTH_AUTH_DSN

A database DSN to connect to. Defaults to the DSN specified for the Wiki as a whole.

DBAUTH_AUTH_DSN

Input accepted.

User Exists Query

USER/PASSWORD queries:

For USER_AUTH_POLICY=strict and the Db method is required

DBAUTH_AUTH_USER_EXISTS

Input accepted.

Check Query

Check to see if the supplied username/password pair is OK

Plaintext passwords: (DBAUTH_AUTH_CRYPT_METHOD = plain)
; DBAUTH_AUTH_CHECK = "SELECT IF(passwd='$password',1,0) AS ok FROM user WHERE userid='$userid'"

database-hashed passwords (more secure):
; DBAUTH_AUTH_CHECK = "SELECT IF(passwd=PASSWORD('$password'),1,0) AS ok FROM user WHERE userid='$userid'"

DBAUTH_AUTH_CHECK

Input accepted.

Crypt Method

If you want to use Unix crypt()ed passwords, you can use DBAUTH_AUTH_CHECK to get the password out of the database with a simple SELECT query, and specify DBAUTH_AUTH_USER_EXISTS and DBAUTH_AUTH_CRYPT_METHOD:

; DBAUTH_AUTH_CHECK = "SELECT passwd FROM user where userid='$userid'"
; DBAUTH_AUTH_CRYPT_METHOD = crypt

DBAUTH_AUTH_CRYPT_METHOD

Update the user's authentication credential

If this is not defined but DBAUTH_AUTH_CHECK is, then the user will be unable to update their password.

Plaintext passwords:
DBAUTH_AUTH_UPDATE = "UPDATE user SET passwd='$password' WHERE userid='$userid'"
Database-hashed passwords:
DBAUTH_AUTH_UPDATE = "UPDATE user SET passwd=PASSWORD('$password') WHERE userid='$userid'"

DBAUTH_AUTH_UPDATE

Input accepted.

Allow the user to create their own account

If this is empty, Db users cannot subscribe by their own.

DBAUTH_AUTH_CREATE

Input accepted.

USER/PREFERENCE queries

If you choose to store your preferences in an external database, enable the following queries. Note that if you choose to store user preferences in the 'user' table, only registered users get their prefs from the database, self-created users do not. Better to use the special 'pref' table.

The prefs field stores the serialized form of the user's preferences array, to ease the complication of storage.

  DBAUTH_PREF_SELECT = "SELECT prefs FROM user WHERE userid='$userid'"
  DBAUTH_PREF_SELECT = "SELECT prefs FROM pref WHERE userid='$userid'"
DBAUTH_PREF_SELECT

Input accepted.

Update the user's preferences

Note that REPLACE works only with mysql and destroy all other columns!

Mysql: DBAUTH_PREF_UPDATE = "REPLACE INTO pref SET prefs='$pref_blob',userid='$userid'"

DBAUTH_PREF_UPDATE

Input accepted.

USERS/GROUPS queries

You can define 1:n or n:m user<=>group relations, as you wish.

Sample configurations:

only one group per user (1:n):
DBAUTH_IS_MEMBER = "SELECT user FROM user WHERE user='$userid' AND group='$groupname'"
DBAUTH_GROUP_MEMBERS = "SELECT user FROM user WHERE group='$groupname'"
DBAUTH_USER_GROUPS = "SELECT group FROM user WHERE user='$userid'"
multiple groups per user (n:m):
DBAUTH_IS_MEMBER = "SELECT userid FROM member WHERE userid='$userid' AND groupname='$groupname'"
DBAUTH_GROUP_MEMBERS = "SELECT DISTINCT userid FROM member WHERE groupname='$groupname'"
DBAUTH_USER_GROUPS = "SELECT groupname FROM member WHERE userid='$userid'"

DBAUTH_IS_MEMBER

Input accepted.

DBAUTH_GROUP_MEMBERS

DBAUTH_GROUP_MEMBERS

Input accepted.

DBAUTH_USER_GROUPS

DBAUTH_USER_GROUPS

Input accepted.

LDAP Authentication

; Ignored. No LDAP support in this php. configure --with-ldap

 LDAP Authentication
Not editable.
If USER_AUTH_ORDER contains Ldap:

The LDAP server to connect to.  Can either be a hostname, or a complete
URL to the server (useful if you want to use ldaps or specify a different
port number).
;LDAP_AUTH_HOST = "ldap://localhost:389"

; The organizational or domain BASE DN: e.g. "dc=mydomain,dc=com".
;
; Note: ou=Users and ou=Groups are used for GroupLdap Membership
; Better use LDAP_OU_USERS and LDAP_OU_GROUP with GROUP_METHOD=LDAP.
;LDAP_BASE_DN = "ou=Users,o=Development,dc=mycompany.com"

; Some LDAP servers need some more options, such as the Windows Active
; Directory Server.  Specify the options (as allowed by the PHP LDAP module)
; and their values as NAME=value pairs separated by colons.
; LDAP_SET_OPTION = "LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0"

; DN to initially bind to the LDAP server as. This is needed if the server doesn't 
; allow anonymous queries. (Windows Active Directory Server)
; LDAP_AUTH_USER = "CN=ldapuser,ou=Users,o=Development,dc=mycompany.com"

; Password to use to initially bind to the LDAP server, as the DN 
; specified in the LDAP_AUTH_USER option (above).
; LDAP_AUTH_PASSWORD = secret

; If you want to match usernames against an attribute other than uid,
; specify it here. Default: uid
; LDAP_SEARCH_FIELD = sAMAccountName

; If you have an organizational unit for all users, define it here.
; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
; Default: ou=Users
; LDAP_OU_USERS = ou=Users

; If you have an organizational unit for all groups, define it here.
; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
; The entries in this ou must have a gidNumber and cn attribute.
; Default: ou=Groups
; LDAP_OU_GROUP = ou=Groups

IMAP Auth Host

If USER_AUTH_ORDER contains IMAP:

The IMAP server to check usernames from. Defaults to localhost.

Some IMAP_AUTH_HOST samples: localhost, localhost:143/imap/notls, localhost:993/imap/ssl/novalidate-cert (SuSE refuses non-SSL conections)

IMAP_AUTH_HOST

Input accepted.

POP3 Authentication

If USER_AUTH_ORDER contains POP3:

The POP3 mail server to check usernames and passwords against.

POP3_AUTH_HOST

Input accepted.

File Authentication

If USER_AUTH_ORDER contains File:

File to read for authentication information. Popular choices are /etc/shadow and /etc/httpd/.htpasswd

AUTH_USER_FILE

Input accepted.

File Storable?

Defines whether the user is able to change their own password via PhpWiki. Note that this means that the webserver user must be able to write to the file specified in AUTH_USER_FILE.

AUTH_USER_FILE_STORABLE

Session Auth USER

If USER_AUTH_ORDER contains Session:

Name of the session variable which holds the already authenticated username. Sample: 'userid', 'user[username]', 'user->username'

AUTH_SESS_USER

Input accepted.

Session Auth LEVEL

Which level will the user be? 1 = Bogo or 2 = Pass

AUTH_SESS_LEVEL

Input accepted.

Part Four

Part Four: Page appearance and layout

Hide options.

Theme

THEME

Most of the page appearance is controlled by files in the theme subdirectory.

There are a number of pre-defined themes shipped with PhpWiki. Or you may create your own (e.g. by copying and then modifying one of stock themes.)

  THEME = default
  THEME = MacOSX
  THEME = smaller
  THEME = Wordpress
  THEME = Portland
  THEME = Sidebar
  THEME = Crao
  THEME = wikilens (Ratings)
  THEME = Hawaiian
  THEME = SpaceWiki
  THEME = Hawaiian

Problems:

  THEME = MonoBook (WikiPedia) [experimental. MSIE problems]
  THEME = blog     (Kubrick)   [experimental. Several links missing]
THEME

Character Set

Select a valid charset name to be inserted into the xml/html pages, and to reference links to the stylesheets (css). For more info see: http://www.iana.org/assignments/character-sets. Note that PhpWiki has been extensively tested only with the latin1 (iso-8859-1) character set.

If you change the default from iso-8859-1 PhpWiki may not work properly and it will require code modifications. However, character sets similar to iso-8859-1 may work with little or no modification depending on your setup. The database must also support the same charset, and of course the same is true for the web browser. (Some work is in progress hopefully to allow more flexibility in this area in the future).

CHARSET

Input accepted.

Language

Select your language/locale - default language is "en" for English. Other languages available:

English "en"  (English    - HomePage)
German  "de" (Deutsch    - StartSeite)
French  "fr" (Français   - Accueil)
Dutch   "nl" (Nederlands - ThuisPagina)
Spanish "es" (Español    - PáginaPrincipal)
Swedish "sv" (Svenska    - Framsida)
Italian "it" (Italiano   - PaginaPrincipale)
Japanese "ja" (Japanese   - ¥Û¡¼¥à¥Ú¡¼¥¸)
Chinese  "zh" (Chinese)

If you set DEFAULT_LANGUAGE to the empty string, your systems default language (as determined by the applicable environment variables) will be used.

DEFAULT_LANGUAGE

Wiki Page Source

WIKI_PGSRC -- specifies the source for the initial page contents of the Wiki. The setting of WIKI_PGSRC only has effect when the wiki is accessed for the first time (or after clearing the database.) WIKI_PGSRC can either name a directory or a zip file. In either case WIKI_PGSRC is scanned for files -- one file per page.

// Default (old) behavior:
define('WIKI_PGSRC', 'pgsrc'); 
// New style:
define('WIKI_PGSRC', 'wiki.zip'); 
define('WIKI_PGSRC', 
       '../Logs/Hamwiki/hamwiki-20010830.zip'); 
WIKI_PGSRC

Input accepted.

Part Five

Part Five: Mark-up options

Hide options.

Allowed Protocols

Allowed protocols for links - be careful not to allow "javascript:" URL of these types will be automatically linked. within a named link [name|uri] one more protocol is defined: phpwiki

ALLOWED_PROTOCOLS

Input accepted.

Inline Images

URLs ending with the following extension should be inlined as images. Scripts shoud not be allowed!

INLINE_IMAGES

Input accepted.

WikiName Regexp

Perl regexp for WikiNames ("bumpy words") (?<!..) & (?!...) used instead of '\b' because \b matches '_' as well

WIKI_NAME_REGEXP

Input accepted.

Subpage Separator

One character which seperates pages from subpages. Defaults to '/', but '.' or ':' were also used.

SUBPAGE_SEPARATOR

Input accepted.

InterWiki Map File

InterWiki linking -- wiki-style links to other wikis on the web

The map will be taken from a page name InterWikiMap. If that page is not found (or is not locked), or map data can not be found in it, then the file specified by INTERWIKI_MAP_FILE (if any) will be used.

INTERWIKI_MAP_FILE

Input accepted.

WARN_NONPUBLIC_INTERWIKIMAP

Display a warning if the internal lib/interwiki.map is used, and not the public InterWikiMap page. This map is not readable from outside.

WARN_NONPUBLIC_INTERWIKIMAP

Keyword Link Regexp

Search term used for automatic page classification by keyword extraction.

Any links on a page to pages whose names match this search will be used keywords in the keywords html meta tag. This is an aid to classification by search engines. The value of the match is used as the keyword.

The default behavior is to match Category* or Topic* links.

KEYWORDS

Input accepted.

Author and Copyright Site Navigation Links

These will be inserted as tags in the html header of every page, for search engines and for browsers like Mozilla which take advantage of link rel site navigation.

If you have your own copyright and contact information pages change these as appropriate.

COPYRIGHTPAGE_TITLE

Input accepted.

COPYRIGHTPAGE URL

Other useful alternatives to consider:

 COPYRIGHTPAGE_TITLE = "GNU Free Documentation License"
 COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/fdl.html"
 COPYRIGHTPAGE_TITLE = "Creative Commons License 2.0"
 COPYRIGHTPAGE_URL = "http://creativecommons.org/licenses/by/2.0/"

See http://creativecommons.org/learn/licenses/ for variations

COPYRIGHTPAGE_URL

Input accepted.

AUTHORPAGE_TITLE

Default Author Names

AUTHORPAGE_TITLE

Input accepted.

AUTHORPAGE_URL

Default Author URL

AUTHORPAGE_URL

Input accepted.

Part Six

Part Six (optional): URL options -- you can probably skip this section.

For a pretty wiki (no index.php in the url) set a seperate DATA_PATH.

Hide options.

Server Name

Canonical name of the server on which this PhpWiki resides.

SERVER_NAME

Input accepted.

Server Port

Canonical httpd port of the server on which this PhpWiki resides.

SERVER_PORT

Input accepted.

Script Name

Relative URL (from the server root) of the PhpWiki script.

SCRIPT_NAME

Input accepted.

Data Path

URL of the PhpWiki install directory. (You only need to set this if you've moved index.php out of the install directory.) This can be either a relative URL (from the directory where the top-level PhpWiki script is) or an absolute one.

DATA_PATH

Input accepted.

PhpWiki Install Directory

Path to the PhpWiki install directory. This is the local filesystem counterpart to DATA_PATH. (If you have to set DATA_PATH, your probably have to set this as well.) This can be either an absolute path, or a relative path interpreted from the directory where the top-level PhpWiki script (normally index.php) resides.

PHPWIKI_DIR

Input accepted.

Use PATH_INFO

PhpWiki will try to use short urls to pages, eg http://www.example.com/index.php/HomePage If you want to use urls like http://www.example.com/index.php?pagename=HomePage then define 'USE_PATH_INFO' as false by uncommenting the line below. NB: If you are using Apache >= 2.0.30, then you may need to to use the directive "AcceptPathInfo On" in your Apache configuration file (or in an appropriate <.htaccess> file) for the short urls to work: See http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo

See also http://phpwiki.sourceforge.net/phpwiki/PrettyWiki for more ideas on prettifying your urls.

Default: PhpWiki will try to divine whether use of PATH_INFO is supported in by your webserver/PHP configuration, and will use PATH_INFO if it thinks that is possible.

USE_PATH_INFO

Virtual Path

VIRTUAL_PATH is the canonical URL path under which your your wiki appears. Normally this is the same as dirname(SCRIPT_NAME), however using e.g. seperate starter scripts, apaches mod_actions (or mod_rewrite), you can make it something different.

If you do this, you should set VIRTUAL_PATH here or in the starter scripts.

E.g. your phpwiki might be installed at at /scripts/phpwiki/index.php, but you've made it accessible through eg. /wiki/HomePage.

One way to do this is to create a directory named 'wiki' in your server root. The directory contains only one file: an .htaccess file which reads something like:

    Action x-phpwiki-page /scripts/phpwiki/index.php
    SetHandler x-phpwiki-page
    DirectoryIndex /scripts/phpwiki/index.php

In that case you should set VIRTUAL_PATH to '/wiki'.

(VIRTUAL_PATH is only used if USE_PATH_INFO is true.)

VIRTUAL_PATH

Input accepted.

Part Seven

Part Seven:

Miscellaneous settings

Hide options.

Strict Mailable Pagedumps

If you define this to true, (MIME-type) page-dumps (either zip dumps, or "dumps to directory" will be encoded using the quoted-printable encoding. If you're actually thinking of mailing the raw page dumps, then this might be useful, since (among other things,) it ensures that all lines in the message body are under 80 characters in length.

Also, setting this will cause a few additional mail headers to be generated, so that the resulting dumps are valid RFC 2822 e-mail messages.

Probably, you can just leave this set to false, in which case you get raw ('binary' content-encoding) page dumps.

STRICT_MAILABLE_PAGEDUMPS

HTML Dump Filename Suffix

Here you can change the filename suffix used for XHTML page dumps. If you don't want any suffix just comment this out.

HTML_DUMP_SUFFIX

Input accepted.

Default local Dump Directory

Specify the default directory for local backups.

DEFAULT_DUMP_DIR

Input accepted.

Default local HTML Dump Directory

Specify the default directory for local XHTML dumps.

HTML_DUMP_DIR

Input accepted.

Pagename of Recent Changes

Page name of RecentChanges page. Used for RSS Auto-discovery.

RECENT_CHANGES

Input accepted.

Disable HTTP Redirects

(You probably don't need to touch this.)

PhpWiki uses HTTP redirects for some of it's functionality. (e.g. after saving changes, PhpWiki redirects your browser to view the page you just saved.)

Some web service providers (notably free European Lycos) don't seem to allow these redirects. (On Lycos the result in an "Internal Server Error" report.) In that case you can set DISABLE_HTTP_REDIRECT to true. (In which case, PhpWiki will revert to sneakier tricks to try to redirect the browser...)

DISABLE_HTTP_REDIRECT

Disable GETIMAGESIZE

Set GETIMAGESIZE to disabled, if your php fails to calculate the size on inlined images, or you don't want to disable too small images to be inlined.

Per default too small ploaded or external images are not displayed, to prevent from external 1 pixel spam.

DISABLE_GETIMAGESIZE

EDITING_POLICY

An interim page which gets displayed on every edit attempt, if it exists.

EDITING_POLICY

Input accepted.

ENABLE_MODERATEDPAGE_ALL

ENABLE_MODERATEDPAGE_ALL

FORTUNE_DIR

FORTUNE_DIR

Input accepted.

DBADMIN_USER

DBADMIN_USER

Input accepted.

DBADMIN_PASSWD

DBADMIN_PASSWD

Input accepted.

USE_EXTERNAL_HTML2PDF

USE_EXTERNAL_HTML2PDF

Input accepted.

BABYCART_PATH

BABYCART_PATH

Input accepted.

Part Seven A

Part Seven A:

Cached Plugin Settings. (pear Cache)

Hide options.

pear Cache USECACHE

Enable or disable pear caching of plugins.

PLUGIN_CACHED_USECACHE

pear Cache Database Container

Curently only file is supported. db, trifile and imgfile might be supported, but you must hack that by yourself.

PLUGIN_CACHED_DATABASE

pear Cache cache directory

Should be writable to the webserver.

PLUGIN_CACHED_CACHE_DIR

Input accepted.

pear Cache Filename Prefix

PLUGIN_CACHED_FILENAME_PREFIX

Input accepted.

pear Cache HIGHWATER

Garbage collection parameter.

PLUGIN_CACHED_HIGHWATER

Input accepted.

pear Cache LOWWATER

Garbage collection parameter.

PLUGIN_CACHED_LOWWATER

Input accepted.

pear Cache MAXLIFETIME

Garbage collection parameter.

PLUGIN_CACHED_MAXLIFETIME

Input accepted.

pear Cache MAXARGLEN

max. generated url length.

PLUGIN_CACHED_MAXARGLEN

Input accepted.

pear Cache FORCE_SYNCMAP

PLUGIN_CACHED_FORCE_SYNCMAP

pear Cache IMGTYPES

Handle those image types via GD handles. Check your GD supported image types.

PLUGIN_CACHED_IMGTYPES

Input accepted.

Fatal Error:

lib/IniConfig.php:124: Error: Datasource file '/usr/local/psa/home/vhosts/schmidthaus.net/httpdocs/event/config/config.ini' does not exist

lib/IniConfig.php:217: Notice: missing config setting for ADMIN_USER (...repeated 4 times)

lib/IniConfig.php:598: Warning: The ADMIN_USER password cannot be empty. Please update your configuration.

lib/IniConfig.php:598: Warning: The ADMIN_USER password cannot be empty. Please update your configuration.

configurator.php:2282: Warning: join() [<a href='function.join'>function.join</a>]: Bad arguments.


lib/IniConfig.php:124: Error: Datasource file '/usr/local/psa/home/vhosts/schmidthaus.net/httpdocs/event/config/config.ini' does not exist