]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - config/config-dist.ini
new RawHtml policies: ENABLE_RAW_HTML_LOCKEDONLY, ENABLE_RAW_HTML_SAFE
[SourceForge/phpwiki.git] / config / config-dist.ini
1 ; This is the main configuration file for PhpWiki.
2 ; Note that seartain characters are used as comment char and therefore 
3 ; these entries must be in double-quotes. Such as ":", ";", "," and "|"
4 ;
5 ; This file is divided into seven parts: Parts Zero, One, Two, Three,
6 ; Four, Five and Six. Each one has different configuration settings you can
7 ; change; in all cases the default should work on your system,
8 ; however, we recommend you tailor things to your particular setting.
9
10 ;=========================================================================
11 ; Part Zero: Tricky Options
12 ;=========================================================================
13 ;
14 ; If PHP needs help in finding where you installed the rest of the PhpWiki
15 ; code, you can set the include_path here.
16 ;
17 ; Define PHP's include path so that it can find the PHP source code
18 ; for this PhpWiki.
19 ; You shouldn't need to do this unless you've moved index.php out
20 ; of the PhpWiki install directory. But if you define it, be sure to include either 
21 ; the system pear path or the phpwiki/lib/pear path.
22 ; Note that on Windows-based servers, you should use ; rather than :
23 ; as the path separator.
24 ;INCLUDE_PATH = ".:/usr/local/httpd/phpwiki:/usr/share/pear"
25
26 ; Set DEBUG to 1 to view the XHTML and CSS validator icons, page
27 ; processing timer, and possibly other debugging messages at the
28 ; bottom of each page. 2 for a more verbose level. Default: 0
29 ;DEBUG = 1
30
31 ; Enable the new method of handling WikiUsers.  This is currently an
32 ; experimental feature, although it is considered fairly stable.  It's best
33 ; to leave it on, and only disable it if you have problems with it.
34 ; Default: true
35 ;ENABLE_USER_NEW = false
36
37 ; Experimental new edit feature. Default: true
38 ;ENABLE_EDIT_TOOLBAR = false
39 ; Adds two additional buttons in EDIT_TOOLBAR, Search&Replace and Undo
40 ; Currently broken. Default: false
41 ;JS_SEARCHREPLACE = true
42
43 ;==========================================================================
44 ; Part One: Authentication and security settings.
45 ;
46 ; See Part Three for more.
47 ;==========================================================================
48 ;
49 ; The name of your wiki.
50 ;
51 ; This is used to generate a keywords meta tag in the HTML templates,
52 ; in bookmark titles for any bookmarks made to pages in your wiki,
53 ; and during RSS generation for the <title> of the RSS channel.
54 ;
55 ; To use your own logo and signature files, name them PhpWikiLogo.png
56 ; and PhpWikiSignature.png and put them into themes/default/images
57 ; (substituting "PhpWiki" in the filename with the name you define
58 ; here).
59 ;
60 ; It is recommended this be a relatively short WikiWord like the
61 ; InterWiki monikers found in the InterWikiMap. (For examples, see
62 ; lib/interwiki.map).
63 WIKI_NAME = PhpWiki
64
65 ; Visitor Hostname Lookup
66 ;
67 ; If set, reverse dns lookups will be performed to attempt to convert
68 ; the user's IP number into a host name, in the case where the http
69 ; server does not do this.
70 ENABLE_REVERSE_DNS = true
71
72 ; Username and password of administrator.
73 ;
74 ; Set these to your preferences. For heaven's sake pick a good
75 ; password and use the passencrypt.php tool to encrypt the password from
76 ; prying eyes.
77 ; http://wolfram.org/writing/howto/password.html
78
79 ; Logging into the wiki with the admin user and password allows you to lock,
80 ; unlock, or remove pages and to perform other PhpWikiAdministration
81 ; functions. On all other occasions you should simply log in with your
82 ; regular WikiName.
83 ;ADMIN_USER = 
84 ;ADMIN_PASSWD =
85
86 ; It is recommended that you use the passencrypt.php utility to encode the
87 ; admin password, in the event that someone gains ftp or ssh access to the
88 ; server and directory containing phpwiki. Once you have pasted the
89 ; encrypted password into ADMIN_PASSWD, uncomment this next line.
90 ENCRYPTED_PASSWD = true
91
92 ; Private ZIP Dumps of All Wiki Pages
93 ;
94 ; If true, only the admin user can make zip dumps. Otherwise anyone
95 ; may download all wiki pages as a single zip archive.
96 ZIPDUMP_AUTH = false
97
98 ; The RawHtml plugin allows page authors to embed real, raw HTML into Wiki
99 ; pages.  This is a possible security threat, as much HTML (or, rather,
100 ; JavaScript) can be very risky.  If you are in a controlled environment,
101 ; however, it could be of use.
102 ENABLE_RAW_HTML = true
103 ; If this is set, only pages locked by the Administrator may contain the RawHtml plugin
104 ENABLE_RAW_HTML_LOCKEDONLY = true
105 ; If this is set, all unsafe html code is stripped automatically (experimental!)
106 ; See http://chxo.com/scripts/safe_html-test.php
107 ENABLE_RAW_HTML_SAFE = true
108
109
110 ; If you define this to true, (MIME-type) page-dumps (either zip dumps,
111 ; or "dumps to directory" will be encoded using the quoted-printable
112 ; encoding.  If you're actually thinking of mailing the raw page dumps,
113 ; then this might be useful, since (among other things,) it ensures
114 ; that all lines in the message body are under 80 characters in length.
115 ;
116 ; Also, setting this will cause a few additional mail headers
117 ; to be generated, so that the resulting dumps are valid
118 ; RFC 2822 e-mail messages.
119 ;
120 ; Probably you can just leave this set to false, in which case you get
121 ; raw ('binary' content-encoding) page dumps.
122 STRICT_MAILABLE_PAGEDUMPS = false
123
124 ; Here you can change the default dump directories.
125 ; (Can be overridden by the directory argument)
126 DEFAULT_DUMP_DIR = /tmp/wikidump
127 HTML_DUMP_DIR    = /tmp/wikidumphtml
128 ; Filename suffix used for XHTML page dumps.
129 ; If you don't want any suffix just comment this out.
130 HTML_DUMP_SUFFIX = .html
131
132 ; The maximum file upload size, in bytes.
133 ; The default, 16777216, is 16MB.
134 MAX_UPLOAD_SIZE = 16777216
135
136 ; If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the
137 ; default state for the "minor edit" checkbox on the edit page form
138 ; will be off.
139 ; The default, 604800, is one week (7 days)
140 MINOR_EDIT_TIMEOUT = 604800
141
142 ; Actions listed in this array will not be allowed.  The complete list
143 ; of actions can be found in lib/main.php with the function
144 ; getActionDescription.
145 ; DISABLED_ACTIONS = "dumpserial : loadfile"
146
147 ; PhpWiki can generate an access_log (in "NCSA combined log" format)
148 ; for you. If you want one, define this to the name of the log
149 ; file. The server must have write access to the directory specified.
150 ;ACCESS_LOG = /var/tmp/wiki_access_log
151
152 ; By default PhpWiki will try to have PHP compress its output
153 ; before sending it to the browser (if you have a recent enough
154 ; version of PHP and the browser supports it.)
155 ; Define COMPRESS_OUTPUT to false to prevent output compression.
156 ; Define COMPRESS_OUTPUT to true to force output compression,
157 ; even if we think your version of PHP does this in a buggy
158 ; fashion.
159 ; Leave it undefined to leave the choice up to PhpWiki.
160 ;
161 ; WARNING: Compressing the output has been reported to cause serious problems
162 ; when PHP is running as a CGI or on MacOSX.
163 ;COMPRESS_OUTPUT = false
164
165 ; This controls how PhpWiki sets the HTTP cache control
166 ; headers (Expires: and Cache-Control:) 
167 ;
168 ; Choose one of:
169 ;
170 ; NO_CACHE: This is roughly the old (pre 1.3.4) behavior.  PhpWiki will
171 ;       instruct proxies and browsers never to cache PhpWiki output.
172 ;       This was previously called 'NONE', but NONE was treated specially 
173 ;       by parse_ini_config().
174 ;
175 ; STRICT: Cached pages will be invalidated whenever the database global
176 ;       timestamp changes.  This should behave just like NONE (modulo
177 ;       bugs in PhpWiki and your proxies and browsers), except that
178 ;       things will be slightly more efficient.
179 ;
180 ; LOOSE: Cached pages will be invalidated whenever they are edited,
181 ;       or, if the pages include plugins, when the plugin output could
182 ;       concievably have changed.
183 ;
184 ;       Behavior should be much like STRICT, except that sometimes
185 ;       wikilinks will show up as undefined (with the question mark)
186 ;       when in fact they refer to (recently) created pages.
187 ;       (Hitting your browsers reload or perhaps shift-reload button
188 ;       should fix the problem.)
189 ;
190 ; ALLOW_STALE: Proxies and browsers will be allowed to used stale pages.
191 ;       (The timeout for stale pages is controlled by CACHE_CONTROL_MAX_AGE.)
192 ;
193 ;       This setting will result in quirky behavior.  When you edit a
194 ;       page your changes may not show up until you shift-reload the
195 ;       page, etc...
196 ;
197 ;       This setting is generally not advisable, however it may be useful
198 ;       in certain cases (e.g. if your wiki gets lots of page views,
199 ;       and few edits by knowledgable people who won't freak over the quirks.)
200 ;
201 ; The recommended default is currently LOOSE.
202 ;
203 CACHE_CONTROL = LOOSE
204
205 ; Maximum page staleness, in seconds.
206 ;
207 ; This only has effect if CACHE_CONTROL is set to ALLOW_STALE.
208 CACHE_CONTROL_MAX_AGE = 600
209
210 ; PhpWiki normally caches a preparsed version (i.e. mostly
211 ; converted to HTML) of the most recent version of each page.
212 ; (Parsing the wiki-markup takes a fair amount of CPU.)
213 ;
214 ; Define WIKIDB_NOCACHE_MARKUP to true to disable the
215 ; caching of marked-up page content.
216 ;
217 ; Note that you can also disable markup caching on a per-page
218 ; temporary basis by addinging a query arg of '?nocache=1'
219 ; to the URL to the page.  (Use '?nocache=purge' to completely
220 ; discard the cached version of the page.)
221 ;
222 ; You can also purge the cached markup globally by using the
223 ; "Purge Markup Cache" button on the PhpWikiAdministration page.
224 ;WIKIDB_NOCACHE_MARKUP = true
225
226 ;======================================================================
227 ; Part Two: Database Selection
228 ;======================================================================
229
230 ; Select the database type:
231 ;
232 ;       SQL:   access one of several SQL databases using the PEAR DB library.
233 ;       ADODB: uses the ADODB library for data access.
234 ;       dba: use one of the standard UNIX dbm libraries.
235 ;       file: use a flat file database.
236 ;       cvs: use a CVS server to store everything.
237 DATABASE_TYPE = dba
238    
239 ; prefix for filenames or table names
240 ;
241 ; Currently you MUST EDIT THE SQL file too (in the schemas/
242 ; directory because we aren't doing on the fly sql generation
243 ; during the installation.
244 ; Note: This prefix is NOT prepended to the default DBAUTH_
245 ;       tables user, pref and member!
246 ;DATABASE_PREFIX = phpwiki_
247
248 ; For SQL based backends, specify the database as a DSN (Data Source Name),
249 ; a kind of URL for databases.
250 ;
251 ; The most general form of a DSN looks like:
252 ;
253 ;       dbtype(dbsyntax)://username:password@protocol+hostspec/database
254 ;
255 ; For a MySQL database, the following should work:
256 ;
257 ;       mysql://user:password@host/databasename
258 ;
259 ; To connect over a unix socket, use something like
260 ;
261 ;       mysql://user:password@unix(/path/to/socket)/databasename
262 ;
263 ; Valid values for dbtype are mysql, pgsql, or sqlite.
264 ;
265 DATABASE_DSN = "mysql://guest@unix(/var/lib/mysql/mysql.sock)/test"
266
267 ; A table to store session information.  Only needed by SQL backends.
268 ;
269 ; A word of warning - any prefix defined above will be prepended to whatever
270 ; is given here.
271 DATABASE_SESSION_TABLE = session
272
273 ; For the file and dba backends, this specifies where the data files will be
274 ; located.  Ensure that the user that the webserver runs as has write access
275 ; to this directory.
276 ;
277 ; WARNING: leaving this as the default of '/tmp' will almost guarantee that
278 ; you'll lose your wiki data at some stage.
279 DATABASE_DIRECTORY = /tmp
280
281 ; For the dba backend, this defines which DBA variant you wish to use.
282 ;       gdbm - commonly available
283 ;       db2 - Berkeley DB v2; not supported by modern versions of PHP
284 ;       db3 - Berkeley DB v3; as per db2. The best on Windows
285 ;       db4 - Berkeley DB v4; current version, however PHP has some issues
286 ;               with it's db4 support.
287 ;       dbm - Older dba handler; suffers from limits on the size of data
288 ;               items
289 DATABASE_DBA_HANDLER = gdbm
290
291 ; How long will the system wait for a database operation to complete?
292 ; Specified in seconds.
293 DATABASE_TIMEOUT = 20
294
295 ; If action=upgrade detects mysql problems, but has no ALTER permissions, 
296 ; give here a user which has the necessary ALTER or CREATE permissions.
297 ; Of course you can fix your database manually. See lib/upgrade.php for known issues.
298 ;DBADMIN_USER = root
299 ;DBADMIN_PASSWD = secret
300
301 ; The login code now uses PHP's session support. Usually, the default
302 ; configuration of PHP is to store the session state information in
303 ; /tmp. That probably will work fine, but fails e.g. on clustered
304 ; servers where each server has their own distinct /tmp (this is the
305 ; case on SourceForge's project web server.) You can specify an
306 ; alternate directory in which to store state information like so
307 ; (whatever user your httpd runs as must have read/write permission
308 ; in this directory):
309 ;SESSION_SAVE_PATH = some_other_directory
310
311 ;========================================================================
312 ; Section 3a: Page revisions
313 ;
314 ; The next section controls how many old revisions of each page are
315 ; kept in the database.
316 ;========================================================================
317 ;
318 ; There are two basic classes of revisions: major and minor. Which
319 ; class a revision belongs in is determined by whether the author
320 ; checked the "this is a minor revision" checkbox when they saved the
321 ; page.
322
323 ; There is, additionally, a third class of revisions: author
324 ; revisions. The most recent non-mergable revision from each distinct
325 ; author is an author revision.
326 ;
327 ; The expiry parameters for each of those three classes of revisions
328 ; can be adjusted seperately. For each class there are five
329 ; parameters (usually, only two or three of the five are actually
330 ; set) which control how long those revisions are kept in the
331 ; database.
332 ;
333 ;   MAX_KEEP: If set, this specifies an absolute maximum for the
334 ;             number of archived revisions of that class. This is
335 ;             meant to be used as a safety cap when a non-zero
336 ;             min_age is specified. It should be set relatively high,
337 ;             and it's purpose is to prevent malicious or accidental
338 ;             database overflow due to someone causing an
339 ;             unreasonable number of edits in a short period of time.
340 ;
341 ;   MIN_AGE:  Revisions younger than this (based upon the supplanted
342 ;             date) will be kept unless max_keep is exceeded. The age
343 ;             should be specified in days. It should be a
344 ;             non-negative, real number,
345 ;
346 ;   MIN_KEEP: At least this many revisions will be kept.
347 ;
348 ;   KEEP: No more than this many revisions will be kept.
349 ;
350 ;   MAX_AGE:  No revision older than this age will be kept.
351 ;
352 ; Definitions of terms used above:
353 ;
354 ; Supplanted date: Revisions are timestamped at the instant that they
355 ; cease being the current revision. Revision age is computed using
356 ; this timestamp, not the edit time of the page.
357 ;
358 ; Merging: When a minor revision is deleted, if the preceding
359 ; revision is by the same author, the minor revision is merged with
360 ; the preceding revision before it is deleted. Essentially: this
361 ; replaces the content (and supplanted timestamp) of the previous
362 ; revision with the content after the merged minor edit, the rest of
363 ; the page metadata for the preceding version (summary, mtime, ...)
364 ; is not changed.
365 ;
366 ; Keep up to 8 major edits, but keep them no longer than a month.
367 MAJOR_MAX_AGE = 32
368 MAJOR_KEEP = 8
369
370 ; Keep up to 4 minor edits, but keep them no longer than a week.
371 MINOR_MAX_AGE = 7
372 MINOR_KEEP = 4
373
374 ; Keep the latest contributions of the last 8 authors up to a year.
375 ; Additionally, (in the case of a particularly active page) try to
376 ; keep the latest contributions of all authors in the last week (even
377 ; if there are more than eight of them,) but in no case keep more
378 ; than twenty unique author revisions.
379 AUTHOR_MAX_AGE = 365
380 AUTHOR_KEEP = 8
381 AUTHOR_MIN_AGE = 7
382 AUTHOR_MAX_KEEP = 20
383
384 ;========================================================================
385 ; Part Three: User Authentication
386 ;========================================================================
387 ;
388 ; New user authentication configuration:
389 ; We support three basic authentication methods and a stacked array 
390 ; of advanced auth methods to get and check the passwords:
391 ;
392 ; ALLOW_ANON_USER         default true
393 ; ALLOW_ANON_EDIT         default true
394 ; ALLOW_BOGO_LOGIN        default true
395 ; ALLOW_USER_PASSWORDS    default true
396
397 ; allow anon users to view existing pages
398 ALLOW_ANON_USER = true
399 ; allow anon users to edit pages
400 ALLOW_ANON_EDIT = true
401
402 ; If ALLOW_BOGO_LOGIN is true, users are allowed to login (with
403 ; any/no password) using any userid which: 
404 ;  1) is not the ADMIN_USER, and
405 ;  2) is a valid WikiWord (matches $WikiNameRegexp.)
406 ; If true, users may be created by themselves. Otherwise we need seperate auth. 
407 ; If such a user will create a so called HomePage with his userid, he will 
408 ; be able to store his preferences and password there.
409 ALLOW_BOGO_LOGIN = true
410
411 ; True User Authentication:
412 ; To require user passwords:
413 ;   ALLOW_ANON_USER = false
414 ;   ALLOW_ANON_EDIT = false
415 ;   ALLOW_BOGO_LOGIN = false,
416 ;   ALLOW_USER_PASSWORDS = true.
417 ; Otherwise any anon or bogo user might login without any or a wrong password.
418 ALLOW_USER_PASSWORDS = true
419
420 ; Many different methods can be used to check user's passwords:
421 ;   BogoLogin:     WikiWord username, with no *actual* password checking,
422 ;                   although the user will still have to enter one.
423 ;   PersonalPage:  Store passwords in the users homepage metadata (simple)
424 ;   Db:            Use DBAUTH_AUTH_* (see below) with PearDB or 
425 ;                   ADODB only.
426 ;   LDAP:          Authenticate against LDAP_AUTH_HOST with LDAP_BASE_DN
427 ;   IMAP:          Authenticate against IMAP_AUTH_HOST (email account)
428 ;   POP3:          Authenticate against POP3_AUTH_HOST (email account)
429 ;   File:          Store username:crypted-passwords in .htaccess like files. 
430 ;                  Use Apache's htpasswd to manage this file.
431 ;   HttpAuth:      Use the protection by the webserver (.htaccess) or 
432 ;                  enforce it
433 ;
434 ; Several of these methods can be used together, in the manner specified by
435 ; USER_AUTH_POLICY, below.  To specify multiple authentication methods,
436 ; separate the name of each one with colons.
437 USER_AUTH_ORDER = "PersonalPage : Db"
438
439 ; For "security" purposes, you can specify that a password be at least a
440 ; certain number of characters long.  This applies even to the BogoLogin
441 ; method.
442 PASSWORD_LENGTH_MINIMUM = 2
443     
444 ; The following policies are available for user authentication:
445 ;       first-only: use only the first method in USER_AUTH_ORDER
446 ;       old:        ignore USER_AUTH_ORDER and try to use all available 
447 ;                       methods as in the previous PhpWiki releases (slow)
448 ;       strict:     check if the user exists for all methods: 
449 ;                       on the first existing user, try the password. 
450 ;                       dont try the other methods on failure then
451 ;       stacked:    check the given user - password combination for all
452 ;                       methods and return true on the first success.
453 USER_AUTH_POLICY = stacked
454
455 ; LDAP authentication options:
456 ;
457 ; The LDAP server to connect to.  Can either be a hostname, or a complete
458 ; URL to the server (useful if you want to use ldaps or specify a different
459 ; port number).
460 ;LDAP_AUTH_HOST = "ldap://localhost:389"
461
462 ; The organizational or domain BASE DN: e.g. "dc=mydomain,dc=com".
463 ;
464 ; Note: ou=Users and ou=Groups are used for GroupLdap Membership
465 ; Better use LDAP_OU_USERS and LDAP_OU_GROUP with GROUP_METHOD=LDAP.
466 ;LDAP_BASE_DN = "ou=Users,o=Development,dc=mycompany.com"
467
468 ; Some LDAP servers need some more options, such as the Windows Active
469 ; Directory Server.  Specify the options (as allowed by the PHP LDAP module)
470 ; and their values as NAME=value pairs separated by colons.
471 ; LDAP_SET_OPTION = "LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0"
472
473 ; DN to initially bind to the LDAP server as. This is needed if the server doesn't 
474 ; allow anonymous queries. (Windows Active Directory Server)
475 ; LDAP_AUTH_USER = "CN=ldapuser,ou=Users,o=Development,dc=mycompany.com"
476
477 ; Password to use to initially bind to the LDAP server, as the DN 
478 ; specified in the LDAP_AUTH_USER option (above).
479 ; LDAP_AUTH_PASSWORD = secret
480
481 ; If you want to match usernames against an attribute other than uid,
482 ; specify it here. Default: uid
483 ; LDAP_SEARCH_FIELD = sAMAccountName
484
485 ; If you have an organizational unit for all users, define it here.
486 ; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
487 ; Default: ou=Users
488 ; LDAP_OU_USERS = ou=Users
489
490 ; If you have an organizational unit for all groups, define it here.
491 ; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
492 ; The entries in this ou must have a gidNumber and cn attribute.
493 ; Default: ou=Groups
494 ; LDAP_OU_GROUP = ou=Groups
495
496
497 ; IMAP authentication options:
498 ;
499 ; The IMAP server to check usernames from.  Defaults to localhost.
500 ;
501 ; Some IMAP_AUTH_HOST samples:
502 ;   "localhost", "localhost:143/imap/notls", 
503 ;   "localhost:993/imap/ssl/novalidate-cert" (SuSE refuses non-SSL conections)
504 ; IMAP_AUTH_HOST = "localhost:143/imap/notls"
505
506 ; POP3 authentication options:
507 ;
508 ; Host to connect to.
509 ; POP3_AUTH_HOST = "localhost:110"
510
511 ; Port to connect. Deprecated: Use POP3_AUTH_HOST:<port> instead
512 ; POP3_AUTH_PORT = 110
513
514 ; File authentication options:
515 ;
516 ; File to read for authentication information.
517 ; Popular choices are /etc/shadow and /etc/httpd/.htpasswd
518 ; AUTH_USER_FILE = /etc/shadow
519
520 ; Defines whether the user is able to change their own password via PHPWiki.
521 ; Note that this means that the webserver user must be able to write to the
522 ; file specified in AUTH_USER_FILE.
523 ; AUTH_USER_FILE_STORABLE = false
524
525 ; Session Auth:
526 ; Name of the session variable which holds the already authenticated username.
527 ; Sample: "userid", "user[username]", "user->username"
528 ; AUTH_SESS_USER = userid
529 ; Which level will the user be? 1 = Bogo or 2 = Pass
530 ; AUTH_SESS_LEVEL = 2
531
532 ; Group membership.  PHPWiki supports defining permissions for a group as
533 ; well as for individual users.  This defines how group membership information
534 ; is obtained.  Supported values are:
535 ;
536 ;       NONE            group membership is not supported.
537 ;       WIKIPAGE        Defined in the metadata of a wiki page.
538 ;       DB              Stored in an ADODB or PearDB database.
539 ;       FILE            Flatfile.
540 ;       LDAP            Query LDAP to find the information.
541 GROUP_METHOD = WIKIPAGE
542
543 ; For GROUP_METHOD = FILE, the file given below is referenced to obtain
544 ; group membership information.  It should be in the same format as the
545 ; standard unix /etc/groups(5) file.
546 ; AUTH_GROUP_FILE = /etc/groups
547
548 ; External database authentication and authorization.
549 ;
550 ; If USER_AUTH_ORDER includes Db, or GROUP_METHOD = DB, the options listed
551 ; below define the SQL queries used to obtain the information out of the
552 ; database, and (in some cases) store the information back to the DB.
553 ;
554 ; The options appropriate for each query are currently undocumented, and
555 ; you should not be surprised if things change mightily in the future.
556 ;
557 ; A database DSN to connect to.  Defaults to the DSN specified for the Wiki
558 ; as a whole.
559 ; DBAUTH_AUTH_DSN = "mysql://wikiuser:@localhost/phpwiki"
560 ;
561 ; USER/PASSWORD queries
562 ;
563 ; Check to see if the supplied username/password pair is OK
564 ;
565 ; plaintext passwords:
566 ; DBAUTH_AUTH_CHECK = "SELECT IF(passwd='$password',1,0) AS ok FROM user WHERE userid='$userid'"
567 ;
568 ; database-hashed passwords (more secure):
569 ; DBAUTH_AUTH_CHECK = "SELECT IF(passwd=PASSWORD('$password'),1,0) AS ok FROM user WHERE userid='$userid'"
570 DBAUTH_AUTH_CRYPT_METHOD = plain
571
572 ; If you want to use Unix crypt()ed passwords, you can use DBAUTH_AUTH_CHECK
573 ; to get the password out of the database with a simple SELECT query, and
574 ; specify DBAUTH_AUTH_USER_EXISTS and DBAUTH_AUTH_CRYPT_METHOD:
575 ; DBAUTH_AUTH_CHECK = "SELECT passwd FROM user where userid='$userid'"
576 ; DBAUTH_AUTH_USER_EXISTS = "SELECT userid FROM user WHERE userid='$userid'"
577 ; DBAUTH_AUTH_CRYPT_METHOD = crypt
578 ;
579 ; Update the user's authentication credential.  If this is not defined but
580 ; DBAUTH_AUTH_CHECK is, then the user will be unable to update their
581 ; password.
582 ;
583 ; Plaintext passwords:
584 ; DBAUTH_AUTH_UPDATE = "UPDATE user SET passwd='$password' WHERE userid='$userid'"
585 ; Database-hashed passwords:
586 ; DBAUTH_AUTH_UPDATE = "UPDATE user SET passwd=PASSWORD('$password') WHERE userid='$userid'"
587 ;
588 ; Allow the user to create their own account.
589 ; DBAUTH_AUTH_CREATE = "INSERT INTO user SET passwd=PASSWORD('$password'),userid='$userid'"
590
591 ; USER/PREFERENCE queries
592 ;
593 ; If you choose to store your preferences in an external database, enable
594 ; the following queries.  Note that if you choose to store user preferences
595 ; in the 'user' table, only registered users get their prefs from the database,
596 ; self-created users do not.  Better to use the special 'pref' table.
597 ;
598 ; The prefs field stores the serialized form of the user's preferences array,
599 ; to ease the complication of storage.
600 ; DBAUTH_PREF_SELECT = "SELECT prefs FROM user WHERE userid='$userid'"
601 ; DBAUTH_PREF_SELECT = "SELECT prefs FROM pref WHERE userid='$userid'"
602
603 ; Update the user's preferences
604 ; DBAUTH_PREF_UPDATE = "UPDATE user SET prefs='$pref_blob' WHERE userid='$userid'"
605 ; Note that REPLACE works only with mysql and destroy all other columns!
606 ; DBAUTH_PREF_UPDATE = "REPLACE INTO pref SET prefs='$pref_blob',userid='$userid'"
607
608 ; USERS/GROUPS queries
609 ;
610 ; You can define 1:n or n:m user<=>group relations, as you wish.
611 ;
612 ; Sample configurations:
613 ;  only one group per user (1:n):
614 ;   DBAUTH_IS_MEMBER = "SELECT user FROM user WHERE user='$userid' AND group='$groupname'"
615 ;   DBAUTH_GROUP_MEMBERS = "SELECT user FROM user WHERE group='$groupname'"
616 ;   DBAUTH_USER_GROUPS = "SELECT group FROM user WHERE user='$userid'"
617 ;  multiple groups per user (n:m):
618 ;   DBAUTH_IS_MEMBER = "SELECT userid FROM member WHERE userid='$userid' AND groupname='$groupname'"
619 ;   DBAUTH_GROUP_MEMBERS = "SELECT DISTINCT userid FROM member WHERE groupname='$groupname'"
620 ;   DBAUTH_USER_GROUPS = "SELECT groupname FROM member WHERE userid='$userid'"
621
622 ; A interim page which gets displayed on every edit attempt
623 EDITING_POLICY = EditingPolicy
624
625 ;========================================================================
626 ; Part Four: Page appearance and layout
627 ;========================================================================
628
629 ; THEMES
630 ;
631 ; Most of the page appearance is controlled by files in the theme
632 ; subdirectory.
633 ;
634 ; There are a number of pre-defined themes shipped with PhpWiki.
635 ; Or you may create your own (e.g. by copying and then modifying one of
636 ; stock themes.)
637 ;
638 ; The complete list of installed themes can be found by doing 'ls themes/'
639 ; from the root of your PHPWiki installation.
640 THEME = default
641 ; THEME = MacOSX
642 ; THEME = smaller
643 ; THEME = Wordpress
644 ; THEME = Portland
645 ; THEME = Hawaiian
646 ; THEME = Sidebar
647 ; THEME = Crao
648 ; THEME = wikilens
649
650 ; Select a valid charset name to be inserted into the xml/html pages,
651 ; and to reference links to the stylesheets (css). For more info see:
652 ; <http://www.iana.org/assignments/character-sets>. Note that PhpWiki
653 ; has been extensively tested only with the latin1 (iso-8859-1)
654 ; character set.
655 ;
656 ; If you change the default from iso-8859-1 PhpWiki may not work
657 ; properly and will require modifications in all existing pages. 
658 ; At the very least you will have to convert the files in pgsrc 
659 ; or locale/xx/pgsrc to match!
660 ; Currently we support utf-8 for zh, euc-jp for ja and iso-8859-1 
661 ; for all other langs. Changing languages (UserPreferences) from one 
662 ; charset to another will not work!
663 ;
664 ; Character sets similar to iso-8859-1 may work with little or no
665 ; modification depending on your setup. The database must also
666 ; support the same charset, and of course the same is true for the
667 ; web browser. (Some work is in progress hopefully to allow more
668 ; flexibility in this area in the future).
669 CHARSET = iso-8859-1
670
671 ; Select your language/locale - default language is "en" for English.
672 ; Other languages available:
673 ; English "en"  (English    - HomePage)
674 ; Dutch   "nl" (Nederlands - ThuisPagina)
675 ; Spanish "es" (Español    - PáginaPrincipal)
676 ; French  "fr" (Français   - PageAccueil))
677 ; German  "de" (Deutsch    - StartSeite)
678 ; Swedish "sv" (Svenska    - Framsida)
679 ; Italian "it" (Italiano   - PaginaPrincipale)
680 ; Japanese "ja" (Japanese   - Â¥Ã›Â¡Â¼Â¥Ã Â¥ÃšÂ¡Â¼Â¥Â¸)
681 ; Chinese  "zh" (Chinese   - ?)
682 ;
683 ; If you set DEFAULT_LANGUAGE to the empty string, your system's
684 ; default language (as determined by the applicable environment
685 ; variables) will be used.
686 ; Japanese requires euc-jp, Chinese utf-8
687 ;
688 DEFAULT_LANGUAGE = en
689
690 ; WIKI_PGSRC -- specifies the source for the initial page contents of
691 ; the Wiki. The setting of WIKI_PGSRC only has effect when the wiki is
692 ; accessed for the first time (or after clearing the database.)
693 ; WIKI_PGSRC can either name a directory or a zip file. In either case
694 ; WIKI_PGSRC is scanned for files -- one file per page.
695 WIKI_PGSRC = pgsrc
696
697 ; DEFAULT_WIKI_PGSRC is only used when the language is *not* the
698 ; default (English) and when reading from a directory: in that case
699 ; some English pages are inserted into the wiki as well.
700 ; DEFAULT_WIKI_PGSRC defines where the English pages reside.
701 DEFAULT_WIKI_PGSRC = pgsrc
702 ; These are the pages which will get loaded from DEFAULT_WIKI_PGSRC.
703 DEFAULT_WIKI_PAGES = "ReleaseNotes:SteveWainstead:TestPage"
704
705 ;=========================================================================
706 ; Part Five: Mark-up options.
707 ;=========================================================================
708 ;
709 ; allowed protocols for links - be careful not to allow "javascript:"
710 ; URL of these types will be automatically linked.
711 ; within a named link [name|uri] one more protocol is defined: phpwiki
712 ; Separate each of the protocol names with a vertical pipe, and ensure there
713 ; is no extraneous whitespace.
714 ALLOWED_PROTOCOLS = "http|https|mailto|ftp|news|nntp|ssh|gopher"
715
716 ; URLs ending with the following extension should be inlined as images.
717 ; Specify as per ALLOWED_PROTOCOLS
718 INLINE_IMAGES = "png|jpg|gif"
719
720 ; Perl regexp for WikiNames ("bumpy words")
721 ; (?<!..) & (?!...) used instead of '\b' because \b matches '_' as well
722 WIKI_NAME_REGEXP = "(?<![[:alnum:]])(?:[[:upper:]][[:lower:]]+){2,}(?![[:alnum:]])"
723
724 ; Defaults to '/', but '.' was also used.
725 SUBPAGE_SEPARATOR = /
726
727 ; InterWiki linking -- wiki-style links to other wikis on the web
728 ;
729 ; The map will be taken from a page name InterWikiMap.
730 ; If that page is not found (or is not locked), or map
731 ; data can not be found in it, then the file specified
732 ; by INTERWIKI_MAP_FILE (if any) will be used.
733 INTERWIKI_MAP_FILE = lib/interwiki.map
734
735 ; Display a warning if the internal lib/interwiki.map is used, and 
736 ; not the public InterWikiMap page. This file is not readable from outside.
737 WARN_NONPUBLIC_INTERWIKIMAP = false
738
739 ; Regexp used for automatic keyword extraction.
740 ;
741 ; Any links on a page to pages whose names match this regexp will
742 ; be used keywords in the keywords meta tag.  (This is an aid to
743 ; classification by search engines.)  The value of the match is
744 ; used as the keyword.
745 ;
746 ; The default behavior is to match Category* and Topic* links.
747 KEYWORDS = "Category:Topic"
748 ; KEYWORD_LINK_REGEXP = "(?<=^\'. join(\'|^\', $keywords) . \')[[:upper:]].*$"
749
750 ; Author and Copyright Site Navigation Links
751 ;
752 ; These will be inserted as <link rel> tags in the html header of
753 ; every page, for search engines and for browsers like Mozilla which
754 ; take advantage of link rel site navigation.
755 ;
756 ; If you have your own copyright and contact information pages change
757 ; these as appropriate.
758 COPYRIGHTPAGE_TITLE = "GNU General Public License"
759 COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/gpl.html#SEC1"
760 ; Other useful alternatives to consider:
761 ; COPYRIGHTPAGE_TITLE = "GNU Free Documentation License"
762 ; COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/fdl.html"
763 ; COPYRIGHTPAGE_TITLE = "Creative Commons License 2.0"
764 ; COPYRIGHTPAGE_URL = "http://creativecommons.org/licenses/by/2.0/"
765 ;  see http://creativecommons.org/learn/licenses/ for variations
766 AUTHORPAGE_TITLE = The PhpWiki Programming Team
767 AUTHORPAGE_URL = http://phpwiki.sourceforge.net/phpwiki/ThePhpWikiProgrammingTeam
768
769 ; Allow full markup in headers to be parsed by the CreateToc plugin.
770 ;
771 ; If false you may not use WikiWords or [] links or any other markup in 
772 ; headers in pages with the CreateToc plugin. But if false the parsing is 
773 ; faster and more stable.
774 TOC_FULL_SYNTAX = true
775
776 ;==========================================================================
777 ; Part Six: URL options.
778 ;==========================================================================
779 ;
780 ; You can probably skip this section.
781
782 ; The following section contains settings which you can use to tailor
783 ; the URLs which PhpWiki generates.
784 ;
785 ; Any of these parameters which are left undefined will be deduced
786 ; automatically. You need only set them explicitly if the
787 ; auto-detected values prove to be incorrect.
788 ;
789 ; In most cases the auto-detected values should work fine, so
790 ; hopefully you don't need to mess with this section.
791 ;
792 ; In case of local overrides of short placeholders, which themselves 
793 ; include index.php, we check for most constants. See '/wiki'.
794 ; We can override DATA_PATH and PHPWIKI_DIR to support multiple phpwiki 
795 ; versions (for development), but most likely other values like 
796 ; THEME, LANG and DbParams for a WikiFarm.
797
798 ; Canonical name and httpd port of the server on which this PhpWiki
799 ; resides.
800 ;/
801 ;SERVER_NAME = some.host.com
802 ;SERVER_PORT = 80
803
804 ; Relative URL (from the server root) of the PhpWiki
805 ; script.
806 ;SCRIPT_NAME = /some/where/index.php
807
808 ; URL of the PhpWiki install directory.  (You only need to set this
809 ; if you've moved index.php out of the install directory.)  This can
810 ; be either a relative URL (from the directory where the top-level
811 ; PhpWiki script is) or an absolute one.
812 ;DATA_PATH = /home/user/phpwiki
813
814 ; Path to the PhpWiki install directory.  This is the local
815 ; filesystem counterpart to DATA_PATH.  (If you have to set
816 ; DATA_PATH, your probably have to set this as well.)  This can be
817 ; either an absolute path, or a relative path interpreted from the
818 ; directory where the top-level PhpWiki script (normally index.php)
819 ; resides.
820 ;PHPWIKI_DIR = /home/user/public_html/phpwiki
821
822 ; PhpWiki will try to use short urls to pages, eg 
823 ; http://www.example.com/index.php/HomePage
824 ; If you want to use urls like 
825 ; http://www.example.com/index.php?pagename=HomePage
826 ; then define 'USE_PATH_INFO' as false by uncommenting the line below.
827 ; NB:  If you are using Apache >= 2.0.30, then you may need to to use
828 ; the directive "AcceptPathInfo On" in your Apache configuration file
829 ; (or in an appropriate <.htaccess> file) for the short urls to work:  
830 ; See http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo
831
832 ; See also http://phpwiki.sourceforge.net/phpwiki/PrettyWiki for more ideas
833 ; on prettifying your urls.
834 ;
835 ; Note that Google doesn't follow the default /index.php/PageName links.
836 ; You must use either a PrettyWiki setup (see below), or force USE_PATH_INFO=false.
837 ;
838 ; Default: PhpWiki will try to divine whether use of PATH_INFO
839 ; is supported in by your webserver/PHP configuration, and will
840 ; use PATH_INFO if it thinks that is possible.
841 ;USE_PATH_INFO = false
842
843 ; VIRTUAL_PATH is the canonical URL path under which your your wiki
844 ; appears. Normally this is the same as dirname(SCRIPT_NAME), however
845 ; using, e.g. apaches mod_actions (or mod_rewrite), you can make it
846 ; something different.
847 ;
848 ; If you do this, you should set VIRTUAL_PATH here.
849 ;
850 ; E.g. your phpwiki might be installed at at /scripts/phpwiki/index.php,
851 ; but  * you've made it accessible through eg. /wiki/HomePage.
852 ;
853 ; One way to do this is to create a directory named 'wiki' in your
854 ; server root. The directory contains only one file: an .htaccess
855 ; file which reads something like:
856 ;
857 ;    Action x-phpwiki-page /scripts/phpwiki/index.php
858 ;    SetHandler x-phpwiki-page
859 ;    DirectoryIndex /scripts/phpwiki/index.php
860 ;
861 ; In that case you should set VIRTUAL_PATH to '/wiki'.
862 ;
863 ; (VIRTUAL_PATH is only used if USE_PATH_INFO is true.)
864 ;/
865 ;VIRTUAL_PATH = /SomeWiki
866
867 ; In case your system has no idea about /tmp, TEMP or TMPDIR, 
868 ; better provide it here. E.g. needed for zipdumps.
869 ; TEMP_DIR = /tmp
870
871 ;===========================================================================
872 ; Part Seven: Miscellaneous settings
873 ;===========================================================================
874
875 ; Disable HTTP redirects.
876 ;
877 ; (You probably don't need to touch this.)
878 ;
879 ; PhpWiki uses HTTP redirects for some of it's functionality.
880 ; (e.g. after saving changes, PhpWiki redirects your browser to
881 ; view the page you just saved.)
882 ;
883 ; Some web service providers (notably free European Lycos) don't seem to
884 ; allow these redirects.  (On Lycos the result in an "Internal Server Error"
885 ; report.)  In that case you can set DISABLE_HTTP_REDIRECT to true.
886 ; (In which case, PhpWiki will revert to sneakier tricks to try to
887 ; redirect the browser...)
888 ;DISABLE_HTTP_REDIRECT = true
889
890 ; Enable random quotes from a fortune directory when adding a new page.
891 ; Usually at /usr/share/fortune or /usr/share/games/fortune
892 ; If empty no quotes are inserted.
893 ;FORTUNE_DIR = /usr/share/fortune
894
895 ; If you get a crash at loading LinkIcons you might want to disable 
896 ; the getimagesize() function, which crashes on certain php versions and 
897 ; and some external images (png's, ..). 
898 ; getimagesize() is only needed for spam prevention.
899 ;DISABLE_GETIMAGESIZE = 1
900
901 ;===========================================================================
902 ; PLUGINCACHED Pear/Cache Settings: (moved from lib/plugincache-config.php)
903 ;===========================================================================
904
905 ; Cache_Container storage class: 'file' is the fastest. See pear/Cache/Container/
906 PLUGIN_CACHED_DATABASE = file
907
908 ; This is only used if database is set to file.
909 ; The webserver must have write access to this dir!
910 PLUGIN_CACHED_CACHE_DIR = /tmp/cache
911 ; Every file name in the cache begins with this prefix
912 PLUGIN_CACHED_FILENAME_PREFIX = phpwiki
913
914 ; The maximum total space in bytes of all files in the cache. When
915 ; highwater is exceeded, a garbage collection will start.  It will
916 ; collect garbage till 'lowwater' is reached.  Default: 4 * Megabyte
917 PLUGIN_CACHED_HIGHWATER = 4194304
918 ; Default: 3 * Megabyte
919 PLUGIN_CACHED_LOWWATER  = 3145728
920
921 ; If an image has not been used for maxlifetime remove it from the
922 ; cache. (Since there is also the highwater/lowwater mechanism and an
923 ; image usually requires only 1kb you don't have to make it very
924 ; small, I think.)  
925 ; Default: 30 * Day (30 * 24*60*60)
926 PLUGIN_CACHED_MAXLIFETIME = 2592000
927
928 ; Number of characters allowed to be send as 
929 ; parameters in the url before using sessions
930 ; vars instead. 
931 ; Usually send plugin arguments as URL, but when they become
932 ; longer than maxarglen store them in session variables.
933 ; Setting it to 3000 worked fine for me, 30000 completely
934 ; crashed my linux, 1000 should be safe.
935 PLUGIN_CACHED_MAXARGLEN = 1000
936
937 ; Actually use the cache (should be always true unless you are
938 ; debugging). If you want to avoid the usage of a cache but need
939 ; WikiPlugins that nevertheless rely on a cache you might set
940 ; 'PLUGIN_CACHED_USECACHE' to false. You still need to set
941 ; 'PLUGIN_CACHED_CACHE_DIR' appropriately to allow image creation and
942 ; you should set 'PLUGIN_CACHED_FORCE_SYNCMAP' to false.
943 PLUGIN_CACHED_USECACHE = true
944
945 ; Will prevent image creation for an image map 'on demand'. It is a
946 ; good idea to set this to 'true' because it will also prevent the
947 ; html part not to fit to the image of the map.  If you don't use a
948 ; cache, you have to set it to 'false', maps will not work otherwise
949 ; but strange effects may happen if the output of an image map
950 ; producing WikiPlugin is not completely determined by its parameters.
951 ; (As it is the case for a graphical site map.)
952 PLUGIN_CACHED_FORCE_SYNCMAP = true
953
954 ; If ImageTypes() does not exist (PHP < 4.0.2) allow the
955 ; following image formats (IMG_PNG | IMG_GIF | IMG_JPG | IMG_WBMP)
956 ; In principal all image types which are compiled into php: 
957 ;   libgd, libpng, libjpeg, libungif, libtiff, libgd2, ...
958 ; Todo: swf, pdf, ...
959 PLUGIN_CACHED_IMGTYPES = "png|gif|gd|gd2|jpeg|wbmp|xbm|xpm"