-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.TEMPLATE.inc.php
624 lines (471 loc) · 19.7 KB
/
config.TEMPLATE.inc.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
; <?php exit; // DO NOT DELETE?>
; DO NOT DELETE THE ABOVE LINE!!!
; Doing so will expose this configuration file through your web site!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; config.TEMPLATE.inc.php
;
; Copyright (c) 2014-2021 Simon Fraser University
; Copyright (c) 2003-2021 John Willinsky
; Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
;
; OMP Configuration settings.
; Rename config.TEMPLATE.inc.php to config.inc.php to use.
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;
; General Settings ;
;;;;;;;;;;;;;;;;;;;;
[general]
; An application specific key that is required for the app to run
; Internally this is used for any encryption (specifically cookie encryption if enabled)
app_key =
; Set this to On once the system has been installed
; (This is generally done automatically by the installer)
installed = Off
; The canonical URL to the OMP installation (excluding the trailing slash)
base_url = "https://pkp.sfu.ca/omp"
; Enable strict mode. This will more aggressively cause errors/warnings when
; deprecated behaviour exists in the codebase.
strict = Off
; Session cookie name
session_cookie_name = OMPSID
; Session cookie path; if not specified, defaults to the detected base path
; session_cookie_path = /
; Number of days to save login cookie for if user selects to remember
; (set to 0 to force expiration at end of current session)
session_lifetime = 30
; SameSite configuration for the cookie, see possible values and explanations
; at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
; To set the "Secure" attribute for the cookie see the setting force_ssl at the [security] group
session_samesite = Lax
; Site time zone
; Please refer to https://www.php.net/timezones for a full list of supported
; time zones.
; I.e.: "Europe/Amsterdam"
; time_zone="Europe/Amsterdam"
time_zone = "UTC"
; Short and long date formats
date_format_short = "Y-m-d"
date_format_long = "F j, Y"
datetime_format_short = "Y-m-d h:i A"
datetime_format_long = "F j, Y - h:i A"
time_format = "h:i A"
; Use fopen(...) for URL-based reads. Modern versions of dspace
; will not accept requests using fopen, as it does not provide a
; User Agent, so this option is disabled by default. If this feature
; is disabled by PHP's configuration, this setting will be ignored.
allow_url_fopen = Off
; Base URL override settings: Entries like the following examples can
; be used to override the base URLs used by OMP. If you want to use a
; proxy to rewrite URLs to OMP, configure your proxy's URL with this format.
; Syntax: base_url[press_path] = http://www.example.com
;
; Example1: URLs that aren't part of a particular press.
; Example1: base_url[index] = http://www.example.com
; Example2: URLs that map to a subdirectory.
; Example2: base_url[myPress] = http://www.example.com/myPress
; Example3: URLs that map to a subdomain.
; Example3: base_url[myOtherPress] = http://myOtherPress.example.com
; Generate RESTful URLs using mod_rewrite. This requires the
; rewrite directive to be enabled in your .htaccess or httpd.conf.
; See FAQ for more details.
restful_urls = Off
; Restrict the list of allowed hosts to prevent HOST header injection.
; See docs/README.md for more details. The list should be JSON-formatted.
; An empty string indicates that all hosts should be trusted (not recommended!)
; Example:
; allowed_hosts = '["myjournal.tld", "anotherjournal.tld", "mylibrary.tld"]'
allowed_hosts = ''
; Allow the X_FORWARDED_FOR header to override the REMOTE_ADDR as the source IP
; Set this to "On" if you are behind a reverse proxy and you control the X_FORWARDED_FOR
; Warning: This defaults to "On" if unset for backwards compatibility.
trust_x_forwarded_for = Off
; Set the following parameter to off if you want to work with the uncompiled
; (non-minified) JavaScript source for debugging or if you are working off a
; development branch without compiled JavaScript.
enable_minified = Off
; Provide a unique site ID and OAI base URL to PKP for statistics and security
; alert purposes only.
enable_beacon = On
; The number of days a new user has to validate their account
; A new user account will be expired and removed if this many days have passed since the user registered
; their account, and they have not validated their account or logged in. If the user_validation_period is set to
; 0, unvalidated accounts will never be removed. Use this setting to automatically remove bot registrations.
user_validation_period = 28
; Turn sandbox mode to On in order to prevent the software from interacting with outside systems.
; Use this for development or testing purposes.
sandbox = Off
;;;;;;;;;;;;;;;;;;;;;
; Database Settings ;
;;;;;;;;;;;;;;;;;;;;;
[database]
driver = mysqli
host = localhost
username = omp
password = omp
name = omp
; Set the non-standard port and/or socket, if used
; port = 3306
; unix_socket = /var/run/mysqld/mysqld.sock
; Database collation
; collation = utf8_general_ci
; Enable database debug output (very verbose!)
debug = Off
;;;;;;;;;;;;;;;;;;
; Cache Settings ;
;;;;;;;;;;;;;;;;;;
[cache]
; The type of data caching to use. Options are:
; - memcache: Use the memcache server configured below
; - file: Use file-based caching; configured below
; - none: Use no caching. This may be extremely slow.
; This setting affects locale data, press settings, and plugin settings.
cache = file
; Enable memcache support
memcache_hostname = localhost
memcache_port = 11211
; For site visitors who are not logged in, many pages are often entirely
; static (e.g. About, the home page, etc). If the option below is enabled,
; these pages will be cached in local flat files for the number of hours
; specified in the web_cache_hours option. This will cut down on server
; overhead for many requests, but should be used with caution because:
; 1) Things like press metadata changes will not be reflected in cached
; data until the cache expires or is cleared, and
; 2) This caching WILL NOT RESPECT DOMAIN-BASED SUBSCRIPTIONS.
; However, for situations like hosting high-volume open access presses, it's
; an easy way of decreasing server load.
;
; When using web_cache, configure a tool to periodically clear out cache files
; such as CRON. For example, configure it to run the following command:
; find .../ojs/cache -maxdepth 1 -name wc-\*.html -mtime +1 -exec rm "{}" ";"
web_cache = Off
web_cache_hours = 1
;;;;;;;;;;;;;;;;;;;;;;;;;
; Localization Settings ;
;;;;;;;;;;;;;;;;;;;;;;;;;
[i18n]
; Default locale
locale = en
; Database connection character set
connection_charset = utf8
;;;;;;;;;;;;;;;;;
; File Settings ;
;;;;;;;;;;;;;;;;;
[files]
; Complete path to directory to store uploaded files
; (This directory should not be directly web-accessible)
; Windows users should use forward slashes
files_dir = files
; Path to the directory to store public uploaded files
; (This directory should be web-accessible and the specified path
; should be relative to the base OMP directory)
; Windows users should use forward slashes
public_files_dir = public
; The maximum allowed size in kilobytes of each user's public files
; directory. This is where user's can upload images through the
; tinymce editor to their bio. Editors can upload images for
; some of the settings.
; Set this to 0 to disallow such uploads.
public_user_dir_size = 5000
; Permissions mask for created files and directories
umask = 0022
; The minimum percentage similarity between filenames that should be considered
; a possible revision
filename_revision_match = 70
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Fileinfo (MIME) Settings ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[finfo]
; mime_database_path = /etc/magic.mime
;;;;;;;;;;;;;;;;;;;;;
; Security Settings ;
;;;;;;;;;;;;;;;;;;;;;
[security]
; Specific cipher algorithm used to generate app key and encryption purpose
; Valid and available algorithms are `aes-128-cbc`, `aes-256-cbc`, `aes-128-gcm` and `aes-256-gcm`
; cipher = 'aes-256-cbc'
; Define should the cookie at user's end need to be encrypted
; Enabling/Disabling will force all user to re-login
; cookie_encryption = On
; Force SSL connections site-wide and also sets the "Secure" flag for session cookies
; See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#secure
force_ssl = Off
; Force SSL connections for login only
force_login_ssl = Off
; This check will invalidate a session if the user's IP address changes.
; Enabling this option provides some amount of additional security, but may
; cause problems for users behind a proxy farm (e.g., AOL).
session_check_ip = Off
; The encryption (hashing) algorithm to use for encrypting user passwords
; Valid values are: md5, sha1
; NOTE: This hashing method is deprecated, but necessary to permit gradual
; migration of old password hashes.
encryption = sha1
; The unique salt to use for generating password reset hashes
salt = "YouMustSetASecretKeyHere!!"
; The unique secret used for encoding and decoding API keys
api_key_secret = ""
; The number of seconds before a password reset hash expires (defaults to 7200 / 2 hours)
reset_seconds = 7200
; Allowed HTML tags for fields that permit restricted HTML.
; Use e.g. "img[src,alt],p" to allow "src" and "alt" attributes to the "img"
; tag, and also to permit the "p" paragraph tag. Unspecified attributes will be
; stripped.
allowed_html = "a[href|target|title],em,strong,cite,code,ul,ol,li[class],dl,dt,dd,b,i,u,img[src|alt],sup,sub,br,p"
; Allowed HTML tags for submission titles only
; Unspecified attributes will be stripped.
allowed_title_html = "b,i,u,sup,sub"
;N.b.: The implicit_auth parameter has been removed in favor of plugin implementations such as shibboleth
;;;;;;;;;;;;;;;;;;
; Email Settings ;
;;;;;;;;;;;;;;;;;;
[email]
; Default method to send emails
; Available options: sendmail, smtp, log, phpmailer
default = sendmail
; Path to the sendmail, -bs argument is for using SMTP protocol
sendmail_path = "/usr/sbin/sendmail -bs"
; Use SMTP for sending mail instead of mail()
; smtp = On
; SMTP server settings
; smtp_server = mail.example.com
; smtp_port = 25
; Enable SMTP authentication
; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)
; smtp_auth = ssl
; smtp_username = username
; smtp_password = password
; Enable suppressing SSL/TLS peer verification by SMTP transports
; Note: this is not recommended for security reasons
; smtp_suppress_cert_check = On
; Allow envelope sender to be specified
; (may not be possible with some server configurations)
; allow_envelope_sender = Off
; Default envelope sender to use if none is specified elsewhere
; default_envelope_sender = my_address@my_host.com
; Force the default envelope sender (if present)
; This is useful if setting up a site-wide no-reply address
; The reply-to field will be set with the reply-to or from address.
; force_default_envelope_sender = Off
; Force a DMARC compliant from header (RFC5322.From)
; If any of your users have email addresses in domains not under your control
; you may need to set this to be compliant with DMARC policies published by
; those 3rd party domains.
; Setting this will move the users address into the reply-to field and the
; from field wil be rewritten with the default_envelope_sender.
; To use this you must set force_default_enveloper_sender = On and
; default_envelope_sender must be set to a valid address in a domain you own.
; force_dmarc_compliant_from = Off
; The display name to use with a DMARC compliant from header
; By default the DMARC compliant from will have an empty name but this can
; be changed by adding a text here.
; You can use '%n' to insert the users name from the original from header
; and '%s' to insert the localized sitename.
; dmarc_compliant_from_displayname = '%n via %s'
; If enabled, email addresses must be validated before login is possible.
require_validation = Off
; Maximum number of days before an unvalidated account expires and is deleted
validation_timeout = 14
;;;;;;;;;;;;;;;;;;;
; Search Settings ;
;;;;;;;;;;;;;;;;;;;
[search]
; Minimum indexed word length
min_word_length = 3
; The maximum number of search results fetched per keyword. These results
; are fetched and merged to provide results for searches with several keywords.
results_per_keyword = 500
; The number of hours for which keyword search results are cached.
result_cache_hours = 1
; Paths to helper programs for indexing non-text files.
; Programs are assumed to output the converted text to stdout, and "%s" is
; replaced by the file argument.
; Note that using full paths to the binaries is recommended.
; Uncomment applicable lines to enable (at most one per file type).
; Additional "index[MIME_TYPE]" lines can be added for any mime type to be
; indexed.
; PDF
; index[application/pdf] = "/usr/bin/pstotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '"
; index[application/pdf] = "/usr/bin/pdftotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '"
; PostScript
; index[application/postscript] = "/usr/bin/pstotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '"
; index[application/postscript] = "/usr/bin/ps2ascii %s | /usr/bin/tr '[:cntrl:]' ' '"
; Microsoft Word
; index[application/msword] = "/usr/bin/antiword %s"
; index[application/msword] = "/usr/bin/catdoc %s"
;;;;;;;;;;;;;;;;
; OAI Settings ;
;;;;;;;;;;;;;;;;
[oai]
; Enable OAI front-end to the site
oai = On
; OAI Repository identifier. This setting forms part of OAI-PMH record IDs.
; Changing this setting may affect existing clients and is not recommended.
repository_id = omp.pkp.sfu.ca
;;;;;;;;;;;;;;;;;;;;;;
; Interface Settings ;
;;;;;;;;;;;;;;;;;;;;;;
[interface]
; Number of items to display per page; can be overridden on a per-press basis
items_per_page = 50
; Number of page links to display; can be overridden on a per-press basis
page_links = 10
;;;;;;;;;;;;;;;;;;;;
; Captcha Settings ;
;;;;;;;;;;;;;;;;;;;;
[captcha]
; Whether or not to enable ReCaptcha
recaptcha = off
; Public key for reCaptcha (see http://www.google.com/recaptcha)
; recaptcha_public_key = your_public_key
; Private key for reCaptcha (see http://www.google.com/recaptcha)
; recaptcha_private_key = your_private_key
; Whether or not to use Captcha on user registration
captcha_on_register = on
; Whether or not to use Captcha on user login
captcha_on_login = on
; Validate the hostname in the ReCaptcha response
recaptcha_enforce_hostname = Off
;;;;;;;;;;;;;;;;;;;;;
; External Commands ;
;;;;;;;;;;;;;;;;;;;;;
[cli]
; These are paths to (optional) external binaries used in
; certain plug-ins or advanced program features.
; Using full paths to the binaries is recommended.
; tar (used in backup plugin, translation packaging)
tar = /bin/tar
; egrep (used in copyAccessLogFileTool)
egrep = /bin/egrep
; gzip (used in FileManager)
gzip = /bin/gzip
; On systems that do not have PHP4's Sablotron/xsl or PHP5's libxsl/xslt
; libraries installed, or for those who require a specific XSLT processor,
; you may enter the complete path to the XSLT renderer tool, with any
; required arguments. Use %xsl to substitute the location of the XSL
; stylesheet file, and %xml for the location of the XML source file; eg:
; /usr/bin/java -jar ~/java/xalan.jar -IN %xml -XSL %xsl %params
; See xslt_parameter_option below for information on the %params token.
xslt_command = ""
; For providing XSL parameters to the XSL transformer configured in
; xslt_command, the following snippet will be repeated once for each parameter
; to be supplied. %n will be replaced with the parameter name and %v will be
; replaced by the parameter value. The set of options thus constructed will be
; inserted into the xslt_command above in place of the %params token.
xslt_parameter_option = "-PARAM %n %v "
;;;;;;;;;;;;;;;;;;
; Proxy Settings ;
;;;;;;;;;;;;;;;;;;
[proxy]
; The HTTP proxy configuration to use
; http_proxy = "http://username:[email protected]:8080"
; https_proxy = "https://username:[email protected]:8080"
;;;;;;;;;;;;;;;;;;
; Debug Settings ;
;;;;;;;;;;;;;;;;;;
[debug]
; Display a stack trace when a fatal error occurs.
; Note that this may expose private information and should be disabled
; for any production system.
show_stacktrace = Off
; Display an error message when something goes wrong.
display_errors = Off
; Display deprecation warnings
deprecation_warnings = Off
; Log web service request information for debugging
log_web_service_info = Off
; declare a cainfo path if a certificate other than PHP's default should be used for curl calls.
; This setting overrides the 'curl.cainfo' parameter of the php.ini configuration file.
[curl]
; cainfo = ""
;;;;;;;;;;;;;;;;;;;;;;;
; Job Queues Settings ;
;;;;;;;;;;;;;;;;;;;;;;;
[queues]
; Default queue driver
default_connection = "database"
; Default queue to use when a job is added to the queue
default_queue = "queue"
; Whether or not to turn on the built-in job runner
;
; When enabled, jobs will be processed at the end of each web
; request to the application.
;
; Use of the built-in job runner is highly discouraged for high-volume
; sites. Instead, a worker daemon or cron job should be configured
; to process jobs off the application's main thread.
;
; See: https://docs.pkp.sfu.ca/admin-guide/en/advanced-jobs
;
job_runner = On
; The maximum number of jobs to run in a single request when using
; the built-in job runner.
job_runner_max_jobs = 30
; The maximum number of seconds the built-in job runner should spend
; running jobs in a single request.
;
; This should be less than the max_execution_time the server has
; configured for PHP.
;
; Lower this setting if jobs are failing due to timeouts.
job_runner_max_execution_time = 30
; The maximum consumerable memory that should be spent by the built-in
; job runner when running jobs.
;
; Set as a percentage, such as 80%:
;
; job_runner_max_memory = 80
;
; Or set as a fixed value in megabytes:
;
; job_runner_max_memory = 128M
;
; When setting a fixed value in megabytes, this should be less than the
; memory_limit the server has configured for PHP.
job_runner_max_memory = 80
; Controls whether queued jobs should be processed by the task scheduler.
; This setting has no effect when the job_runner and the [schedule].task_runner are enabled,
; on this situation the jobs will be processed solely by the job runner.
process_jobs_at_task_scheduler = Off
; Remove failed jobs from the database after the following number of days.
; Remove this setting to leave failed jobs in the database.
delete_failed_jobs_after = 180
;;;;;;;;;;;;;;;;;;;;;;;;;;
; Schedule Task Settings ;
;;;;;;;;;;;;;;;;;;;;;;;;;;
[schedule]
; Whether or not to turn on the built-in schedule task runner
;
; When enabled, schedule tasks will be processed at the end of each web
; request to the application.
;
; Use of the built-in schedule task runner is highly discouraged for high-volume
; sites. Use your operational system's task scheduler instead, and configure
; it to run the task scheduler every minute.
; Sample for the *nix crontab
; * * * * * php lib/pkp/tools/scheduler.php run >> /dev/null 2>&1
;
; See: <link-to-documentation>
task_runner = On
; How often should the built-in schedule task runner run scheduled tasks at the
; end of web request life cycle (value defined in seconds).
;
; This configuration will only have effect for the build-it task runner, it doesn't apply
; to the system crontab configuration.
;
; The default value is set to 60 seconds, a value smaller than that might affect the
; application performance negatively.
task_runner_interval = 60
; When enabled, an email with the scheduled task result will be sent only when an error
; has occurred. Otherwise, all tasks will generate a notification.
scheduled_tasks_report_error_only = On
[invitations]
expiration_days = 3
;;;;;;;;;;;;;;;;;;;;;;;;;
; New Features Settings ;
;;;;;;;;;;;;;;;;;;;;;;;;;
[features]
enable_new_submission_listing = Off