]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - config/config-dist.ini
sf.net patch #1377011 by Matt Brown: add DATABASE_OPTIMISE_FREQUENCY
[SourceForge/phpwiki.git] / config / config-dist.ini
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 "|"
4 ;
5 ; <?php die(); ?> for security
6 ;
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.
12
13 ;=========================================================================
14 ; Part Zero: Latest Development and Tricky Options
15 ;=========================================================================
16
17 ; If PHP needs help in finding where you installed the rest of the PhpWiki
18 ; code, you can set the include_path here.
19 ;
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"
29
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. 65 for a more verbose level with AUTH hints. 
33 ; See lib/config.php for all supported values.
34 ; Default: 0
35 ;DEBUG = 1
36
37 ; Graphical buttons on edit. Default: true
38 ; Reportedly broken on MacOSX Safari
39 ;ENABLE_EDIT_TOOLBAR = false
40
41 ; Adds two additional buttons in EDIT_TOOLBAR, Search&Replace and Undo.
42 ; Undo is experimental. Default: true
43 ;JS_SEARCHREPLACE = true
44
45 ; Note: Enable it for all users. Otherwise as per-user setting in UserPreferences.
46 ; Default: false
47 ;ENABLE_DOUBLECLICKEDIT = false
48
49 ; Enable WYSIWYG editing. Converting back HTML to wikitext does not work yet. Experimental!
50 ;ENABLE_WYSIWYG = true
51
52 ; Which backend? Must be seperately installed. See lib/WysiwygEdit/
53 ;  tinymce     http://tinymce.moxiecode.com/ 
54 ;  FCKeditor   http://fckeditor.net/ 
55 ;  spaw        http://sourceforge.net/projects/spaw 
56 ;  htmlarea3   
57 ;  htmlarea2   
58 ;WYSIWYG_BACKEND = tinymce
59
60 ; Store all pages as HTML? Will loose most link and plugin options.
61 ;WYSIWYG_DEFAULT_PAGETYPE_HTML = false
62
63 ; Needed for inlined SVG and MathM, but conflicts with document.write(). 
64 ; Experimental. Default: false. Problematic with MSIE6
65 ; See http://hixie.ch/advocacy/xhtml
66 ;ENABLE_XHTML_XML = true
67
68 ; Needs babycart installed. See http://phpwiki.org/SpamAssassinIntegration
69 ; Optionally define BABYCART_PATH. Default: /usr/local/bin/babycart
70 ;ENABLE_SPAMASSASSIN = true
71
72 ; Check for links to blocked external tld domains in new edits, against 
73 ; multi.surbl.org and bl.spamcop.net.
74 ;ENABLE_SPAMBLOCKLIST = true
75
76 ; If more than this number of external links appear on non-authenticated 
77 ; edits it will be rejected as spam.
78 ;NUM_SPAM_LINKS = 20
79
80 ; If GOOGLE_LINKS_NOFOLLOW is true, ref=nofollow is added to 
81 ; all external links to discourage spam. You might want to turn it off,
82 ; if you want to improve pageranks on external links.
83 ; TODO: Add ref=nofollow only for external links added by anonymous users.
84 ;GOOGLE_LINKS_NOFOLLOW = false
85
86 ; LiveSearch enables immediate title search results via XMLHttpRequest.
87 ; Displays the results in a dropdown under the titlesearch inputbox
88 ; while typing. (experimental, only with certain themes)
89 ; You'll have to copy livesearch.js from http://blog.bitflux.ch/wiki/LiveSearch
90 ; to themes/default/ and define ENABLE_LIVESEARCH in config.ini to true. 
91 ; See themes/blog/themeinfo.php.
92 ; We used the bitflux.ch library temporarily, but we are changing to 
93 ; the better moacdropdown. 
94 ;ENABLE_LIVESEARCH = true
95
96 ; ENABLE_ACDROPDOWN replaces ENABLE_LIVESEARCH
97 ; http://momche.net/publish/article.php?page=acdropdown
98 ;ENABLE_ACDROPDOWN = true
99
100 ; Experimental WikiPedia feature: Force Discussion/Article link at the topnavbar.
101 ;ENABLE_DISCUSSION_LINK = true
102
103 ; If set to true, add some anti-spam countermeasures based on captcha
104 ; tests.  See http://www.captcha.net/ for more information on captcha.
105 ;ENABLE_CAPTCHA = true 
106
107 ; If USE_CAPTCHA_RANDOM_WORD is set to true,
108 ; Captcha will use a random word, otherwise a dictionary word.
109 ;USE_CAPTCHA_RANDOM_WORD = false
110
111 ; USE_SAFE_DBSESSION should be enabled, if you encounter session problems, with 
112 ; duplicate INSERT sess_id warnings at the bottom of the page. Reason is a 
113 ; unreliable affected_rows implementation() in the sql backend. 
114 ; Default is Disabled, using the fastest DbSession UPDATE method.
115 ;USE_SAFE_DBSESSION = false
116
117 ; If true don't use UserName/Blog/day/time pagenames for the ADMIN_USER, but 
118 ; Blog/day/time only. Convenience for a single-user blog theme.
119 ;BLOG_DEFAULT_EMPTY_PREFIX = true
120
121 ;==========================================================================
122 ; Part One: Authentication and security settings.
123 ;
124 ; See Part Three for more.
125 ;==========================================================================
126
127 ; The name of your wiki.
128 ;
129 ; This is used to generate a keywords meta tag in the HTML templates,
130 ; in bookmark titles for any bookmarks made to pages in your wiki,
131 ; and during RSS generation for the <title> of the RSS channel.
132 ;
133 ; To use your own logo and signature files, name them PhpWikiLogo.png
134 ; and PhpWikiSignature.png and put them into themes/default/images
135 ; (substituting "PhpWiki" in the filename with the name you define
136 ; here).
137 ;
138 ; It is recommended this be a relatively short WikiWord like the
139 ; InterWiki monikers found in the InterWikiMap. (For examples, see
140 ; lib/interwiki.map).
141 WIKI_NAME = PhpWiki
142
143 ; Username and password of administrator.
144 ;
145 ; Set these to your preferences. For heaven's sake pick a good
146 ; password and use the passencrypt.php tool to encrypt the password from
147 ; prying eyes.
148 ; http://wolfram.org/writing/howto/password.html
149
150 ; Logging into the wiki with the admin user and password allows you to lock,
151 ; unlock, or remove pages and to perform other PhpWikiAdministration
152 ; functions. On all other occasions you should simply log in with your
153 ; regular WikiName.
154 ; If your password contains special chars like ";" or ":" better quote it in double-quotes.
155 ;ADMIN_USER = 
156
157 ; You must set this! Username and password of the administrator.
158 ; ADMIN_PASSWD is ignored on HttpAuth
159 ;ADMIN_PASSWD =
160
161 ; It is recommended that you use encrypted passwords to be stored in the 
162 ; config.ini and the users homepages metadata.
163 ; You might want to use the passencrypt.php utility to encode the
164 ; admin password, in the event that someone gains ftp or ssh access to the
165 ; server and directory containing phpwiki. 
166 ; <i>SQL access passwords cannot be encrypted, besides using external DATABASE_DSN aliases within PDO.</i>
167
168 ; If true, all user passwords will be stored encrypted.
169 ; You might have to set it to false, if your PHP doesn't support crypt().
170 ; To use plain text passwords, in particular for the ADMIN_PASSWD, set
171 ; ENCRYPTED_PASSWD to false.
172 ENCRYPTED_PASSWD = true
173
174 ; Visitor Hostname Lookup
175 ;
176 ; If set, reverse dns lookups will be performed to attempt to convert
177 ; the user's IP number into a host name, in the case where the http
178 ; server does not do this.
179 ENABLE_REVERSE_DNS = true
180
181 ; Private ZIP Dumps of All Wiki Pages
182 ;
183 ; If true, only the admin user can make zip dumps. Otherwise anyone
184 ; may download all wiki pages as a single zip archive.
185 ZIPDUMP_AUTH = false
186
187 ; The RawHtml plugin allows page authors to embed real, raw HTML into Wiki
188 ; pages.  This is a possible security threat, as much HTML (or, rather,
189 ; JavaScript) can be very risky.  If you are in a controlled environment,
190 ; or you are using the two options below, however, it could be of use. 
191 ENABLE_RAW_HTML = true
192
193 ; If this is set, only pages locked by the Administrator may contain the
194 ; RawHtml plugin
195 ENABLE_RAW_HTML_LOCKEDONLY = true
196
197 ; If this is set, all unsafe html code is stripped automatically (experimental!)
198 ; See http://chxo.com/scripts/safe_html-test.php
199 ENABLE_RAW_HTML_SAFE = true
200
201 ; If you define this to true, (MIME-type) page-dumps (either zip dumps,
202 ; or "dumps to directory" will be encoded using the quoted-printable
203 ; encoding.  If you're actually thinking of mailing the raw page dumps,
204 ; then this might be useful, since (among other things,) it ensures
205 ; that all lines in the message body are under 80 characters in length.
206 ;
207 ; Also, setting this will cause a few additional mail headers
208 ; to be generated, so that the resulting dumps are valid
209 ; RFC 2822 e-mail messages.
210 ;
211 ; Probably you can just leave this set to false, in which case you get
212 ; raw ('binary' content-encoding) page dumps.
213 STRICT_MAILABLE_PAGEDUMPS = false
214
215 ; Here you can change the default dump directories.
216 ; (Can be overridden by the directory argument)
217 DEFAULT_DUMP_DIR = /tmp/wikidump
218 HTML_DUMP_DIR    = /tmp/wikidumphtml
219
220 ; Filename suffix used for XHTML page dumps.
221 ; If you don't want any suffix just comment this out.
222 HTML_DUMP_SUFFIX = .html
223
224 ; The maximum file upload size, in bytes.
225 ; The default, 16777216, is 16MB.
226 MAX_UPLOAD_SIZE = 16777216
227
228 ; If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the
229 ; default state for the "minor edit" checkbox on the edit page form
230 ; will be off.
231 ; The default, 604800, is one week (7 days): 7 * 24 * 3600
232 MINOR_EDIT_TIMEOUT = 604800
233
234 ; Actions listed in this array will not be allowed.  The complete list
235 ; of actions can be found in lib/main.php with the function
236 ; getActionDescription. 
237 ;
238 ; browse, create, diff, dumphtml, dumpserial, edit, loadfile, lock, 
239 ; remove, revert, xmlrpc, soap, unlock, upload, viewsource, zip, ziphtml, ...
240 ;DISABLED_ACTIONS = "dumpserial : loadfile"
241
242 ; If you enable this option, every page is moderated by the ModeratedPage
243 ; actionpage plugin. Changing a moderated page will be delayed to be 
244 ; granted by a moderator by email. Default: false to allow finer control.
245 ;ENABLE_MODERATEDPAGE_ALL = true
246
247 ; PhpWiki can generate an access_log (in "NCSA combined log" format)
248 ; for you. If you want one, define this to the name of the log
249 ; file. The server must have write access to the directory specified.
250 ; Preferred is to use SQL access logging as below.
251 ; Note that even you define ACCESS_LOG_SQL logs are written to this file also.
252 ;
253 ; Default: empty - no access log file will be generated.
254 ;ACCESS_LOG = /var/tmp/wiki_access_log
255
256 ; PhpWiki can read and/or write mod_log_sql accesslog tables for faster
257 ; abuse detection and referer lists.
258 ; See http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
259 ;
260 ; If defined (e.g. 1) read-access is done via SQL. 
261 ; If flag 2 is set, phpwiki also writes. Default on SQL database.
262 ; This must use DATABASE_TYPE = SQL or ADODB or PDO.
263 ;   ACCESS_LOG_SQL = 0 ; disable SQL access logging
264 ;   ACCESS_LOG_SQL = 1 ; phpwiki reads, apache mod_log_sql writes
265 ;ACCESS_LOG_SQL = 2 ; read + write
266
267 ; By default PhpWiki will try to have PHP compress its output
268 ; before sending it to the browser, if you have a recent enough
269 ; version of PHP and the browser and action supports it.
270 ;
271 ; Define COMPRESS_OUTPUT to false to prevent output compression.
272 ; Define COMPRESS_OUTPUT to true to force output compression,
273 ; even if we think your version of PHP does this in a buggy
274 ; fashion.
275 ; Leave it undefined to leave the choice up to PhpWiki. (Recommended)
276 ;
277 ; WARNING: Compressing the output has been reported to cause problems
278 ; when PHP is running on MacOSX or on redirected requests.
279 ; This setting should now be correctly determined automatically.
280 ;COMPRESS_OUTPUT = false
281
282 ; This controls how PhpWiki sets the HTTP cache control
283 ; headers (Expires: and Cache-Control:) 
284 ;
285 ; Choose one of:
286 ;
287 ; NO_CACHE: This is roughly the old (pre 1.3.4) behavior.  PhpWiki will
288 ;       instruct proxies and browsers never to cache PhpWiki output.
289 ;       This was previously called 'NONE', but NONE was treated specially 
290 ;       by parse_ini_config().
291 ;
292 ; STRICT: Cached pages will be invalidated whenever the database global
293 ;       timestamp changes.  This should behave just like NO_CACHE (modulo
294 ;       bugs in PhpWiki and your proxies and browsers), except that
295 ;       things will be slightly more efficient.
296 ;
297 ; LOOSE: Cached pages will be invalidated whenever they are edited,
298 ;       or, if the pages include plugins, when the plugin output could
299 ;       concievably have changed.
300 ;
301 ;       Behavior should be much like STRICT, except that sometimes
302 ;       wikilinks will show up as undefined (with the question mark)
303 ;       when in fact they refer to (recently) created pages.
304 ;       (Hitting your browsers reload or perhaps shift-reload button
305 ;       should fix the problem.)
306 ;
307 ; ALLOW_STALE: Proxies and browsers will be allowed to used stale pages.
308 ;       (The timeout for stale pages is controlled by CACHE_CONTROL_MAX_AGE.)
309 ;
310 ;       This setting will result in quirky behavior.  When you edit a
311 ;       page your changes may not show up until you shift-reload the
312 ;       page, etc...
313 ;
314 ;       This setting is generally not advisable, however it may be useful
315 ;       in certain cases (e.g. if your wiki gets lots of page views,
316 ;       and few edits by knowledgable people who won't freak over the quirks.)
317 ;
318 ; The recommended default is currently LOOSE.
319 ;
320 CACHE_CONTROL = LOOSE
321
322 ; Maximum page staleness, in seconds.
323 ;
324 ; This only has effect if CACHE_CONTROL is set to ALLOW_STALE.
325 CACHE_CONTROL_MAX_AGE = 600
326
327 ; PhpWiki normally caches a preparsed version (i.e. mostly
328 ; converted to HTML) of the most recent version of each page.
329 ; (Parsing the wiki-markup takes a fair amount of CPU.)
330 ; Define WIKIDB_NOCACHE_MARKUP to true to disable the
331 ; caching of marked-up page content.
332 ; Note that you can also disable markup caching on a per-page
333 ; temporary basis by addinging a query arg of '?nocache=1'
334 ; to the URL to the page or by adding a NoCache plugin line. 
335 ; Use '?nocache=purge' to completely discard the cached version of the page.
336 ; You can also purge the cached markup globally by using the
337 ; "Purge Markup Cache" button on the PhpWikiAdministration page.
338 ; Enable only for old php's with low memory or memory_limit=8MB.
339 ; Default: false
340 ;WIKIDB_NOCACHE_MARKUP = true
341
342 COOKIE_EXPIRATION_DAYS = 365
343 ; Default path for the wikiuser cookie. You need to specify this more explicitly
344 ; if you want to enable different users on different wikis on the same host.
345 ;COOKIE_DOMAIN = "/"
346
347 ; The login code now uses PHP's session support. Usually, the default
348 ; configuration of PHP is to store the session state information in
349 ; /tmp. That probably will work fine, but fails e.g. on clustered
350 ; servers where each server has their own distinct /tmp (this is the
351 ; case on SourceForge's project web server.) You can specify an
352 ; alternate directory in which to store state information like so
353 ; (whatever user your httpd runs as must have read/write permission
354 ; in this directory)
355 ;
356 ; On USE_DB_SESSION = true you can ignore this.
357 ;SESSION_SAVE_PATH = some_other_directory
358
359 ; On USE_DB_SESSION = true or false you can force the behaviour 
360 ; how to transport session data.
361 ;USE_DB_SESSION = false 
362
363 ;======================================================================
364 ; Part Two: Database Selection
365 ;======================================================================
366
367 ; Select the database backend type:
368 ;
369 ;       SQL:   access one of several SQL databases using the PEAR DB library.
370 ;       ADODB: uses the ADODB library for data access.     (most general)
371 ;       PDO:   The new PHP5 dataobkject library. (experimental, no paging yet)
372 ;       dba:   use one of the standard UNIX dbm libraries. Use BerkeleyDB (db3,4) (fastest)
373 ;       file:  use a serialized file database. (easiest)
374 ;       flatfile:  use a flat file database. (readable, slow)
375 ;       cvs:   use a CVS server to store everything. (experimental, not recommended)
376 DATABASE_TYPE = dba
377    
378 ; Prefix for filenames or table names
379 ;
380 ; Currently you MUST EDIT THE SQL file too (in the schemas/
381 ; directory because we aren't doing on the fly sql generation
382 ; during the installation.
383 ; Note: This prefix is NOT prepended to the default DBAUTH_
384 ;       tables user, pref and member!
385 ;DATABASE_PREFIX = phpwiki_
386
387 ; For SQL based backends, specify the database as a DSN (Data Source Name),
388 ; a kind of URL for databases.
389 ;
390 ; The most general form of a DSN looks like:
391 ;
392 ;       dbtype(dbsyntax)://username:password@protocol+hostspec/database?option=value&option2=value2
393 ;
394 ; For a MySQL database, the following should work:
395 ;
396 ;       mysql://user:password@host/databasename
397 ;
398 ; To connect over a unix socket, use something like
399 ;
400 ;       mysql://user:password@unix(/path/to/socket)/databasename
401 ;
402 ; Valid values for dbtype are mysql, pgsql, or sqlite.
403 ;
404 DATABASE_DSN = "mysql://guest@unix(/var/lib/mysql/mysql.sock)/test"
405
406 ; Keep persistent connections: (mysql_pconnect, ...)
407 ; Recommended is false for bigger servers, and true for small servers 
408 ; with not so many connections. postgresql: Please leave it false. Default: false
409 ; Should really be set as database option in the DSN above.
410 DATABASE_PERSISTENT = false
411
412 ; A table to store session information.  Only needed by SQL backends.
413 ;
414 ; A word of warning - any prefix defined above will be prepended to whatever
415 ; is given here.
416 DATABASE_SESSION_TABLE = session
417
418 ; For the file and dba backends, this specifies where the data files will be
419 ; located.  Ensure that the user that the webserver runs as has write access
420 ; to this directory.
421 ;
422 ; WARNING: leaving this as the default of '/tmp' will almost guarantee that
423 ; you'll lose your wiki data at some stage.
424 DATABASE_DIRECTORY = /tmp
425
426 ; For the dba backend, this defines which DBA variant you wish to use.
427 ;       gdbm - commonly available, Fedora not. Not recommended anymore.
428 ;       db2 - Berkeley DB v2; not supported by modern versions of PHP.
429 ;       db3 - Berkeley DB v3; as per db2. The best on Windows.
430 ;       db4 - Berkeley DB v4; current version, however PHP has some issues
431 ;               with it's db4 support.
432 ;       dbm - Older dba handler; suffers from limits on the size of data
433 ;               items.
434 ; Better not use other hacks such as inifile, flatfile or cdb.
435 DATABASE_DBA_HANDLER = gdbm
436
437 ; How long will the system wait for a database operation to complete?
438 ; Specified in seconds.
439 DATABASE_TIMEOUT = 5
440
441 ; If action=upgrade detects mysql problems, but has no ALTER permissions, 
442 ; give here a database username which has the necessary ALTER or CREATE permissions.
443 ; Of course you can fix your database manually. See lib/upgrade.php for known issues.
444 ;DBADMIN_USER = root
445 ;DBADMIN_PASSWD = secret
446
447 ; Store DB query results in memory to avoid duplicate queries.
448 ; Disable only for old php's with low memory or memory_limit=8MB.
449 ; Default: true
450 ;USECACHE = false
451
452 ;========================================================================
453 ; Section 3a: Page revisions
454 ;
455 ; The next section controls how many old revisions of each page are
456 ; kept in the database.
457 ;========================================================================
458
459 ; There are two basic classes of revisions: major and minor. Which
460 ; class a revision belongs in is determined by whether the author
461 ; checked the "this is a minor revision" checkbox when they saved the
462 ; page.
463
464 ; There is, additionally, a third class of revisions: author
465 ; revisions. The most recent non-mergable revision from each distinct
466 ; author is an author revision.
467 ;
468 ; The expiry parameters for each of those three classes of revisions
469 ; can be adjusted seperately. For each class there are five
470 ; parameters (usually, only two or three of the five are actually
471 ; set) which control how long those revisions are kept in the
472 ; database.
473 ;
474 ;   MAX_KEEP: If set, this specifies an absolute maximum for the
475 ;             number of archived revisions of that class. This is
476 ;             meant to be used as a safety cap when a non-zero
477 ;             min_age is specified. It should be set relatively high,
478 ;             and it's purpose is to prevent malicious or accidental
479 ;             database overflow due to someone causing an
480 ;             unreasonable number of edits in a short period of time.
481 ;
482 ;   MIN_AGE:  Revisions younger than this (based upon the supplanted
483 ;             date) will be kept unless max_keep is exceeded. The age
484 ;             should be specified in days. It should be a
485 ;             non-negative, real number,
486 ;
487 ;   MIN_KEEP: At least this many revisions will be kept.
488 ;
489 ;   KEEP: No more than this many revisions will be kept.
490 ;
491 ;   MAX_AGE:  No revision older than this age will be kept.
492 ;
493 ; Definitions of terms used above:
494 ;
495 ; Supplanted date: Revisions are timestamped at the instant that they
496 ; cease being the current revision. Revision age is computed using
497 ; this timestamp, not the edit time of the page.
498 ;
499 ; Merging: When a minor revision is deleted, if the preceding
500 ; revision is by the same author, the minor revision is merged with
501 ; the preceding revision before it is deleted. Essentially: this
502 ; replaces the content (and supplanted timestamp) of the previous
503 ; revision with the content after the merged minor edit, the rest of
504 ; the page metadata for the preceding version (summary, mtime, ...)
505 ; is not changed.
506 ;
507 ; Let all revisions be stored. Default since 1.3.11
508 ;MAJOR_MIN_KEEP = 2147483647
509 ;MINOR_MIN_KEEP = 2147483647
510
511 ; Keep up to 8 major edits, but keep them no longer than a month.
512 MAJOR_MAX_AGE = 32
513 MAJOR_KEEP = 8
514
515 ; Keep up to 4 minor edits, but keep them no longer than a week.
516 MINOR_MAX_AGE = 7
517 MINOR_KEEP = 4
518
519 ; Keep the latest contributions of the last 8 authors up to a year.
520 ; Additionally, (in the case of a particularly active page) try to
521 ; keep the latest contributions of all authors in the last week (even
522 ; if there are more than eight of them,) but in no case keep more
523 ; than twenty unique author revisions.
524 AUTHOR_MAX_AGE = 365
525 AUTHOR_KEEP = 8
526 AUTHOR_MIN_AGE = 7
527 AUTHOR_MAX_KEEP = 20
528
529 ;========================================================================
530 ; Part Three: User Authentication
531 ;========================================================================
532 ;
533 ; New user authentication configuration:
534 ; We support three basic authentication methods and a stacked array 
535 ; of advanced auth methods to get and check the passwords:
536 ;
537 ; ALLOW_ANON_USER         default true
538 ; ALLOW_ANON_EDIT         default true
539 ; ALLOW_BOGO_LOGIN        default true
540 ; ALLOW_USER_PASSWORDS    default true
541
542 ; allow anon users to view or edit any existing pages
543 ALLOW_ANON_USER = true
544 ; allow anon users to edit pages
545 ALLOW_ANON_EDIT = true
546
547 ; If ALLOW_BOGO_LOGIN is true, users are allowed to login (with
548 ; any/no password) using any userid which: 
549 ;  1) is not the ADMIN_USER, and
550 ;  2) is a valid WikiWord (matches $WikiNameRegexp.)
551 ; If true, users may be created by themselves. Otherwise we need seperate auth. 
552 ; If such a user will create a so called HomePage with his userid, he will 
553 ; be able to store his preferences and password there.
554 ALLOW_BOGO_LOGIN = true
555
556 ; True User Authentication:
557 ; To require user passwords:
558 ;   ALLOW_ANON_USER = false
559 ;   ALLOW_ANON_EDIT = false
560 ;   ALLOW_BOGO_LOGIN = false,
561 ;   ALLOW_USER_PASSWORDS = true.
562 ; Otherwise any anon or bogo user might login without any or a wrong password.
563 ALLOW_USER_PASSWORDS = true
564
565 ; Many different methods can be used to check user's passwords:
566 ;   BogoLogin:     WikiWord username, with no *actual* password checking,
567 ;                   although the user will still have to enter one.
568 ;   PersonalPage:  Store passwords in the users homepage metadata (simple)
569 ;   Db:            Use DBAUTH_AUTH_* (see below) with PearDB or 
570 ;                   ADODB only.
571 ;   LDAP:          Authenticate against LDAP_AUTH_HOST with LDAP_BASE_DN (experimental)
572 ;   IMAP:          Authenticate against IMAP_AUTH_HOST (email account)
573 ;   POP3:          Authenticate against POP3_AUTH_HOST (email account)
574 ;   Session:       Get username and level from a PHP session variable. (e.g. for gforge)
575 ;   File:          Store username:crypted-passwords in .htaccess like files. 
576 ;                  Use Apache's htpasswd to manage this file.
577 ;   HttpAuth:      Use the protection by the webserver (.htaccess/.htpasswd)
578 ;                  Enforcing HTTP Auth not yet. Note that the ADMIN_USER should exist also.
579 ;                  Using HttpAuth disables all other methods and no userauth sessions are used.
580 ;
581 ; Several of these methods can be used together, in the manner specified by
582 ; USER_AUTH_POLICY, below.  To specify multiple authentication methods,
583 ; separate the name of each one with colons.
584 ; USER_AUTH_ORDER = "BogoLogin : PersonalPage"
585 ;USER_AUTH_ORDER = "PersonalPage : Db"
586
587 ; For "security" purposes, you can specify that a password be at least a
588 ; certain number of characters long.  This applies even to the BogoLogin
589 ; method. Default: 0 (to allow immediate passwordless BogoLogin)
590 ;PASSWORD_LENGTH_MINIMUM = 6
591     
592 ; The following policies are available for user authentication:
593 ;       first-only: use only the first method in USER_AUTH_ORDER
594 ;       old:        ignore USER_AUTH_ORDER and try to use all available 
595 ;                       methods as in the previous PhpWiki releases (slow)
596 ;       strict:     check if the user exists for all methods: 
597 ;                       on the first existing user, try the password. 
598 ;                       dont try the other methods on failure then
599 ;       stacked:    check the given user - password combination for all
600 ;                       methods and return true on the first success.
601 USER_AUTH_POLICY = stacked
602
603 ; LDAP authentication options:
604 ;
605 ; The LDAP server to connect to.  Can either be a hostname, or a complete
606 ; URL to the server (useful if you want to use ldaps or specify a different
607 ; port number).
608 ;LDAP_AUTH_HOST = "ldap://localhost:389"
609
610 ; The organizational or domain BASE DN: e.g. "dc=mydomain,dc=com".
611 ;
612 ; Note: ou=Users and ou=Groups are used for GroupLdap Membership
613 ; Better use LDAP_OU_USERS and LDAP_OU_GROUP with GROUP_METHOD=LDAP.
614 ;LDAP_BASE_DN = "ou=Users,o=Development,dc=mycompany.com"
615
616 ; Some LDAP servers need some more options, such as the Windows Active
617 ; Directory Server.  Specify the options (as allowed by the PHP LDAP module)
618 ; and their values as NAME=value pairs separated by colons.
619 ; LDAP_SET_OPTION = "LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0"
620
621 ; DN to initially bind to the LDAP server as. This is needed if the server doesn't 
622 ; allow anonymous queries. (Windows Active Directory Server)
623 ; LDAP_AUTH_USER = "CN=ldapuser,ou=Users,o=Development,dc=mycompany.com"
624
625 ; Password to use to initially bind to the LDAP server, as the DN 
626 ; specified in the LDAP_AUTH_USER option (above).
627 ; LDAP_AUTH_PASSWORD = secret
628
629 ; If you want to match usernames against an attribute other than uid,
630 ; specify it here. Default: uid
631 ; LDAP_SEARCH_FIELD = sAMAccountName
632
633 ; If you have an organizational unit for all users, define it here.
634 ; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
635 ; Default: ou=Users
636 ; LDAP_OU_USERS = ou=Users
637
638 ; If you have an organizational unit for all groups, define it here.
639 ; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
640 ; The entries in this ou must have a gidNumber and cn attribute.
641 ; Default: ou=Groups
642 ; LDAP_OU_GROUP = ou=Groups
643
644
645 ; IMAP authentication options:
646 ;
647 ; The IMAP server to check usernames from.  Defaults to localhost.
648 ;
649 ; Some IMAP_AUTH_HOST samples:
650 ;   "localhost", "localhost:143/imap/notls", 
651 ;   "localhost:993/imap/ssl/novalidate-cert" (SuSE refuses non-SSL conections)
652 ; IMAP_AUTH_HOST = "localhost:143/imap/notls"
653
654 ; POP3 authentication options:
655 ;
656 ; Host to connect to.
657 ; POP3_AUTH_HOST = "localhost:110"
658
659 ; Port to connect. Deprecated: Use POP3_AUTH_HOST:<port> instead
660 ; POP3_AUTH_PORT = 110
661
662 ; File authentication options:
663 ;
664 ; File to read for authentication information.
665 ; Popular choices are /etc/shadow and /etc/httpd/.htpasswd
666 ; AUTH_USER_FILE = /etc/shadow
667
668 ; Defines whether the user is able to change their own password via PHPWiki.
669 ; Note that this means that the webserver user must be able to write to the
670 ; file specified in AUTH_USER_FILE.
671 ; AUTH_USER_FILE_STORABLE = false
672
673 ; Session Auth:
674 ; Name of the session variable which holds the already authenticated username.
675 ; Sample: "userid", "user[username]", "user->username"
676 ; AUTH_SESS_USER = userid
677 ; Which level will the user be? 1 = Bogo or 2 = Pass
678 ; AUTH_SESS_LEVEL = 2
679
680 ; Group membership.  PhpWiki supports defining permissions for a group as
681 ; well as for individual users.  This defines how group membership information
682 ; is obtained.  Supported values are:
683 ;
684 ;       "NONE"          Disable group membership (Fastest). Note the required quoting.
685 ;       WIKIPAGE        Define groups as list at "CategoryGroup". (Slowest, but easiest to maintain)
686 ;       DB              Stored in an SQL database. Optionally external. See USERS/GROUPS queries
687 ;       FILE            Flatfile. See AUTH_GROUP_FILE below.
688 ;       LDAP            LDAP groups. See "LDAP authentication options" above and 
689 ;                       lib/WikiGroup.php. (experimental)
690 GROUP_METHOD = WIKIPAGE
691
692 ; Page where all groups are listed. Default: Translation of "CategoryGroup"
693 ; CATEGORY_GROUP_PAGE = CategoryGroup
694
695 ; For GROUP_METHOD = FILE, the file given below is referenced to obtain
696 ; group membership information.  It should be in the same format as the
697 ; standard unix /etc/groups(5) file.
698 ; AUTH_GROUP_FILE = /etc/groups
699
700 ; External database authentication and authorization.
701 ;
702 ; If USER_AUTH_ORDER includes Db, or GROUP_METHOD = DB, the options listed
703 ; below define the SQL queries used to obtain the information out of the
704 ; database, and (in some cases) store the information back to the DB.
705 ;
706 ; The options appropriate for each query are currently undocumented, and
707 ; you should not be surprised if things change mightily in the future.
708 ;
709 ; A database DSN to connect to.  Defaults to the DSN specified for the Wiki
710 ; as a whole.
711 ; DBAUTH_AUTH_DSN = "mysql://wikiuser:@localhost/phpwiki"
712
713 ; USER/PASSWORD queries
714 ;
715 ; For USER_AUTH_POLICY=strict and the Db method this is required:
716 ;DBAUTH_AUTH_USER_EXISTS = "SELECT userid FROM pref WHERE userid='$userid'"
717
718 ; Check to see if the supplied username/password pair is OK
719 ;
720 ; Plaintext Passwords:
721 ; DBAUTH_AUTH_CHECK = "SELECT IF(passwd='$password',1,0) AS ok FROM pref WHERE userid='$userid'"
722 ;
723 ; Database-hashed passwords (more secure):
724 ;DBAUTH_AUTH_CHECK = "SELECT IF(passwd=PASSWORD('$password'),1,0) AS ok FROM pref WHERE userid='$userid'"
725 DBAUTH_AUTH_CRYPT_METHOD = plain
726
727 ; If you want to use Unix crypt()ed passwords, you can use DBAUTH_AUTH_CHECK
728 ; to get the password out of the database with a simple SELECT query, and
729 ; specify DBAUTH_AUTH_USER_EXISTS and DBAUTH_AUTH_CRYPT_METHOD:
730 ;DBAUTH_AUTH_CHECK = "SELECT passwd FROM pref where userid='$userid'"
731 ; DBAUTH_AUTH_CRYPT_METHOD = crypt
732
733 ; Update the user's authentication credential.  If this is not defined but
734 ; DBAUTH_AUTH_CHECK is, then the user will be unable to update their
735 ; password.
736 ;
737 ; Database-hashed passwords:
738 ; DBAUTH_AUTH_UPDATE = "UPDATE pref SET passwd=PASSWORD('$password') WHERE userid='$userid'"
739 ; Plaintext passwords:
740 ;DBAUTH_AUTH_UPDATE = "UPDATE pref SET passwd='$password' WHERE userid='$userid'"
741
742 ; Allow users to create their own account.
743 ; with CRYPT_METHOD=crypt e.g:
744 ; DBAUTH_AUTH_CREATE = "INSERT INTO pref (passwd,userid) VALUES ('$password','$userid')"
745 ; with CRYPT_METHOD=plain:
746 ;DBAUTH_AUTH_CREATE = "INSERT INTO pref (passwd,userid) VALUES (PASSWORD('$password'),'$userid')"
747
748 ; USER/PREFERENCE queries
749 ;
750 ; If you choose to store your preferences in an external database, enable
751 ; the following queries.  Note that if you choose to store user preferences
752 ; in the 'user' table, only registered users get their prefs from the database,
753 ; self-created users do not.  Better to use the special 'pref' table.
754 ;
755 ; The prefs field stores the serialized form of the user's preferences array,
756 ; to ease the complication of storage.
757 ;DBAUTH_PREF_SELECT = "SELECT prefs FROM pref WHERE userid='$userid'"
758
759 ; Update the user's preferences
760 ;DBAUTH_PREF_UPDATE = "UPDATE pref SET prefs='$pref_blob' WHERE userid='$userid'"
761 ;DBAUTH_PREF_INSERT = "INSERT INTO pref (userid,prefs) VALUES ('$userid','$pref_blob')"
762
763 ; USERS/GROUPS queries
764 ;
765 ; You can define 1:n or n:m user<=>group relations, as you wish.
766 ;
767 ; Sample configurations:
768 ;  Only one group per user - 1:n: (Default)
769 ;   DBAUTH_IS_MEMBER     = "SELECT userid FROM pref WHERE userid='$userid' AND groupname='$groupname'"
770 ;   DBAUTH_GROUP_MEMBERS = "SELECT userid FROM pref WHERE groupname='$groupname'"
771 ;   DBAUTH_USER_GROUPS   = "SELECT groupname FROM pref WHERE userid='$userid'"
772 ;  Multiple groups per user - n:m:
773 ;   DBAUTH_IS_MEMBER     = "SELECT userid FROM member WHERE userid='$userid' AND groupname='$groupname'"
774 ;   DBAUTH_GROUP_MEMBERS = "SELECT DISTINCT userid FROM member WHERE groupname='$groupname'"
775 ;   DBAUTH_USER_GROUPS   = "SELECT groupname FROM member WHERE userid='$userid'"
776
777 ; A interim page which gets displayed on every edit attempt, if it exists.
778 ;EDITING_POLICY = EditingPolicy
779
780 ; Enable the new extended method of handling WikiUsers to support external auth and PAGEPERM.
781 ; Servers with memory-limit problems might want to turn it off. It costs ~300KB
782 ; Default: true
783 ;ENABLE_USER_NEW = false
784
785 ; Use access control lists (as in Solaris and Windows NTFS) per page and group, 
786 ; not per user for the whole wiki.
787
788 ; We suspect ACL page permissions to degrade speed by 10%. 
789 ; GROUP_METHOD=WIKIPAGE is slowest.
790 ; Default: true
791 ;ENABLE_PAGEPERM = false
792
793 ;========================================================================
794 ; Part Four: Page appearance and layout
795 ;========================================================================
796
797 ; THEMES
798 ;
799 ; Most of the page appearance is controlled by files in the theme
800 ; subdirectory.
801 ;
802 ; There are a number of pre-defined themes shipped with PhpWiki.
803 ; Or you may create your own (e.g. by copying and then modifying one of
804 ; stock themes.)
805 ;
806 ; The complete list of installed themes can be found by doing 'ls themes/'
807 ; from the root of your PHPWiki installation.
808 ; white on yellow with fat blue links:
809 THEME = default
810 ; almost fully iconized classic grey MacOSX design:
811 ;THEME = MacOSX
812 ; as default, just some tricks to make the buttons smaller:
813 ;THEME = smaller
814 ; the popular Wordpress layout:
815 ;THEME = Wordpress
816 ; pure old-style c2wiki layout:
817 ;THEME = Portland
818 ; example with some sidebar boxes:
819 ;THEME = Sidebar
820 ; mozilla friendly, with lots of icons instead of buttons (i18n friendly):
821 ;THEME = Crao
822 ; wikipedia layout:
823 ;THEME = MonoBook
824 ; default + rateit navbar:
825 ;THEME = wikilens
826 ; blogger style, rounded (experimental):
827 ;THEME = blog
828 ; minimalistic:
829 ;THEME = shamino_com
830 ; heavy space-y layout:
831 ;THEME = SpaceWiki
832 ; random heavy images:
833 ;THEME = Hawaiian
834
835 ; Select a valid charset name to be inserted into the xml/html pages,
836 ; and to reference links to the stylesheets (css). For more info see:
837 ; <http://www.iana.org/assignments/character-sets>. Note that PhpWiki
838 ; has been extensively tested only with the latin1 (iso-8859-1)
839 ; character set.
840 ;
841 ; If you change the default from iso-8859-1 PhpWiki may not work
842 ; properly and will require modifications in all existing pages. 
843 ; At the very least you will have to convert the files in pgsrc 
844 ; or locale/xx/pgsrc to match!
845 ; Currently we support utf-8 for zh and ja, euc-jp for ja (not enabled)
846 ; and iso-8859-1 for all other langs. Changing languages (UserPreferences) 
847 ; from one charset to another will not work!
848 ;
849 ; Character sets similar to iso-8859-1 may work with little or no
850 ; modification depending on your setup. The database must also
851 ; support the same charset, and of course the same is true for the
852 ; web browser. (Some work is in progress hopefully to allow more
853 ; flexibility in this area in the future).
854 CHARSET = iso-8859-1
855
856 ; Select your language/locale - Default language is "" for auto-detection.
857 ; Available languages:
858 ; English  "en" (English    - HomePage)
859 ; Dutch    "nl" (Nederlands - ThuisPagina)
860 ; Spanish  "es" (Español    - PáginaPrincipal)
861 ; French   "fr" (Français   - PageAccueil))
862 ; German   "de" (Deutsch    - StartSeite)
863 ; Swedish  "sv" (Svenska    - Framsida)
864 ; Italian  "it" (Italiano   - PaginaPrincipale)
865 ; Japanese "ja" (Japanese   - Â¥Ã›Â¡Â¼Â¥Ã Â¥ÃšÂ¡Â¼Â¥Â¸)
866 ; Chinese  "zh" (Chinese    - ?)
867 ;
868 ; If you set DEFAULT_LANGUAGE to the empty string, the users 
869 ; preferred language as determined by the browser setting will be used.
870 ; Japanese requires CHARSET=euc-jp or utf-8 (not yet safe), Chinese CHARSET=utf-8
871 ;DEFAULT_LANGUAGE = en
872
873 ; WIKI_PGSRC -- specifies the source for the initial page contents of
874 ; the Wiki. The setting of WIKI_PGSRC only has effect when the wiki is
875 ; accessed for the first time (or after clearing the database.)
876 ; WIKI_PGSRC can either name a directory or a zip file. In either case
877 ; WIKI_PGSRC is scanned for files -- one file per page.
878 ;WIKI_PGSRC = pgsrc
879
880 ; DEFAULT_WIKI_PGSRC is only used when the language is *not* the
881 ; default (English) and when reading from a directory: in that case
882 ; some English pages are inserted into the wiki as well.
883 ; DEFAULT_WIKI_PGSRC defines where the English pages reside.
884 ;DEFAULT_WIKI_PGSRC = pgsrc
885 ; These are ':'-seperated pages which will get loaded untranslated from DEFAULT_WIKI_PGSRC.
886 ;DEFAULT_WIKI_PAGES = "ReleaseNotes:SteveWainstead:TestPage"
887
888 ;=========================================================================
889 ; Part Five: Mark-up options.
890 ;=========================================================================
891 ;
892 ; Allowed protocols for links - be careful not to allow "javascript:"
893 ; URL of these types will be automatically linked.
894 ; within a named link [name|uri] one more protocol is defined: phpwiki
895 ; Separate each of the protocol names with a vertical pipe, and ensure there
896 ; is no extraneous whitespace.
897 ;ALLOWED_PROTOCOLS = "http|https|mailto|ftp|news|nntp|ssh|gopher"
898
899 ; URLs ending with the following extension should be inlined as images.
900 ; Specify as per ALLOWED_PROTOCOLS.
901 ; Note that you can now also allow class|svg|svgz|vrml|swf ...,
902 ; which will create embedded <object> instead of <img>. 
903 ; Typical CGI extensions as pl or cgi maybe allowed too, but those two will be enforced to <img>
904 ;INLINE_IMAGES = "png|jpg|gif"
905
906 ; Perl regexp for WikiNames ("bumpy words")
907 ; (?<!..) & (?!...) used instead of '\b' because \b matches '_' as well
908 ;WIKI_NAME_REGEXP = "(?<![[:alnum:]])(?:[[:upper:]][[:lower:]]+){2,}(?![[:alnum:]])"
909
910 ; Defaults to '/', but '.' was also used.
911 ;SUBPAGE_SEPARATOR = /
912
913 ; InterWiki linking -- wiki-style links to other wikis on the web
914 ;
915 ; The map will be taken from a page name InterWikiMap.
916 ; If that page is not found (or is not locked), or map
917 ; data can not be found in it, then the file specified
918 ; by INTERWIKI_MAP_FILE (if any) will be used.
919 ;INTERWIKI_MAP_FILE = lib/interwiki.map
920
921 ; Display a warning if the internal lib/interwiki.map is used, and 
922 ; not the public InterWikiMap page. This file is not readable from outside.
923 ;WARN_NONPUBLIC_INTERWIKIMAP = false
924
925 ; Search term used for automatic page classification by keyword extraction.
926 ;
927 ; Any links on a page to pages whose names match this search 
928 ; will be used keywords in the keywords html meta tag. This is an aid to
929 ; classification by search engines. The value of the match is
930 ; used as the keyword.
931 ;
932 ; The default behavior is to match Category* or Topic* links.
933 ;KEYWORDS = "Category* OR Topic*"
934
935 ; Author and Copyright Site Navigation Links
936 ;
937 ; These will be inserted as <link rel> tags in the html header of
938 ; every page, for search engines and for browsers like Mozilla which
939 ; take advantage of link rel site navigation.
940 ;
941 ; If you have your own copyright and contact information pages change
942 ; these as appropriate.
943 ;COPYRIGHTPAGE_TITLE = "GNU General Public License"
944 ;COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/gpl.html#SEC1"
945 ; Other useful alternatives to consider:
946 ; COPYRIGHTPAGE_TITLE = "GNU Free Documentation License"
947 ; COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/fdl.html"
948 ; COPYRIGHTPAGE_TITLE = "Creative Commons License 2.0"
949 ; COPYRIGHTPAGE_URL = "http://creativecommons.org/licenses/by/2.0/"
950 ;  see http://creativecommons.org/learn/licenses/ for variations
951 ;AUTHORPAGE_TITLE = The PhpWiki Programming Team
952 ;AUTHORPAGE_URL = http://phpwiki.org/ThePhpWikiProgrammingTeam
953
954 ; Allow full markup in headers to be parsed by the CreateToc plugin.
955 ;
956 ; If false you may not use WikiWords or [] links or any other markup in 
957 ; headers in pages with the CreateToc plugin. But if false the parsing is 
958 ; faster and more stable.
959 ;TOC_FULL_SYNTAX = true
960
961 ; If false the %color=... %% syntax will be disabled. Since 1.3.11
962 ; Default: true
963 ;ENABLE_MARKUP_COLOR = false
964
965 ; Enable mediawiki-style {{TemplatePage|vars=value|...}} syntax. Since 1.3.11
966 ; Default: undefined. Enabled automatically on the MonoBook theme if undefined.
967 ;ENABLE_MARKUP_TEMPLATE = true
968
969 ;==========================================================================
970 ; Part Six: URL options.
971 ;==========================================================================
972 ;
973 ; You can probably skip this section.
974
975 ; The following section contains settings which you can use to tailor
976 ; the URLs which PhpWiki generates.
977 ;
978 ; Any of these parameters which are left undefined will be deduced
979 ; automatically. You need only set them explicitly if the
980 ; auto-detected values prove to be incorrect.
981 ;
982 ; In most cases the auto-detected values should work fine, so
983 ; hopefully you don't need to mess with this section.
984 ;
985 ; In case of local overrides of short placeholders, which themselves 
986 ; include index.php, we check for most constants. See '/wiki'.
987 ; We can override DATA_PATH and PHPWIKI_DIR to support multiple phpwiki 
988 ; versions (for development), but most likely other values like 
989 ; THEME, LANG and DbParams for a WikiFarm.
990
991 ; Canonical name and httpd port of the server on which this PhpWiki
992 ; resides.
993 ;/
994 ;SERVER_NAME = some.host.com
995 ;SERVER_PORT = 80
996
997 ; Relative URL (from the server root) of the PhpWiki
998 ; script.
999 ;SCRIPT_NAME = /some/where/index.php
1000
1001 ; URL of the PhpWiki install directory.  (You only need to set this
1002 ; if you've moved index.php out of the install directory.)  This can
1003 ; be either a relative URL (from the directory where the top-level
1004 ; PhpWiki script is) or an absolute one.
1005 ;DATA_PATH = /home/user/phpwiki
1006
1007 ; Path to the PhpWiki install directory.  This is the local
1008 ; filesystem counterpart to DATA_PATH.  (If you have to set
1009 ; DATA_PATH, your probably have to set this as well.)  This can be
1010 ; either an absolute path, or a relative path interpreted from the
1011 ; directory where the top-level PhpWiki script (normally index.php)
1012 ; resides.
1013 ;PHPWIKI_DIR = /home/user/public_html/phpwiki
1014
1015 ; PhpWiki will try to use short urls to pages, eg 
1016 ; http://www.example.com/index.php/HomePage
1017 ; If you want to use urls like 
1018 ; http://www.example.com/index.php?pagename=HomePage
1019 ; then define 'USE_PATH_INFO' as false by uncommenting the line below.
1020 ; NB:  If you are using Apache >= 2.0.30, then you may need to to use
1021 ; the directive "AcceptPathInfo On" in your Apache configuration file
1022 ; (or in an appropriate <.htaccess> file) for the short urls to work:  
1023 ; See http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo
1024
1025 ; See also http://phpwiki.sourceforge.net/phpwiki/PrettyWiki for more ideas
1026 ; on prettifying your urls.
1027 ;
1028 ; Note that Google doesn't follow the default /index.php/PageName links.
1029 ; You must use either a PrettyWiki setup (see below), or force USE_PATH_INFO=false.
1030 ;
1031 ; Default: PhpWiki will try to divine whether use of PATH_INFO
1032 ; is supported in by your webserver/PHP configuration, and will
1033 ; use PATH_INFO if it thinks that is possible.
1034 ;USE_PATH_INFO = false
1035
1036 ; VIRTUAL_PATH is the canonical URL path under which your your wiki
1037 ; appears. Normally this is the same as dirname(SCRIPT_NAME), however
1038 ; using, e.g. apaches mod_actions (or mod_rewrite), you can make it
1039 ; something different.
1040 ;
1041 ; If you do this, you should set VIRTUAL_PATH here.
1042 ;
1043 ; E.g. your phpwiki might be installed at at /scripts/phpwiki/index.php,
1044 ; but  * you've made it accessible through eg. /wiki/HomePage.
1045 ;
1046 ; One way to do this is to create a directory named 'wiki' in your
1047 ; server root. The directory contains only one file: an .htaccess
1048 ; file which reads something like:
1049 ;
1050 ;    Action x-phpwiki-page /scripts/phpwiki/index.php
1051 ;    SetHandler x-phpwiki-page
1052 ;    DirectoryIndex /scripts/phpwiki/index.php
1053 ;
1054 ; In that case you should set VIRTUAL_PATH to '/wiki'.
1055 ;
1056 ; (VIRTUAL_PATH is only used if USE_PATH_INFO is true.)
1057 ;/
1058 ;VIRTUAL_PATH = /SomeWiki
1059
1060 ; In case your system has no idea about /tmp, TEMP or TMPDIR, 
1061 ; better provide it here. E.g. needed for zipdumps.
1062 ;TEMP_DIR = /tmp
1063
1064 ;===========================================================================
1065 ; Part Seven: Miscellaneous settings
1066 ;===========================================================================
1067
1068 ; Disable HTTP redirects.
1069 ; (You probably don't need to touch this.)
1070 ;
1071 ; PhpWiki uses HTTP redirects for some of it's functionality.
1072 ; (e.g. after saving changes, PhpWiki redirects your browser to
1073 ; view the page you just saved.)
1074 ; Some web service providers (notably free European Lycos) don't seem to
1075 ; allow these redirects.  (On Lycos the result in an "Internal Server Error"
1076 ; report.)  In that case you can set DISABLE_HTTP_REDIRECT to true.
1077 ; (In which case, PhpWiki will revert to sneakier tricks to try to
1078 ; redirect the browser...)
1079 ;DISABLE_HTTP_REDIRECT = true
1080
1081 ; Enable random quotes from a fortune directory when adding a new page.
1082 ; Usually at /usr/share/fortune or /usr/share/games/fortune
1083 ; If empty no quotes are inserted.
1084 ;FORTUNE_DIR = /usr/share/fortune
1085
1086 ; If you get a crash at loading LinkIcons you might want to disable 
1087 ; the getimagesize() function, which crashes on certain php versions and 
1088 ; and some external images (png's, ..). 
1089 ; getimagesize() is only needed for spam prevention.
1090 ;DISABLE_GETIMAGESIZE = true
1091
1092 ; Optional: administrative SQL DB access (for action=upgrade)
1093 ;DBADMIN_USER = 
1094 ;DBADMIN_PASSWD = 
1095
1096 ; Add additional EDIT_TOOLBAR buttons if defined:
1097 ; They need some time and memory.
1098 ; Insert a pagelink from this list:
1099 ;TOOLBAR_PAGELINK_PULLDOWN = *
1100 ; Insert a template from this list:
1101 ;TOOLBAR_TEMPLATE_PULLDOWN = Template*
1102
1103 ;===========================================================================
1104 ; Optional Plugin Settings and external executables
1105 ;===========================================================================
1106
1107 ; GoogleMaps and GooglePlugin
1108 ; For using the Google API and GoogleMaps
1109 ; http://www.google.com/apis/maps/signup.html
1110 ;GOOGLE_LICENSE_KEY = "..."
1111
1112 ; On action=pdf: If enabled don't use the internal fpdf library.
1113 ; External PDF executable, %s is the xhtml filename
1114
1115 ;USE_EXTERNAL_HTML2PDF = "htmldoc --quiet --format pdf14 --no-toc --no-title %s"
1116
1117 ; Optional: SPAMASSASSIN wrapper. Only used if ENABLE_SPAMASSASSIN = true
1118 ; http://www.cynistar.net/~apthorpe/code/babycart/babycart.html
1119 BABYCART_PATH = /usr/local/bin/babycart
1120
1121 ; wikilens RateIt widget
1122 ; style of the stars: empty = yellow, red or red
1123 ; RATEIT_IMGPREFIX = 
1124 ; RATEIT_IMGPREFIX = Star
1125 ;RATEIT_IMGPREFIX = BStar
1126
1127 ; GraphViz plugin:
1128 ; http://www.graphviz.org/
1129 ;GRAPHVIZ_EXE = /usr/local/bin/dot
1130
1131 ; VisualWiki Plugin needs graphviz
1132 ;VISUALWIKIFONT = Arial
1133
1134 ; disable user options
1135 ;VISUALWIKI_ALLOWOPTIONS = false
1136
1137 ; PloticusPlugin:
1138 ; http://ploticus.sourceforge.net/doc/welcome.html
1139 ;PLOTICUS_EXE = /usr/local/bin/pl
1140 ;PLOTICUS_PREFABS = /usr/share/ploticus
1141
1142 ; JabberPresence
1143 ; http://edgar.netflint.net/howto.php
1144 ;MY_JABBER_ID = 
1145
1146 ; PhpWeather needs this external php project
1147 ; http://sourceforge.net/projects/phpweather/
1148 ;PHPWEATHER_BASE_DIR = 
1149
1150 ; SyntaxHighlight plugin
1151 ; http://www.andre-simon.de/doku/highlight/highlight.html
1152 ;HIGHLIGHT_EXE = /usr/local/bin/highlight
1153 ;HIGHLIGHT_DATA_DIR = /usr/share/highlight
1154
1155 ;===========================================================================
1156 ; Part Eight: PLUGINCACHED Pear/Cache Settings
1157 ;===========================================================================
1158
1159 ; Cache_Container storage class: 'file' is the fastest. See pear/Cache/Container/
1160 ;PLUGIN_CACHED_DATABASE = file
1161
1162 ; This is only used if database is set to file.
1163 ; The webserver must have write access to this dir!
1164 ;PLUGIN_CACHED_CACHE_DIR = /tmp/cache
1165 ; Every file name in the cache begins with this prefix
1166 ;PLUGIN_CACHED_FILENAME_PREFIX = phpwiki
1167
1168 ; The maximum total space in bytes of all files in the cache. When
1169 ; highwater is exceeded, a garbage collection will start.  It will
1170 ; collect garbage till 'lowwater' is reached.  Default: 4 * Megabyte
1171 ;PLUGIN_CACHED_HIGHWATER = 4194304
1172 ; Default: 3 * Megabyte
1173 ;PLUGIN_CACHED_LOWWATER  = 3145728
1174
1175 ; If an image has not been used for maxlifetime remove it from the
1176 ; cache. (Since there is also the highwater/lowwater mechanism and an
1177 ; image usually requires only 1kb you don't have to make it very
1178 ; small, I think.)  
1179 ; Default: 30 * Day (30 * 24*60*60)
1180 ;PLUGIN_CACHED_MAXLIFETIME = 2592000
1181
1182 ; Number of characters allowed to be send as 
1183 ; parameters in the url before using sessions
1184 ; vars instead. 
1185 ; Usually send plugin arguments as URL, but when they become
1186 ; longer than maxarglen store them in session variables.
1187 ; Setting it to 3000 worked fine for me, 30000 completely
1188 ; crashed my linux, 1000 should be safe.
1189 ;PLUGIN_CACHED_MAXARGLEN = 1000
1190
1191 ; Actually use the cache (should be always true unless you are
1192 ; debugging). If you want to avoid the usage of a cache but need
1193 ; WikiPlugins that nevertheless rely on a cache you might set
1194 ; 'PLUGIN_CACHED_USECACHE' to false. You still need to set
1195 ; 'PLUGIN_CACHED_CACHE_DIR' appropriately to allow image creation and
1196 ; you should set 'PLUGIN_CACHED_FORCE_SYNCMAP' to false.
1197 ;PLUGIN_CACHED_USECACHE = true
1198
1199 ; Will prevent image creation for an image map 'on demand'. It is a
1200 ; good idea to set this to 'true' because it will also prevent the
1201 ; html part not to fit to the image of the map.  If you don't use a
1202 ; cache, you have to set it to 'false', maps will not work otherwise
1203 ; but strange effects may happen if the output of an image map
1204 ; producing WikiPlugin is not completely determined by its parameters.
1205 ; (As it is the case for a graphical site map.)
1206 ;PLUGIN_CACHED_FORCE_SYNCMAP = true
1207
1208 ; If ImageTypes() does not exist (PHP < 4.0.2) allow the
1209 ; following image formats (IMG_PNG | IMG_GIF | IMG_JPG | IMG_WBMP)
1210 ; In principal all image types which are compiled into php: 
1211 ;   libgd, libpng, libjpeg, libungif, libtiff, libgd2, ...
1212 ;PLUGIN_CACHED_IMGTYPES = "png|gif|gd|gd2|jpeg|wbmp|xbm|xpm"