config-dist.php 25 KB
Newer Older
1
<?PHP
gustav_delius's avatar
gustav_delius committed
2
3
4
5
6
7
8
9
10
11
12
///////////////////////////////////////////////////////////////////////////
//                                                                       //
// Moodle configuration file                                             //
//                                                                       //
// This file should be renamed "config.php" in the top-level directory   //
//                                                                       //
///////////////////////////////////////////////////////////////////////////
//                                                                       //
// NOTICE OF COPYRIGHT                                                   //
//                                                                       //
// Moodle - Modular Object-Oriented Dynamic Learning Environment         //
moodler's avatar
moodler committed
13
//          http://moodle.org                                            //
gustav_delius's avatar
gustav_delius committed
14
//                                                                       //
moodler's avatar
moodler committed
15
// Copyright (C) 1999 onwards  Martin Dougiamas  http://moodle.com       //
gustav_delius's avatar
gustav_delius committed
16
17
18
//                                                                       //
// This program is free software; you can redistribute it and/or modify  //
// it under the terms of the GNU General Public License as published by  //
Petr Skoda's avatar
Petr Skoda committed
19
// the Free Software Foundation; either version 3 of the License, or     //
gustav_delius's avatar
gustav_delius committed
20
21
22
23
24
25
26
27
28
29
30
// (at your option) any later version.                                   //
//                                                                       //
// This program is distributed in the hope that it will be useful,       //
// but WITHOUT ANY WARRANTY; without even the implied warranty of        //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         //
// GNU General Public License for more details:                          //
//                                                                       //
//          http://www.gnu.org/copyleft/gpl.html                         //
//                                                                       //
///////////////////////////////////////////////////////////////////////////
unset($CFG);  // Ignore this line
31
global $CFG;  // This is necessary here for PHPUnit execution
32
$CFG = new stdClass();
gustav_delius's avatar
gustav_delius committed
33
34
35
36
37
38
39
40

//=========================================================================
// 1. DATABASE SETUP
//=========================================================================
// First, you need to configure the database where all Moodle data       //
// will be stored.  This database must already have been created         //
// and a username/password created to access it.                         //

41
42
43
44
45
46
47
48
49
50
51
52
$CFG->dbtype    = 'pgsql';      // 'pgsql', 'mysqli', 'mssql' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'username';   // your database username
$CFG->dbpass    = 'password';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names
$CFG->dboptions = array(
    'dbpersist' => false,       // should persistent database connections be
                                //  used? set to 'false' for the most stable
                                //  setting, 'true' can improve performance
                                //  sometimes
53
54
55
56
57
58
    'dbsocket'  => false,       // should connection via UNIX socket be used?
                                //  if you set it to 'true' or custom path
                                //  here set dbhost to 'localhost',
                                //  (please note mysql is always using socket
                                //  if dbhost is 'localhost' - if you need
                                //  local port connection use '127.0.0.1')
59
60
61
62
    'dbport'    => '',          // the TCP port number to use when connecting
                                //  to the server. keep empty string for the
                                //  default port
);
moodler's avatar
moodler committed
63

gustav_delius's avatar
gustav_delius committed
64

65
//=========================================================================
66
// 2. SECRET PASSWORD SALT
67
68
69
70
71
//=========================================================================
// User password salt is very important security feature, it is created
// automatically in installer, you have to uncomment and modify value
// on the next line if you are creating config.php manually.
//
72
// $CFG->passwordsaltmain = 'a_very_long_random_string_of_characters#@6&*1';
73
74
75
76
77
78
79
80
81
82
83
84
85
//
// After changing the main salt you have to copy old value into one
// of the following settings - this allows migration to the new salt
// during the next login of each user.
//
// $CFG->passwordsaltalt1 = '';
// $CFG->passwordsaltalt2 = '';
// $CFG->passwordsaltalt3 = '';
// ....
// $CFG->passwordsaltalt19 = '';
// $CFG->passwordsaltalt20 = '';


gustav_delius's avatar
gustav_delius committed
86
//=========================================================================
87
// 3. WEB SITE LOCATION
gustav_delius's avatar
gustav_delius committed
88
89
//=========================================================================
// Now you need to tell Moodle where it is located. Specify the full
90
91
// web address to where moodle has been installed.  If your web site
// is accessible via multiple URLs then choose the most natural one
gustav_delius's avatar
gustav_delius committed
92
// that your students would use.  Do not include a trailing slash
93
94
95
//
// If you need both intranet and Internet access please read
// http://docs.moodle.org/en/masquerading
gustav_delius's avatar
gustav_delius committed
96
97
98
99
100
101
102
103

$CFG->wwwroot   = 'http://example.com/moodle';


//=========================================================================
// 4. DATA FILES LOCATION
//=========================================================================
// Now you need a place where Moodle can save uploaded files.  This
104
105
// directory should be readable AND WRITEABLE by the web server user
// (usually 'nobody' or 'apache'), but it should not be accessible
gustav_delius's avatar
gustav_delius committed
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// directly via the web.
//
// - On hosting systems you might need to make sure that your "group" has
//   no permissions at all, but that "others" have full permissions.
//
// - On Windows systems you might specify something like 'c:\moodledata'

$CFG->dataroot  = '/home/example/moodledata';


//=========================================================================
// 5. DATA FILES PERMISSIONS
//=========================================================================
// The following parameter sets the permissions of new directories
120
// created by Moodle within the data directory.  The format is in
gustav_delius's avatar
gustav_delius committed
121
// octal format (as used by the Unix utility chmod, for example).
122
// The default is usually OK, but you may want to change it to 0750
gustav_delius's avatar
gustav_delius committed
123
124
125
126
// if you are concerned about world-access to the files (you will need
// to make sure the web server process (eg Apache) can access the files.
// NOTE: the prefixed 0 is important, and don't use quotes.

127
$CFG->directorypermissions = 02777;
gustav_delius's avatar
gustav_delius committed
128
129
130
131
132


//=========================================================================
// 6. DIRECTORY LOCATION  (most people can just ignore this setting)
//=========================================================================
133
134
135
136
// A very few webhosts use /admin as a special URL for you to access a
// control panel or something.  Unfortunately this conflicts with the
// standard location for the Moodle admin pages.  You can fix this by
// renaming the admin directory in your installation, and putting that
gustav_delius's avatar
gustav_delius committed
137
138
139
140
141
142
// new name here.  eg "moodleadmin".  This will fix admin links in Moodle.

$CFG->admin = 'admin';


//=========================================================================
143
// 7. OTHER MISCELLANEOUS SETTINGS (ignore these for new installations)
144
145
//=========================================================================
//
146
147
// These are additional tweaks for which no GUI exists in Moodle yet.
//
148
149
150
151
152
// Starting in PHP 5.3 administrators should specify default timezone
// in PHP.ini, you can also specify it here if needed.
// See details at: http://php.net/manual/en/function.date-default-timezone-set.php
// List of time zones at: http://php.net/manual/en/timezones.php
//     date_default_timezone_set('Australia/Perth');
153
//
thepurpleblob's avatar
thepurpleblob committed
154
155
156
157
158
159
160
// Change the key pair lifetime for Moodle Networking
// The default is 28 days. You would only want to change this if the key
// was not getting regenerated for any reason. You would probably want
// make it much longer. Note that you'll need to delete and manually update
// any existing key.
//      $CFG->mnetkeylifetime = 28;
//
161
162
163
164
165
166
167
// Allow user passwords to be included in backup files. Very dangerous
// setting as far as it publishes password hashes that can be unencrypted
// if the backup file is publicy available. Use it only if you can guarantee
// that all your backup files remain only privacy available and are never
// shared out from your site/institution!
//      $CFG->includeuserpasswordsinbackup = true;
//
168
169
170
171
// Completely disable user creation when restoring a course, bypassing any
// permissions granted via roles and capabilities. Enabling this setting
// results in the restore process stopping when a user attempts to restore a
// course requiring users to be created.
172
173
//     $CFG->disableusercreationonrestore = true;
//
174
175
176
177
178
179
180
// Keep the temporary directories used by backup and restore without being
// deleted at the end of the process. Use it if you want to debug / view
// all the information stored there after the process has ended. Note that
// those directories may be deleted (after some ttl) both by cron and / or
// by new backup / restore invocations.
//     $CFG->keeptempdirectoriesonbackup = true;
//
181
// Modify the restore process in order to force the "user checks" to assume
182
183
184
185
186
187
188
// that the backup originated from a different site, so detection of matching
// users is performed with different (more "relaxed") rules. Note that this is
// only useful if the backup file has been created using Moodle < 1.9.4 and the
// site has been rebuilt from scratch using backup files (not the best way btw).
// If you obtain user conflicts on restore, rather than enabling this setting
// permanently, try restoring the backup on a different site, back it up again
// and then restore on the target server.
189
190
//    $CFG->forcedifferentsitecheckingusersonrestore = true;
//
191
192
193
// Prevent stats processing and hide the GUI
//      $CFG->disablestatsprocessing = true;
//
moodler's avatar
moodler committed
194
195
// Setting this to true will enable admins to edit any post at any time
//      $CFG->admineditalways = true;
196
//
197
198
// These variables define DEFAULT block variables for new courses
// If this one is set it overrides all others and is the only one used.
199
//      $CFG->defaultblocks_override = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
200
201
//
// These variables define the specific settings for defined course formats.
202
// They override any settings defined in the formats own config file.
203
204
205
206
//      $CFG->defaultblocks_site = 'site_main_menu,course_list:course_summary,calendar_month';
//      $CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,course_list';
//      $CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
//      $CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
207
//
208
// These blocks are used when no other default setting is found.
209
//      $CFG->defaultblocks = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
210
//
211
212
213
214
215
216
217
// You can specify a different class to be created for the $PAGE global, and to
// compute which blocks appear on each page. However, I cannot think of any good
// reason why you would need to change that. It just felt wrong to hard-code the
// the class name. You are stronly advised not to use these to settings unless
// you are absolutely sure you know what you are doing.
//      $CFG->moodlepageclass = 'moodle_page';
//      $CFG->blockmanagerclass = 'block_manager';
moodler's avatar
moodler committed
218
//
219
220
// Seconds for files to remain in caches. Decrease this if you are worried
// about students being served outdated versions of uploaded files.
stronk7's avatar
stronk7 committed
221
//     $CFG->filelifetime = 86400;
222
223
224
//
// This setting will prevent the 'My Courses' page being displayed when a student
// logs in. The site front page will always show the same (logged-out) view.
stronk7's avatar
stronk7 committed
225
//     $CFG->disablemycourses = true;
226
227
228
229
//
// If this setting is set to true, then Moodle will track the IP of the
// current user to make sure it hasn't changed during a session.  This
// will prevent the possibility of sessions being hijacked via XSS, but it
230
231
232
// may break things for users coming using proxies that change all the time,
// like AOL.
//      $CFG->tracksessionip = true;
233
234
//
// The following lines are for handling email bounces.
235
236
237
//      $CFG->handlebounces = true;
//      $CFG->minbounces = 10;
//      $CFG->bounceratio = .20;
238
239
// The next lines are needed both for bounce handling and any other email to module processing.
// mailprefix must be EXACTLY four characters.
240
// Uncomment and customise this block for Postfix
241
//      $CFG->mailprefix = 'mdl+'; // + is the separator for Exim and Postfix.
242
//      $CFG->mailprefix = 'mdl-'; // - is the separator for qmail
243
//      $CFG->maildomain = 'youremaildomain.com';
244
//
245
246
// Enable when setting up advanced reverse proxy load balancing configurations,
// it may be also necessary to enable this when using port forwarding.
247
248
249
250
251
252
//      $CFG->reverseproxy = true;
//
// Enable when using external SSL appliance for performance reasons.
// Please note that site may be accessible via https: or https:, but not both!
//      $CFG->sslproxy = true;
//
253
// This setting will cause the userdate() function not to fix %d in
254
255
// date strings, and just let them show with a zero prefix.
//      $CFG->nofixday = true;
256
257
258
//
// This setting will make some graphs (eg user logs) use lines instead of bars
//      $CFG->preferlinegraphs = true;
259
//
260
// Enabling this will allow custom scripts to replace existing moodle scripts.
261
// For example: if $CFG->customscripts/course/view.php exists then
262
263
264
265
266
267
268
269
270
271
// it will be used instead of $CFG->wwwroot/course/view.php
// At present this will only work for files that include config.php and are called
// as part of the url (index.php is implied).
// Some examples are:
//      http://my.moodle.site/course/view.php
//      http://my.moodle.site/index.php
//      http://my.moodle.site/admin            (index.php implied)
// Custom scripts should not include config.php
// Warning: Replacing standard moodle scripts may pose security risks and/or may not
// be compatible with upgrades. Use this option only if you are aware of the risks
272
// involved.
273
274
// Specify the full directory path to the custom scripts
//      $CFG->customscripts = '/home/example/customscripts';
275
//
276
277
// Performance profiling
//
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
//   If you set Debug to "Yes" in the Configuration->Variables page some
//   performance profiling data will show up on your footer (in default theme).
//   With these settings you get more granular control over the capture
//   and printout of the data
//
//   Capture performance profiling data
//   define('MDL_PERF'  , true);
//
//   Capture additional data from DB
//   define('MDL_PERFDB'  , true);
//
//   Print to log (for passive profiling of production servers)
//   define('MDL_PERFTOLOG'  , true);
//
//   Print to footer (works with the default theme)
//   define('MDL_PERFTOFOOT', true);
//
295
296
297
298
299
300
301
//   Enable earlier profiling that causes more code to be covered
//   on every request (db connections, config load, other inits...).
//   Requires extra configuration to be defined in config.php like:
//   profilingincluded, profilingexcluded, profilingautofrec,
//   profilingallowme, profilingallowall, profilinglifetime
//       $CFG->earlyprofilingenabled = true;
//
302
// Force displayed usernames
303
//   A little hack to anonymise user names for all students.  If you set these
304
305
306
//   then all non-teachers will always see these for every person.
//       $CFG->forcefirstname = 'Bruce';
//       $CFG->forcelastname  = 'Simpson';
307
308
309
310
311
//
// The following setting will turn SQL Error logging on. This will output an
// entry in apache error log indicating the position of the error and the statement
// called. This option will action disregarding error_reporting setting.
//     $CFG->dblogerror = true;
312
//
Martin Langhoff's avatar
Martin Langhoff committed
313
314
315
316
// The following setting will log every database query to a table called adodb_logsql.
// Use this setting on a development server only, the table grows quickly!
//     $CFG->logsql = true;
//
317
318
319
320
321
// The following setting will turn on username logging into Apache log. For full details regarding setting
// up of this function please refer to the install section of the document.
//     $CFG->apacheloguser = 0; // Turn this feature off. Default value.
//     $CFG->apacheloguser = 1; // Log user id.
//     $CFG->apacheloguser = 2; // Log full name in cleaned format. ie, Darth Vader will be displayed as darth_vader.
322
//     $CFG->apacheloguser = 3; // Log username.
323
324
// To get the values logged in Apache's log, add to your httpd.conf
// the following statements. In the General part put:
thepurpleblob's avatar
thepurpleblob committed
325
//     LogFormat "%h %l %{MOODLEUSER}n %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\"" moodleformat
326
327
328
329
330
// And in the part specific to your Moodle install / virtualhost:
//     CustomLog "/your/path/to/log" moodleformat
// CAUTION: Use of this option will expose usernames in the Apache log,
// If you are going to publish your log, or the output of your web stats analyzer
// this will weaken the security of your website.
331
332
//
// Email database connection errors to someone.  If Moodle cannot connect to the
333
334
// database, then email this address with a notice.
//
moodler's avatar
moodler committed
335
//     $CFG->emailconnectionerrorsto = 'your@emailaddress.com';
336
//
337
338
339
// Set the priority of themes from highest to lowest. This is useful (for
// example) in sites where the user theme should override all other theme
// settings for accessibility reasons. You can also disable types of themes
340
341
// (other than site)  by removing them from the array. The default setting is:
//      $CFG->themeorder = array('course', 'category', 'session', 'user', 'site');
342
343
344
// NOTE: course, category, session, user themes still require the
// respective settings to be enabled
//
345
346
347
348
349
// It is possible to add extra themes directory stored outside of $CFG->dirroot.
// This local directory does not have to be accessible from internet.
//
//     $CFG->themedir = '/location/of/extra/themes';
//
350
351
352
353
354
355
// It is possible to specify different cache and temp directories, use local fast filesystem.
// The directories must not be accessible via web.
//
//     $CFG->tempdir = '/var/www/moodle/temp';
//     $CFG->cachedir = '/var/www/moodle/cache';
//
356
357
358
// If $CFG->langstringcache is enabled (which should always be in production
// environment), Moodle keeps aggregated strings in its own internal format
// optimised for performance. By default, this on-disk cache is created in
359
// $CFG->cachedir/lang. In cluster environment, you may wish to specify
360
361
362
363
364
365
366
367
// an alternative location of this cache so that each web server in the cluster
// uses its own local cache and does not need to access the shared dataroot.
// Make sure that the web server process has write permission to this location
// and that it has permission to remove the folder, too (so that the cache can
// be pruned).
//
//     $CFG->langcacheroot = '/var/www/moodle/htdocs/altcache/lang';
//
368
369
370
371
372
373
374
// If $CFG->langcache is enabled (which should always be in production
// environment), Moodle stores the list of available languages in a cache file.
// By default, the file $CFG->dataroot/languages is used. You may wish to
// specify an alternative location of this cache file.
//
//     $CFG->langmenucachefile = '/var/www/moodle/htdocs/altcache/languages';
//
375
376
377
378
379
380
// Site default language can be set via standard administration interface. If you
// want to have initial error messages for eventual database connection problems
// localized too, you have to set your language code here.
//
//     $CFG->lang = 'yourlangcode'; // for example 'cs'
//
Sam Hemelryk's avatar
Sam Hemelryk committed
381
382
383
384
// When Moodle is about to perform an intensive operation it raises PHP's memory
// limit. The following setting should be used on large sites to set the raised
// memory limit to something higher.
// The value for the settings should be a valid PHP memory value. e.g. 512M, 1G
385
//
Sam Hemelryk's avatar
Sam Hemelryk committed
386
//     $CFG->extramemorylimit = 1G;
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
// The CSS files the Moodle produces can be extremely large and complex, especially
// if you are using a custom theme that builds upon several other themes.
// In Moodle 2.2 a CSS optimiser was added as an experimental feature for advanced
// users. The CSS optimiser organises the CSS in order to reduce the overall number
// of rules and styles being sent to the client. It does this by collating the
// CSS before it is cached removing excess styles and rules and stripping out any
// extraneous content such as comments and empty rules.
// The following settings are used to enable and control the optimisation.
//
// Enable the CSS optimiser. This will only optimise the CSS if themedesignermode
// is not enabled.
//
//      $CFG->cssoptimise = true;
//
// If set then CSS will also be optimised when themedesignermode is enabled.
// This is useful if you are a theme designer and want some help optimising your
// CSS.
//
//      $CFG->cssoptimisedebug = true;
//
// If set the CSS optimiser will add stats about the optimisation to the top of
// the optimised CSS file. You can then inspect the CSS to see the affect the CSS
// optimiser is having.
//
//      $CFG->cssoptimisestats = true;
//
// If set the CSS that is optimised will still retain a minamilistic formatting
// so that anyone wanting to can still clearly read it.
//
//      $CFG->cssoptimisepretty = true;
//
419
420
421
//=========================================================================
// 8. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!
//=========================================================================
422
//
423
424
425
426
427
428
// Force a debugging mode regardless the settings in the site administration
// @error_reporting(1023);  // NOT FOR PRODUCTION SERVERS!
// @ini_set('display_errors', '1'); // NOT FOR PRODUCTION SERVERS!
// $CFG->debug = 38911;  // DEBUG_DEVELOPER // NOT FOR PRODUCTION SERVERS!
// $CFG->debugdisplay = true;   // NOT FOR PRODUCTION SERVERS!
//
Petr Skoda's avatar
Petr Skoda committed
429
430
431
432
433
// You can specify a comma separated list of user ids that that always see
// debug messages, this overrides the debug flag in $CFG->debug and $CFG->debugdisplay
// for these users only.
// $CFG->debugusers = '2';
//
434
435
436
// Prevent theme caching
// $CFG->themerev = -1; // NOT FOR PRODUCTION SERVERS!
//
437
// Prevent core_string_manager on-disk cache
438
// $CFG->langstringcache = false; // NOT FOR PRODUCTION SERVERS!
439
//
440
441
// When working with production data on test servers, no emails or other messages
// should ever be send to real users
442
// $CFG->noemailever = true;    // NOT FOR PRODUCTION SERVERS!
443
444
//
// Divert all outgoing emails to this address to test and debug emailing features
445
// $CFG->divertallemailsto = 'root@localhost.local'; // NOT FOR PRODUCTION SERVERS!
446
//
447
// Specify prefix for fake unit test tables. If not specified only tests
448
// that do not need fake tables will be executed.
449
// $CFG->unittestprefix = 'tst_';   // NOT FOR PRODUCTION SERVERS!
450
451
452
453
//
// special magic evil developer only wanting to edit the xmldb files manually
// AND don't use the XMLDBEditor nor the prev/next stuff at all (Mahara and others)
// Uncomment these if you're lazy like Penny
454
455
// $CFG->xmldbdisablecommentchecking = true;    // NOT FOR PRODUCTION SERVERS!
// $CFG->xmldbdisablenextprevchecking = true;   // NOT FOR PRODUCTION SERVERS!
456
//
457
// Special magic - evil developer only wanting to edit xmldb files manually
Petr Skoda's avatar
Petr Skoda committed
458
// AND allowing the XMLDBEditor to reconstruct the prev/next elements every
459
460
// time one file is loaded and saved (Moodle).
// Uncomment this if you're lazy like Petr
461
// $CFG->xmldbreconstructprevnext = true;   // NOT FOR PRODUCTION SERVERS!
462
463
464
//
// Since 2.0 sql queries are not shown during upgrade by default.
// Please note that this setting may produce very long upgrade page on large sites.
465
// $CFG->upgradeshowsql = true; // NOT FOR PRODUCTION SERVERS!
466
//
467
468
469
470
471
472
// Add SQL queries to the output of cron, just before their execution
// $CFG->showcronsql = true;
//
// Force developer level debug and add debug info to the output of cron
// $CFG->showcrondebugging = true;
//
473
474
475
476
477
478
479
480
481
482
483
484
485
486
//=========================================================================
// 9. FORCED SETTINGS
//=========================================================================
// It is possible to specify normal admin settings here, the point is that
// they can not be changed through the standard admin settings pages any more.
//
// Core settings are specified directly via assignment to $CFG variable.
// Example:
//   $CFG->somecoresetting = 'value';
//
// Plugin settings have to be put into a special array.
// Example:
//   $CFG->forced_plugin_settings = array('pluginname'  => array('settingname' => 'value', 'secondsetting' => 'othervalue'),
//                                        'otherplugin' => array('mysetting' => 'myvalue', 'thesetting' => 'thevalue'));
487

488

gustav_delius's avatar
gustav_delius committed
489
490
491
//=========================================================================
// ALL DONE!  To continue installation, visit your main page with a browser
//=========================================================================
skodak's avatar
skodak committed
492

493
require_once(dirname(__FILE__) . '/lib/setup.php'); // Do not edit
494

495
496
// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!