1 ; This is the main configuration file for PhpWiki.
2 ; Note that certain characters are used as comment char and therefore
3 ; these entries must be in double-quotes. Such as ":", ";", "," and "|"
5 ; <?php die(); ?> for security
7 ; This file is divided into eight parts.
8 ; Each one has different configuration settings you can
9 ; change; in all cases the default should work on your system,
10 ; however, we recommend you tailor things to your particular setting.
11 ; Here undefined definitions get defined by config-default.ini settings.
13 ;=========================================================================
14 ; Part Zero: Latest Development and Tricky Options
15 ;=========================================================================
17 ; If PHP needs help in finding where you installed the rest of the PhpWiki
18 ; code, you can set the include_path here.
20 ; Override PHP's include path so that it can find some needed additional libraries.
21 ; You shouldn't need to do this unless your system include_path esp. your
22 ; system pear libs are broken or oudated. The PHPWIKI_DIR is automatically
23 ; put to the front and the local lib/pear path is automatically added to the end.
24 ; But if you define it, be sure to include either the system pear path or
25 ; the phpwiki/lib/pear path to override your Pear_DB.
26 ; Note that on Windows-based servers, you should use ; rather than :
27 ; as the path separator.
28 ;INCLUDE_PATH = ".:/usr/local/httpd/phpwiki:/usr/share/pear"
30 ; Set DEBUG to 1 to view the XHTML and CSS validator icons, page
31 ; processing timer, and possibly other debugging messages at the
32 ; bottom of each page. 2 for a more verbose level. See lib/config.php.
36 ; Enable the new method of handling WikiUsers. This is currently an
37 ; experimental feature, although it is considered fairly stable. It's best
38 ; to leave it on, and only disable it if you have problems with it.
39 ; Servers with memory-limit problems might want to turn it off. It costs ~300KB
41 ;ENABLE_USER_NEW = false
43 ; I suspect ACL page permissions to degrade speed by 10%. Default: true
44 ;ENABLE_PAGEPERM = false
46 ; Graphical buttons on edit. Default: true
47 ; Reportedly broken on MacOSX Safari
48 ;ENABLE_EDIT_TOOLBAR = false
50 ; Adds two additional buttons in EDIT_TOOLBAR, Search&Replace and Undo
52 ;JS_SEARCHREPLACE = true
55 ;ENABLE_DOUBLECLICKEDIT = false
57 ; Needed for inlined SVG and MathM, but may conflict with document.write().
58 ; Experimental. Default: false
59 ;ENABLE_XHTML_XML = true
61 ; Store DB query results in memory to avoid duplicate queries.
62 ; Disable only for old php's with low memory or memory_limit=8MB.
66 ; Needs babycart installed. See http://phpwiki.org/SpamAssassinIntegration
67 ; Optionally define BABYCART_PATH. Default: /usr/local/bin/babycart
68 ;ENABLE_SPAMASSASSIN = true
70 ; If GOOGLE_LINKS_NOFOLLOW is true, ref=nofollow is added to
71 ; all external links to discourage spam. You might want to turn it off,
72 ; if you want to improve pageranks on external links.
73 ;GOOGLE_LINKS_NOFOLLOW = false
75 ; LiveSearch enables immediate title search results via XMLHttpRequest.
76 ; Displays the results in a dropdown under the titlesearch inputbox
77 ; while typing. (experimental, only with certain themes)
78 ; You'll have to copy livesearch.js from http://blog.bitflux.ch/wiki/LiveSearch
79 ; to themes/default/ and define ENABLE_LIVESEARCH in config.ini to true.
80 ; See themes/blog/themeinfo.php.
81 ; Currently we use the bitflux.ch library, but we will change to
82 ; the russian acdropdown soon. http://momche.net/publish/article.php?page=acdropdown
83 ;ENABLE_LIVESEARCH = true
85 ;==========================================================================
86 ; Part One: Authentication and security settings.
88 ; See Part Three for more.
89 ;==========================================================================
91 ; The name of your wiki.
93 ; This is used to generate a keywords meta tag in the HTML templates,
94 ; in bookmark titles for any bookmarks made to pages in your wiki,
95 ; and during RSS generation for the <title> of the RSS channel.
97 ; To use your own logo and signature files, name them PhpWikiLogo.png
98 ; and PhpWikiSignature.png and put them into themes/default/images
99 ; (substituting "PhpWiki" in the filename with the name you define
102 ; It is recommended this be a relatively short WikiWord like the
103 ; InterWiki monikers found in the InterWikiMap. (For examples, see
104 ; lib/interwiki.map).
107 ; Visitor Hostname Lookup
109 ; If set, reverse dns lookups will be performed to attempt to convert
110 ; the user's IP number into a host name, in the case where the http
111 ; server does not do this.
112 ENABLE_REVERSE_DNS = true
114 ; Username and password of administrator.
116 ; Set these to your preferences. For heaven's sake pick a good
117 ; password and use the passencrypt.php tool to encrypt the password from
119 ; http://wolfram.org/writing/howto/password.html
121 ; Logging into the wiki with the admin user and password allows you to lock,
122 ; unlock, or remove pages and to perform other PhpWikiAdministration
123 ; functions. On all other occasions you should simply log in with your
125 ; If your password contains special chars like ";" or ":" better quote it in double-quotes.
127 ; ADMIN_PASSWD is ignored on HttpAuth
130 ; Encrypted passwords are the default. It is recommended that you use the
131 ; passencrypt.php or the configurator.php utility to encode the admin
132 ; password, which provides added security in the event that someone gains
133 ; ftp or shell access to the server and directory containing phpwiki. To
134 ; use plain text passwords, in particular for the ADMIN_PASSWD, set
135 ; ENCRYPTED_PASSWD to false.
136 ENCRYPTED_PASSWD = true
138 ; Private ZIP Dumps of All Wiki Pages
140 ; If true, only the admin user can make zip dumps. Otherwise anyone
141 ; may download all wiki pages as a single zip archive.
144 ; The RawHtml plugin allows page authors to embed real, raw HTML into Wiki
145 ; pages. This is a possible security threat, as much HTML (or, rather,
146 ; JavaScript) can be very risky. If you are in a controlled environment,
147 ; however, it could be of use.
148 ENABLE_RAW_HTML = true
149 ; If this is set, only pages locked by the Administrator may contain the
151 ENABLE_RAW_HTML_LOCKEDONLY = true
152 ; If this is set, all unsafe html code is stripped automatically (experimental!)
153 ; See http://chxo.com/scripts/safe_html-test.php
154 ENABLE_RAW_HTML_SAFE = true
156 ; If you define this to true, (MIME-type) page-dumps (either zip dumps,
157 ; or "dumps to directory" will be encoded using the quoted-printable
158 ; encoding. If you're actually thinking of mailing the raw page dumps,
159 ; then this might be useful, since (among other things,) it ensures
160 ; that all lines in the message body are under 80 characters in length.
162 ; Also, setting this will cause a few additional mail headers
163 ; to be generated, so that the resulting dumps are valid
164 ; RFC 2822 e-mail messages.
166 ; Probably you can just leave this set to false, in which case you get
167 ; raw ('binary' content-encoding) page dumps.
168 STRICT_MAILABLE_PAGEDUMPS = false
170 ; Here you can change the default dump directories.
171 ; (Can be overridden by the directory argument)
172 DEFAULT_DUMP_DIR = /tmp/wikidump
173 HTML_DUMP_DIR = /tmp/wikidumphtml
174 ; Filename suffix used for XHTML page dumps.
175 ; If you don't want any suffix just comment this out.
176 HTML_DUMP_SUFFIX = .html
178 ; The maximum file upload size, in bytes.
179 ; The default, 16777216, is 16MB.
180 MAX_UPLOAD_SIZE = 16777216
182 ; If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the
183 ; default state for the "minor edit" checkbox on the edit page form
185 ; The default, 604800, is one week (7 days)
186 MINOR_EDIT_TIMEOUT = 604800
188 ; Actions listed in this array will not be allowed. The complete list
189 ; of actions can be found in lib/main.php with the function
190 ; getActionDescription.
191 ; DISABLED_ACTIONS = "dumpserial : loadfile"
193 ; If you enable this option every page is moderated by the ModeratedPage
194 ; action page plugin. Changing a moderated page will be delayed to be
195 ; granted by a moderator by email.
196 ; ENABLE_MODERATEDPAGE_ALL = true
198 ; PhpWiki can generate an access_log (in "NCSA combined log" format)
199 ; for you. If you want one, define this to the name of the log
200 ; file. The server must have write access to the directory specified.
201 ; Note that even you define ACCESS_LOG_SQL logs are written to this file also.
202 ;ACCESS_LOG = /var/tmp/wiki_access_log
204 ; PhpWiki can read and/or write mod_log_sql accesslog tables for faster
205 ; abuse detection and referer lists.
206 ; If defined (e.g. 1) read-access is done via SQL.
207 ; If flag 2 is set, phpwiki also writes. (Default on SQL or ADODB)
208 ; This must use DATABASE_TYPE = SQL or ADODB
209 ;ACCESS_LOG_SQL = 1 ; phpwiki reads, apache mod_log_sql writes
210 ;ACCESS_LOG_SQL = 2 ; read + write
212 ; By default PhpWiki will try to have PHP compress its output
213 ; before sending it to the browser, if you have a recent enough
214 ; version of PHP and the browser and action supports it.
215 ; Define COMPRESS_OUTPUT to false to prevent output compression.
216 ; Define COMPRESS_OUTPUT to true to force output compression,
217 ; even if we think your version of PHP does this in a buggy
219 ; Leave it undefined to leave the choice up to PhpWiki. (Recommended)
221 ; WARNING: Compressing the output has been reported to cause problems
222 ; when PHP is running on MacOSX or on redirected requests.
223 ; This setting should now be correctly determined automatically.
224 ;COMPRESS_OUTPUT = false
226 ; This controls how PhpWiki sets the HTTP cache control
227 ; headers (Expires: and Cache-Control:)
231 ; NO_CACHE: This is roughly the old (pre 1.3.4) behavior. PhpWiki will
232 ; instruct proxies and browsers never to cache PhpWiki output.
233 ; This was previously called 'NONE', but NONE was treated specially
234 ; by parse_ini_config().
236 ; STRICT: Cached pages will be invalidated whenever the database global
237 ; timestamp changes. This should behave just like NONE (modulo
238 ; bugs in PhpWiki and your proxies and browsers), except that
239 ; things will be slightly more efficient.
241 ; LOOSE: Cached pages will be invalidated whenever they are edited,
242 ; or, if the pages include plugins, when the plugin output could
243 ; concievably have changed.
245 ; Behavior should be much like STRICT, except that sometimes
246 ; wikilinks will show up as undefined (with the question mark)
247 ; when in fact they refer to (recently) created pages.
248 ; (Hitting your browsers reload or perhaps shift-reload button
249 ; should fix the problem.)
251 ; ALLOW_STALE: Proxies and browsers will be allowed to used stale pages.
252 ; (The timeout for stale pages is controlled by CACHE_CONTROL_MAX_AGE.)
254 ; This setting will result in quirky behavior. When you edit a
255 ; page your changes may not show up until you shift-reload the
258 ; This setting is generally not advisable, however it may be useful
259 ; in certain cases (e.g. if your wiki gets lots of page views,
260 ; and few edits by knowledgable people who won't freak over the quirks.)
262 ; The recommended default is currently LOOSE.
264 CACHE_CONTROL = LOOSE
266 ; Maximum page staleness, in seconds.
268 ; This only has effect if CACHE_CONTROL is set to ALLOW_STALE.
269 CACHE_CONTROL_MAX_AGE = 600
271 ; PhpWiki normally caches a preparsed version (i.e. mostly
272 ; converted to HTML) of the most recent version of each page.
273 ; (Parsing the wiki-markup takes a fair amount of CPU.)
274 ; Define WIKIDB_NOCACHE_MARKUP to true to disable the
275 ; caching of marked-up page content.
276 ; Note that you can also disable markup caching on a per-page
277 ; temporary basis by addinging a query arg of '?nocache=1'
278 ; to the URL to the page or by adding a NoCache plugin line.
279 ; Use '?nocache=purge' to completely discard the cached version of the page.
280 ; You can also purge the cached markup globally by using the
281 ; "Purge Markup Cache" button on the PhpWikiAdministration page.
282 ; Enable only for old php's with low memory or memory_limit=8MB.
284 ;WIKIDB_NOCACHE_MARKUP = true
286 COOKIE_EXPIRATION_DAYS = 365
287 ; Default path for the wikiuser cookie. You need to specify this more explicitly
288 ; if you want to enable different users on different wikis on the same host.
291 ;======================================================================
292 ; Part Two: Database Selection
293 ;======================================================================
295 ; Select the database type:
297 ; SQL: access one of several SQL databases using the PEAR DB library.
298 ; ADODB: uses the ADODB library for data access. (most general)
299 ; dba: use one of the standard UNIX dbm libraries. (fastest)
300 ; file: use a flat file database. (easiest)
301 ; cvs: use a CVS server to store everything. (experimental, not recommended)
304 ; prefix for filenames or table names
306 ; Currently you MUST EDIT THE SQL file too (in the schemas/
307 ; directory because we aren't doing on the fly sql generation
308 ; during the installation.
309 ; Note: This prefix is NOT prepended to the default DBAUTH_
310 ; tables user, pref and member!
311 ;DATABASE_PREFIX = phpwiki_
313 ; For SQL based backends, specify the database as a DSN (Data Source Name),
314 ; a kind of URL for databases.
316 ; The most general form of a DSN looks like:
318 ; dbtype(dbsyntax)://username:password@protocol+hostspec/database?option=value&option2=value2
320 ; For a MySQL database, the following should work:
322 ; mysql://user:password@host/databasename
324 ; To connect over a unix socket, use something like
326 ; mysql://user:password@unix(/path/to/socket)/databasename
328 ; Valid values for dbtype are mysql, pgsql, or sqlite.
330 DATABASE_DSN = "mysql://guest@unix(/var/lib/mysql/mysql.sock)/test"
332 ; Keep persistent connections: (mysql_pconnect, ...)
333 ; Recommended is false for bigger servers, and true for small servers
334 ; with not so many connections. postgresql: Please leave it false. Default: false
335 ; Should really be set as database option in the DSN above.
336 DATABASE_PERSISTENT = false
338 ; A table to store session information. Only needed by SQL backends.
340 ; A word of warning - any prefix defined above will be prepended to whatever
342 DATABASE_SESSION_TABLE = session
344 ; For the file and dba backends, this specifies where the data files will be
345 ; located. Ensure that the user that the webserver runs as has write access
348 ; WARNING: leaving this as the default of '/tmp' will almost guarantee that
349 ; you'll lose your wiki data at some stage.
350 DATABASE_DIRECTORY = /tmp
352 ; For the dba backend, this defines which DBA variant you wish to use.
353 ; gdbm - commonly available, Fedora not
354 ; db2 - Berkeley DB v2; not supported by modern versions of PHP
355 ; db3 - Berkeley DB v3; as per db2. The best on Windows
356 ; db4 - Berkeley DB v4; current version, however PHP has some issues
357 ; with it's db4 support.
358 ; dbm - Older dba handler; suffers from limits on the size of data
360 DATABASE_DBA_HANDLER = gdbm
362 ; How long will the system wait for a database operation to complete?
363 ; Specified in seconds.
366 ; If action=upgrade detects mysql problems, but has no ALTER permissions,
367 ; give here a user which has the necessary ALTER or CREATE permissions.
368 ; Of course you can fix your database manually. See lib/upgrade.php for known issues.
370 ;DBADMIN_PASSWD = secret
372 ; The login code now uses PHP's session support. Usually, the default
373 ; configuration of PHP is to store the session state information in
374 ; /tmp. That probably will work fine, but fails e.g. on clustered
375 ; servers where each server has their own distinct /tmp (this is the
376 ; case on SourceForge's project web server.) You can specify an
377 ; alternate directory in which to store state information like so
378 ; (whatever user your httpd runs as must have read/write permission
379 ; in this directory):
380 ;SESSION_SAVE_PATH = some_other_directory
382 ;========================================================================
383 ; Section 3a: Page revisions
385 ; The next section controls how many old revisions of each page are
386 ; kept in the database.
387 ;========================================================================
389 ; There are two basic classes of revisions: major and minor. Which
390 ; class a revision belongs in is determined by whether the author
391 ; checked the "this is a minor revision" checkbox when they saved the
394 ; There is, additionally, a third class of revisions: author
395 ; revisions. The most recent non-mergable revision from each distinct
396 ; author is an author revision.
398 ; The expiry parameters for each of those three classes of revisions
399 ; can be adjusted seperately. For each class there are five
400 ; parameters (usually, only two or three of the five are actually
401 ; set) which control how long those revisions are kept in the
404 ; MAX_KEEP: If set, this specifies an absolute maximum for the
405 ; number of archived revisions of that class. This is
406 ; meant to be used as a safety cap when a non-zero
407 ; min_age is specified. It should be set relatively high,
408 ; and it's purpose is to prevent malicious or accidental
409 ; database overflow due to someone causing an
410 ; unreasonable number of edits in a short period of time.
412 ; MIN_AGE: Revisions younger than this (based upon the supplanted
413 ; date) will be kept unless max_keep is exceeded. The age
414 ; should be specified in days. It should be a
415 ; non-negative, real number,
417 ; MIN_KEEP: At least this many revisions will be kept.
419 ; KEEP: No more than this many revisions will be kept.
421 ; MAX_AGE: No revision older than this age will be kept.
423 ; Definitions of terms used above:
425 ; Supplanted date: Revisions are timestamped at the instant that they
426 ; cease being the current revision. Revision age is computed using
427 ; this timestamp, not the edit time of the page.
429 ; Merging: When a minor revision is deleted, if the preceding
430 ; revision is by the same author, the minor revision is merged with
431 ; the preceding revision before it is deleted. Essentially: this
432 ; replaces the content (and supplanted timestamp) of the previous
433 ; revision with the content after the merged minor edit, the rest of
434 ; the page metadata for the preceding version (summary, mtime, ...)
437 ; Keep up to 8 major edits, but keep them no longer than a month.
441 ; Keep up to 4 minor edits, but keep them no longer than a week.
445 ; Keep the latest contributions of the last 8 authors up to a year.
446 ; Additionally, (in the case of a particularly active page) try to
447 ; keep the latest contributions of all authors in the last week (even
448 ; if there are more than eight of them,) but in no case keep more
449 ; than twenty unique author revisions.
455 ;========================================================================
456 ; Part Three: User Authentication
457 ;========================================================================
459 ; New user authentication configuration:
460 ; We support three basic authentication methods and a stacked array
461 ; of advanced auth methods to get and check the passwords:
463 ; ALLOW_ANON_USER default true
464 ; ALLOW_ANON_EDIT default true
465 ; ALLOW_BOGO_LOGIN default true
466 ; ALLOW_USER_PASSWORDS default true
468 ; allow anon users to view existing pages
469 ALLOW_ANON_USER = true
470 ; allow anon users to edit pages
471 ALLOW_ANON_EDIT = true
473 ; If ALLOW_BOGO_LOGIN is true, users are allowed to login (with
474 ; any/no password) using any userid which:
475 ; 1) is not the ADMIN_USER, and
476 ; 2) is a valid WikiWord (matches $WikiNameRegexp.)
477 ; If true, users may be created by themselves. Otherwise we need seperate auth.
478 ; If such a user will create a so called HomePage with his userid, he will
479 ; be able to store his preferences and password there.
480 ALLOW_BOGO_LOGIN = true
482 ; True User Authentication:
483 ; To require user passwords:
484 ; ALLOW_ANON_USER = false
485 ; ALLOW_ANON_EDIT = false
486 ; ALLOW_BOGO_LOGIN = false,
487 ; ALLOW_USER_PASSWORDS = true.
488 ; Otherwise any anon or bogo user might login without any or a wrong password.
489 ALLOW_USER_PASSWORDS = true
491 ; Many different methods can be used to check user's passwords:
492 ; BogoLogin: WikiWord username, with no *actual* password checking,
493 ; although the user will still have to enter one.
494 ; PersonalPage: Store passwords in the users homepage metadata (simple)
495 ; Db: Use DBAUTH_AUTH_* (see below) with PearDB or
497 ; LDAP: Authenticate against LDAP_AUTH_HOST with LDAP_BASE_DN (experimental)
498 ; IMAP: Authenticate against IMAP_AUTH_HOST (email account)
499 ; POP3: Authenticate against POP3_AUTH_HOST (email account)
500 ; File: Store username:crypted-passwords in .htaccess like files.
501 ; Use Apache's htpasswd to manage this file.
502 ; HttpAuth: Use the protection by the webserver (.htaccess/.htpasswd)
503 ; Enforcing HTTP Auth not yet. Note that the ADMIN_USER should exist also.
504 ; Using HttpAuth disables all other methods and no userauth sessions are used.
506 ; Several of these methods can be used together, in the manner specified by
507 ; USER_AUTH_POLICY, below. To specify multiple authentication methods,
508 ; separate the name of each one with colons.
509 ;USER_AUTH_ORDER = "PersonalPage : Db"
510 ;USER_AUTH_ORDER = "BogoLogin : PersonalPage"
512 ; For "security" purposes, you can specify that a password be at least a
513 ; certain number of characters long. This applies even to the BogoLogin
514 ; method. Default: 0 (to allow immediate passwordless BogoLogin)
515 ;PASSWORD_LENGTH_MINIMUM = 6
517 ; The following policies are available for user authentication:
518 ; first-only: use only the first method in USER_AUTH_ORDER
519 ; old: ignore USER_AUTH_ORDER and try to use all available
520 ; methods as in the previous PhpWiki releases (slow)
521 ; strict: check if the user exists for all methods:
522 ; on the first existing user, try the password.
523 ; dont try the other methods on failure then
524 ; stacked: check the given user - password combination for all
525 ; methods and return true on the first success.
526 USER_AUTH_POLICY = stacked
528 ; LDAP authentication options:
530 ; The LDAP server to connect to. Can either be a hostname, or a complete
531 ; URL to the server (useful if you want to use ldaps or specify a different
533 ;LDAP_AUTH_HOST = "ldap://localhost:389"
535 ; The organizational or domain BASE DN: e.g. "dc=mydomain,dc=com".
537 ; Note: ou=Users and ou=Groups are used for GroupLdap Membership
538 ; Better use LDAP_OU_USERS and LDAP_OU_GROUP with GROUP_METHOD=LDAP.
539 ;LDAP_BASE_DN = "ou=Users,o=Development,dc=mycompany.com"
541 ; Some LDAP servers need some more options, such as the Windows Active
542 ; Directory Server. Specify the options (as allowed by the PHP LDAP module)
543 ; and their values as NAME=value pairs separated by colons.
544 ; LDAP_SET_OPTION = "LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0"
546 ; DN to initially bind to the LDAP server as. This is needed if the server doesn't
547 ; allow anonymous queries. (Windows Active Directory Server)
548 ; LDAP_AUTH_USER = "CN=ldapuser,ou=Users,o=Development,dc=mycompany.com"
550 ; Password to use to initially bind to the LDAP server, as the DN
551 ; specified in the LDAP_AUTH_USER option (above).
552 ; LDAP_AUTH_PASSWORD = secret
554 ; If you want to match usernames against an attribute other than uid,
555 ; specify it here. Default: uid
556 ; LDAP_SEARCH_FIELD = sAMAccountName
558 ; If you have an organizational unit for all users, define it here.
559 ; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
561 ; LDAP_OU_USERS = ou=Users
563 ; If you have an organizational unit for all groups, define it here.
564 ; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
565 ; The entries in this ou must have a gidNumber and cn attribute.
567 ; LDAP_OU_GROUP = ou=Groups
570 ; IMAP authentication options:
572 ; The IMAP server to check usernames from. Defaults to localhost.
574 ; Some IMAP_AUTH_HOST samples:
575 ; "localhost", "localhost:143/imap/notls",
576 ; "localhost:993/imap/ssl/novalidate-cert" (SuSE refuses non-SSL conections)
577 ; IMAP_AUTH_HOST = "localhost:143/imap/notls"
579 ; POP3 authentication options:
581 ; Host to connect to.
582 ; POP3_AUTH_HOST = "localhost:110"
584 ; Port to connect. Deprecated: Use POP3_AUTH_HOST:<port> instead
585 ; POP3_AUTH_PORT = 110
587 ; File authentication options:
589 ; File to read for authentication information.
590 ; Popular choices are /etc/shadow and /etc/httpd/.htpasswd
591 ; AUTH_USER_FILE = /etc/shadow
593 ; Defines whether the user is able to change their own password via PHPWiki.
594 ; Note that this means that the webserver user must be able to write to the
595 ; file specified in AUTH_USER_FILE.
596 ; AUTH_USER_FILE_STORABLE = false
599 ; Name of the session variable which holds the already authenticated username.
600 ; Sample: "userid", "user[username]", "user->username"
601 ; AUTH_SESS_USER = userid
602 ; Which level will the user be? 1 = Bogo or 2 = Pass
603 ; AUTH_SESS_LEVEL = 2
605 ; Group membership. PhpWiki supports defining permissions for a group as
606 ; well as for individual users. This defines how group membership information
607 ; is obtained. Supported values are:
609 ; "NONE" Disable group membership (Fastest). Note the required quoting.
610 ; WIKIPAGE Define groups as list at "CategoryGroup". (Slowest, but easiest to maintain)
611 ; DB Stored in an SQL database. Optionally external. See USERS/GROUPS queries
612 ; FILE Flatfile. See AUTH_GROUP_FILE below.
613 ; LDAP LDAP groups. See "LDAP authentication options" above and
614 ; lib/WikiGroup.php. (experimental)
615 GROUP_METHOD = WIKIPAGE
617 ; Page where all groups are listed. Default: Translation of "CategoryGroup"
618 ; CATEGORY_GROUP_PAGE = CategoryGroup
620 ; For GROUP_METHOD = FILE, the file given below is referenced to obtain
621 ; group membership information. It should be in the same format as the
622 ; standard unix /etc/groups(5) file.
623 ; AUTH_GROUP_FILE = /etc/groups
625 ; External database authentication and authorization.
627 ; If USER_AUTH_ORDER includes Db, or GROUP_METHOD = DB, the options listed
628 ; below define the SQL queries used to obtain the information out of the
629 ; database, and (in some cases) store the information back to the DB.
631 ; The options appropriate for each query are currently undocumented, and
632 ; you should not be surprised if things change mightily in the future.
634 ; A database DSN to connect to. Defaults to the DSN specified for the Wiki
636 ; DBAUTH_AUTH_DSN = "mysql://wikiuser:@localhost/phpwiki"
638 ; USER/PASSWORD queries
640 ; For USER_AUTH_POLICY=strict and the Db method this is required:
641 ; DBAUTH_AUTH_USER_EXISTS = "SELECT userid FROM user WHERE userid='$userid'"
643 ; Check to see if the supplied username/password pair is OK
645 ; plaintext passwords:
646 ; DBAUTH_AUTH_CHECK = "SELECT IF(passwd='$password',1,0) AS ok FROM user WHERE userid='$userid'"
648 ; database-hashed passwords (more secure):
649 ; DBAUTH_AUTH_CHECK = "SELECT IF(passwd=PASSWORD('$password'),1,0) AS ok FROM user WHERE userid='$userid'"
650 DBAUTH_AUTH_CRYPT_METHOD = plain
652 ; If you want to use Unix crypt()ed passwords, you can use DBAUTH_AUTH_CHECK
653 ; to get the password out of the database with a simple SELECT query, and
654 ; specify DBAUTH_AUTH_USER_EXISTS and DBAUTH_AUTH_CRYPT_METHOD:
655 ; DBAUTH_AUTH_CHECK = "SELECT passwd FROM user where userid='$userid'"
656 ; DBAUTH_AUTH_CRYPT_METHOD = crypt
658 ; Update the user's authentication credential. If this is not defined but
659 ; DBAUTH_AUTH_CHECK is, then the user will be unable to update their
662 ; Plaintext passwords:
663 ; DBAUTH_AUTH_UPDATE = "UPDATE user SET passwd='$password' WHERE userid='$userid'"
664 ; Database-hashed passwords:
665 ; DBAUTH_AUTH_UPDATE = "UPDATE user SET passwd=PASSWORD('$password') WHERE userid='$userid'"
667 ; Allow the user to create their own account.
668 ; DBAUTH_AUTH_CREATE = "INSERT INTO user SET passwd=PASSWORD('$password'),userid='$userid'"
670 ; USER/PREFERENCE queries
672 ; If you choose to store your preferences in an external database, enable
673 ; the following queries. Note that if you choose to store user preferences
674 ; in the 'user' table, only registered users get their prefs from the database,
675 ; self-created users do not. Better to use the special 'pref' table.
677 ; The prefs field stores the serialized form of the user's preferences array,
678 ; to ease the complication of storage.
679 ; DBAUTH_PREF_SELECT = "SELECT prefs FROM user WHERE userid='$userid'"
680 ; DBAUTH_PREF_SELECT = "SELECT prefs FROM pref WHERE userid='$userid'"
682 ; Update the user's preferences
683 ; DBAUTH_PREF_UPDATE = "UPDATE user SET prefs='$pref_blob' WHERE userid='$userid'"
684 ; Note that REPLACE works only with mysql and destroy all other columns!
685 ; DBAUTH_PREF_UPDATE = "REPLACE INTO pref SET prefs='$pref_blob',userid='$userid'"
687 ; USERS/GROUPS queries
689 ; You can define 1:n or n:m user<=>group relations, as you wish.
691 ; Sample configurations:
692 ; only one group per user (1:n):
693 ; DBAUTH_IS_MEMBER = "SELECT user FROM user WHERE user='$userid' AND group='$groupname'"
694 ; DBAUTH_GROUP_MEMBERS = "SELECT user FROM user WHERE group='$groupname'"
695 ; DBAUTH_USER_GROUPS = "SELECT group FROM user WHERE user='$userid'"
696 ; multiple groups per user (n:m):
697 ; DBAUTH_IS_MEMBER = "SELECT userid FROM member WHERE userid='$userid' AND groupname='$groupname'"
698 ; DBAUTH_GROUP_MEMBERS = "SELECT DISTINCT userid FROM member WHERE groupname='$groupname'"
699 ; DBAUTH_USER_GROUPS = "SELECT groupname FROM member WHERE userid='$userid'"
701 ; A interim page which gets displayed on every edit attempt, if it exists.
702 ;EDITING_POLICY = EditingPolicy
704 ;========================================================================
705 ; Part Four: Page appearance and layout
706 ;========================================================================
710 ; Most of the page appearance is controlled by files in the theme
713 ; There are a number of pre-defined themes shipped with PhpWiki.
714 ; Or you may create your own (e.g. by copying and then modifying one of
717 ; The complete list of installed themes can be found by doing 'ls themes/'
718 ; from the root of your PHPWiki installation.
719 ; white on yellow with fat blue links:
721 ; almost fully iconized classic grey MacOSX design:
723 ; as default, just some tricks to make the buttons smaller:
725 ; the popular Wordpress layout:
727 ; pure old-style c2wiki layout:
729 ; random heavy images:
731 ; example with some sidebar boxes:
733 ; mozilla friendly, with lots of icons instead of buttons (i18n friendly):
737 ; default + rateit navbar:
739 ; blogger style, rounded:
743 ; heavy space-y layout:
746 ; Select a valid charset name to be inserted into the xml/html pages,
747 ; and to reference links to the stylesheets (css). For more info see:
748 ; <http://www.iana.org/assignments/character-sets>. Note that PhpWiki
749 ; has been extensively tested only with the latin1 (iso-8859-1)
752 ; If you change the default from iso-8859-1 PhpWiki may not work
753 ; properly and will require modifications in all existing pages.
754 ; At the very least you will have to convert the files in pgsrc
755 ; or locale/xx/pgsrc to match!
756 ; Currently we support utf-8 for zh and ja, euc-jp for ja (not enabled)
757 ; and iso-8859-1 for all other langs. Changing languages (UserPreferences)
758 ; from one charset to another will not work!
760 ; Character sets similar to iso-8859-1 may work with little or no
761 ; modification depending on your setup. The database must also
762 ; support the same charset, and of course the same is true for the
763 ; web browser. (Some work is in progress hopefully to allow more
764 ; flexibility in this area in the future).
767 ; Select your language/locale - Default language is "" for auto-detected.
768 ; Available languages:
769 ; English "en" (English - HomePage)
770 ; Dutch "nl" (Nederlands - ThuisPagina)
771 ; Spanish "es" (Español - PáginaPrincipal)
772 ; French "fr" (Français - PageAccueil))
773 ; German "de" (Deutsch - StartSeite)
774 ; Swedish "sv" (Svenska - Framsida)
775 ; Italian "it" (Italiano - PaginaPrincipale)
776 ; Japanese "ja" (Japanese - ¥Û¡¼¥à ¥Ú¡¼¥¸)
777 ; Chinese "zh" (Chinese - ?)
779 ; If you set DEFAULT_LANGUAGE to the empty string, the users
780 ; preferred language as determined by the browser setting will be used.
781 ; Japanese requires CHARSET=euc-jp or utf-8 (not yet safe), Chinese CHARSET=utf-8
782 ;DEFAULT_LANGUAGE = en
784 ; WIKI_PGSRC -- specifies the source for the initial page contents of
785 ; the Wiki. The setting of WIKI_PGSRC only has effect when the wiki is
786 ; accessed for the first time (or after clearing the database.)
787 ; WIKI_PGSRC can either name a directory or a zip file. In either case
788 ; WIKI_PGSRC is scanned for files -- one file per page.
791 ; DEFAULT_WIKI_PGSRC is only used when the language is *not* the
792 ; default (English) and when reading from a directory: in that case
793 ; some English pages are inserted into the wiki as well.
794 ; DEFAULT_WIKI_PGSRC defines where the English pages reside.
795 ;DEFAULT_WIKI_PGSRC = pgsrc
796 ; These are ':'-seperated pages which will get loaded untranslated from DEFAULT_WIKI_PGSRC.
797 ;DEFAULT_WIKI_PAGES = "ReleaseNotes:SteveWainstead:TestPage"
799 ;=========================================================================
800 ; Part Five: Mark-up options.
801 ;=========================================================================
803 ; allowed protocols for links - be careful not to allow "javascript:"
804 ; URL of these types will be automatically linked.
805 ; within a named link [name|uri] one more protocol is defined: phpwiki
806 ; Separate each of the protocol names with a vertical pipe, and ensure there
807 ; is no extraneous whitespace.
808 ;ALLOWED_PROTOCOLS = "http|https|mailto|ftp|news|nntp|ssh|gopher"
810 ; URLs ending with the following extension should be inlined as images.
811 ; Specify as per ALLOWED_PROTOCOLS
812 ;INLINE_IMAGES = "png|jpg|gif"
814 ; Perl regexp for WikiNames ("bumpy words")
815 ; (?<!..) & (?!...) used instead of '\b' because \b matches '_' as well
816 ;WIKI_NAME_REGEXP = "(?<![[:alnum:]])(?:[[:upper:]][[:lower:]]+){2,}(?![[:alnum:]])"
818 ; Defaults to '/', but '.' was also used.
819 ;SUBPAGE_SEPARATOR = /
821 ; InterWiki linking -- wiki-style links to other wikis on the web
823 ; The map will be taken from a page name InterWikiMap.
824 ; If that page is not found (or is not locked), or map
825 ; data can not be found in it, then the file specified
826 ; by INTERWIKI_MAP_FILE (if any) will be used.
827 ;INTERWIKI_MAP_FILE = lib/interwiki.map
829 ; Display a warning if the internal lib/interwiki.map is used, and
830 ; not the public InterWikiMap page. This file is not readable from outside.
831 ;WARN_NONPUBLIC_INTERWIKIMAP = false
833 ; Search term used for automatic page classification by keyword extraction.
835 ; Any links on a page to pages whose names match this search
836 ; will be used keywords in the keywords html meta tag. This is an aid to
837 ; classification by search engines. The value of the match is
838 ; used as the keyword.
840 ; The default behavior is to match Category* or Topic* links.
841 ;KEYWORDS = "Category* OR Topic*"
843 ; Author and Copyright Site Navigation Links
845 ; These will be inserted as <link rel> tags in the html header of
846 ; every page, for search engines and for browsers like Mozilla which
847 ; take advantage of link rel site navigation.
849 ; If you have your own copyright and contact information pages change
850 ; these as appropriate.
851 ;COPYRIGHTPAGE_TITLE = "GNU General Public License"
852 ;COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/gpl.html#SEC1"
853 ; Other useful alternatives to consider:
854 ; COPYRIGHTPAGE_TITLE = "GNU Free Documentation License"
855 ; COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/fdl.html"
856 ; COPYRIGHTPAGE_TITLE = "Creative Commons License 2.0"
857 ; COPYRIGHTPAGE_URL = "http://creativecommons.org/licenses/by/2.0/"
858 ; see http://creativecommons.org/learn/licenses/ for variations
859 ;AUTHORPAGE_TITLE = The PhpWiki Programming Team
860 ;AUTHORPAGE_URL = http://phpwiki.org/ThePhpWikiProgrammingTeam
862 ; Allow full markup in headers to be parsed by the CreateToc plugin.
864 ; If false you may not use WikiWords or [] links or any other markup in
865 ; headers in pages with the CreateToc plugin. But if false the parsing is
866 ; faster and more stable.
867 ;TOC_FULL_SYNTAX = true
869 ;==========================================================================
870 ; Part Six: URL options.
871 ;==========================================================================
873 ; You can probably skip this section.
875 ; The following section contains settings which you can use to tailor
876 ; the URLs which PhpWiki generates.
878 ; Any of these parameters which are left undefined will be deduced
879 ; automatically. You need only set them explicitly if the
880 ; auto-detected values prove to be incorrect.
882 ; In most cases the auto-detected values should work fine, so
883 ; hopefully you don't need to mess with this section.
885 ; In case of local overrides of short placeholders, which themselves
886 ; include index.php, we check for most constants. See '/wiki'.
887 ; We can override DATA_PATH and PHPWIKI_DIR to support multiple phpwiki
888 ; versions (for development), but most likely other values like
889 ; THEME, LANG and DbParams for a WikiFarm.
891 ; Canonical name and httpd port of the server on which this PhpWiki
894 ;SERVER_NAME = some.host.com
897 ; Relative URL (from the server root) of the PhpWiki
899 ;SCRIPT_NAME = /some/where/index.php
901 ; URL of the PhpWiki install directory. (You only need to set this
902 ; if you've moved index.php out of the install directory.) This can
903 ; be either a relative URL (from the directory where the top-level
904 ; PhpWiki script is) or an absolute one.
905 ;DATA_PATH = /home/user/phpwiki
907 ; Path to the PhpWiki install directory. This is the local
908 ; filesystem counterpart to DATA_PATH. (If you have to set
909 ; DATA_PATH, your probably have to set this as well.) This can be
910 ; either an absolute path, or a relative path interpreted from the
911 ; directory where the top-level PhpWiki script (normally index.php)
913 ;PHPWIKI_DIR = /home/user/public_html/phpwiki
915 ; PhpWiki will try to use short urls to pages, eg
916 ; http://www.example.com/index.php/HomePage
917 ; If you want to use urls like
918 ; http://www.example.com/index.php?pagename=HomePage
919 ; then define 'USE_PATH_INFO' as false by uncommenting the line below.
920 ; NB: If you are using Apache >= 2.0.30, then you may need to to use
921 ; the directive "AcceptPathInfo On" in your Apache configuration file
922 ; (or in an appropriate <.htaccess> file) for the short urls to work:
923 ; See http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo
925 ; See also http://phpwiki.sourceforge.net/phpwiki/PrettyWiki for more ideas
926 ; on prettifying your urls.
928 ; Note that Google doesn't follow the default /index.php/PageName links.
929 ; You must use either a PrettyWiki setup (see below), or force USE_PATH_INFO=false.
931 ; Default: PhpWiki will try to divine whether use of PATH_INFO
932 ; is supported in by your webserver/PHP configuration, and will
933 ; use PATH_INFO if it thinks that is possible.
934 ;USE_PATH_INFO = false
936 ; VIRTUAL_PATH is the canonical URL path under which your your wiki
937 ; appears. Normally this is the same as dirname(SCRIPT_NAME), however
938 ; using, e.g. apaches mod_actions (or mod_rewrite), you can make it
939 ; something different.
941 ; If you do this, you should set VIRTUAL_PATH here.
943 ; E.g. your phpwiki might be installed at at /scripts/phpwiki/index.php,
944 ; but * you've made it accessible through eg. /wiki/HomePage.
946 ; One way to do this is to create a directory named 'wiki' in your
947 ; server root. The directory contains only one file: an .htaccess
948 ; file which reads something like:
950 ; Action x-phpwiki-page /scripts/phpwiki/index.php
951 ; SetHandler x-phpwiki-page
952 ; DirectoryIndex /scripts/phpwiki/index.php
954 ; In that case you should set VIRTUAL_PATH to '/wiki'.
956 ; (VIRTUAL_PATH is only used if USE_PATH_INFO is true.)
958 ;VIRTUAL_PATH = /SomeWiki
960 ; In case your system has no idea about /tmp, TEMP or TMPDIR,
961 ; better provide it here. E.g. needed for zipdumps.
964 ;===========================================================================
965 ; Part Seven: Miscellaneous settings
966 ;===========================================================================
968 ; Disable HTTP redirects.
969 ; (You probably don't need to touch this.)
971 ; PhpWiki uses HTTP redirects for some of it's functionality.
972 ; (e.g. after saving changes, PhpWiki redirects your browser to
973 ; view the page you just saved.)
974 ; Some web service providers (notably free European Lycos) don't seem to
975 ; allow these redirects. (On Lycos the result in an "Internal Server Error"
976 ; report.) In that case you can set DISABLE_HTTP_REDIRECT to true.
977 ; (In which case, PhpWiki will revert to sneakier tricks to try to
978 ; redirect the browser...)
979 ;DISABLE_HTTP_REDIRECT = true
981 ; Enable random quotes from a fortune directory when adding a new page.
982 ; Usually at /usr/share/fortune or /usr/share/games/fortune
983 ; If empty no quotes are inserted.
984 ;FORTUNE_DIR = /usr/share/fortune
986 ; If you get a crash at loading LinkIcons you might want to disable
987 ; the getimagesize() function, which crashes on certain php versions and
988 ; and some external images (png's, ..).
989 ; getimagesize() is only needed for spam prevention.
990 ;DISABLE_GETIMAGESIZE = true
992 ; Experimental: For using the Google API
993 ;GOOGLE_LICENSE_KEY = "..."
995 ; Optional: administrative SQL DB access (for action=upgrade)
999 ; Optional: external PDF executable, %s is the xhtml filename
1000 ;USE_EXTERNAL_HTML2PDF = "htmldoc --quiet --format pdf14 --no-toc --no-title %s"
1002 ; Optional: SPAMASSASSIN wrapper. Only used if ENABLE_SPAMASSASSIN = true
1003 BABYCART_PATH = /usr/local/bin/babycart
1005 ; If true don't use UserName/Blog/day/time pagenames for the ADMIN_USER, but
1006 ; Blog/day/time only. Convenience for a single-user blog theme.
1007 ;BLOG_DEFAULT_EMPTY_PREFIX = true
1009 ;===========================================================================
1010 ; Part Eight: PLUGINCACHED Pear/Cache Settings
1011 ;===========================================================================
1013 ; Cache_Container storage class: 'file' is the fastest. See pear/Cache/Container/
1014 ;PLUGIN_CACHED_DATABASE = file
1016 ; This is only used if database is set to file.
1017 ; The webserver must have write access to this dir!
1018 ;PLUGIN_CACHED_CACHE_DIR = /tmp/cache
1019 ; Every file name in the cache begins with this prefix
1020 ;PLUGIN_CACHED_FILENAME_PREFIX = phpwiki
1022 ; The maximum total space in bytes of all files in the cache. When
1023 ; highwater is exceeded, a garbage collection will start. It will
1024 ; collect garbage till 'lowwater' is reached. Default: 4 * Megabyte
1025 ;PLUGIN_CACHED_HIGHWATER = 4194304
1026 ; Default: 3 * Megabyte
1027 ;PLUGIN_CACHED_LOWWATER = 3145728
1029 ; If an image has not been used for maxlifetime remove it from the
1030 ; cache. (Since there is also the highwater/lowwater mechanism and an
1031 ; image usually requires only 1kb you don't have to make it very
1033 ; Default: 30 * Day (30 * 24*60*60)
1034 ;PLUGIN_CACHED_MAXLIFETIME = 2592000
1036 ; Number of characters allowed to be send as
1037 ; parameters in the url before using sessions
1039 ; Usually send plugin arguments as URL, but when they become
1040 ; longer than maxarglen store them in session variables.
1041 ; Setting it to 3000 worked fine for me, 30000 completely
1042 ; crashed my linux, 1000 should be safe.
1043 ;PLUGIN_CACHED_MAXARGLEN = 1000
1045 ; Actually use the cache (should be always true unless you are
1046 ; debugging). If you want to avoid the usage of a cache but need
1047 ; WikiPlugins that nevertheless rely on a cache you might set
1048 ; 'PLUGIN_CACHED_USECACHE' to false. You still need to set
1049 ; 'PLUGIN_CACHED_CACHE_DIR' appropriately to allow image creation and
1050 ; you should set 'PLUGIN_CACHED_FORCE_SYNCMAP' to false.
1051 ;PLUGIN_CACHED_USECACHE = true
1053 ; Will prevent image creation for an image map 'on demand'. It is a
1054 ; good idea to set this to 'true' because it will also prevent the
1055 ; html part not to fit to the image of the map. If you don't use a
1056 ; cache, you have to set it to 'false', maps will not work otherwise
1057 ; but strange effects may happen if the output of an image map
1058 ; producing WikiPlugin is not completely determined by its parameters.
1059 ; (As it is the case for a graphical site map.)
1060 ;PLUGIN_CACHED_FORCE_SYNCMAP = true
1062 ; If ImageTypes() does not exist (PHP < 4.0.2) allow the
1063 ; following image formats (IMG_PNG | IMG_GIF | IMG_JPG | IMG_WBMP)
1064 ; In principal all image types which are compiled into php:
1065 ; libgd, libpng, libjpeg, libungif, libtiff, libgd2, ...
1066 ;PLUGIN_CACHED_IMGTYPES = "png|gif|gd|gd2|jpeg|wbmp|xbm|xpm"