Commit | Line | Data |
---|---|---|
dfede59d | 1 | <?PHP |
6077020a | 2 | /////////////////////////////////////////////////////////////////////////// |
3 | // // | |
4 | // Moodle configuration file // | |
5 | // // | |
6 | // This file should be renamed "config.php" in the top-level directory // | |
7 | // // | |
8 | /////////////////////////////////////////////////////////////////////////// | |
9 | // // | |
10 | // NOTICE OF COPYRIGHT // | |
11 | // // | |
12 | // Moodle - Modular Object-Oriented Dynamic Learning Environment // | |
c6b456f6 | 13 | // http://moodle.org // |
6077020a | 14 | // // |
3b365361 | 15 | // Copyright (C) 1999 onwards Martin Dougiamas http://moodle.com // |
6077020a | 16 | // // |
17 | // This program is free software; you can redistribute it and/or modify // | |
18 | // it under the terms of the GNU General Public License as published by // | |
19 | // the Free Software Foundation; either version 2 of the License, or // | |
20 | // (at your option) any later version. // | |
21 | // // | |
22 | // This program is distributed in the hope that it will be useful, // | |
23 | // but WITHOUT ANY WARRANTY; without even the implied warranty of // | |
24 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // | |
25 | // GNU General Public License for more details: // | |
26 | // // | |
27 | // http://www.gnu.org/copyleft/gpl.html // | |
28 | // // | |
29 | /////////////////////////////////////////////////////////////////////////// | |
30 | unset($CFG); // Ignore this line | |
c57e9015 | 31 | $CFG = new stdClass(); |
6077020a | 32 | |
33 | //========================================================================= | |
34 | // 1. DATABASE SETUP | |
35 | //========================================================================= | |
36 | // First, you need to configure the database where all Moodle data // | |
37 | // will be stored. This database must already have been created // | |
38 | // and a username/password created to access it. // | |
6077020a | 39 | |
d0bf00e0 DM |
40 | $CFG->dbtype = 'pgsql'; // 'pgsql', 'mysqli', 'mssql' or 'oci' |
41 | $CFG->dblibrary = 'native'; // 'native' only at the moment | |
42 | $CFG->dbhost = 'localhost'; // eg 'localhost' or 'db.isp.com' or IP | |
43 | $CFG->dbname = 'moodle'; // database name, eg moodle | |
44 | $CFG->dbuser = 'username'; // your database username | |
45 | $CFG->dbpass = 'password'; // your database password | |
46 | $CFG->prefix = 'mdl_'; // prefix to use for all table names | |
47 | $CFG->dboptions = array( | |
48 | 'dbpersist' => false, // should persistent database connections be | |
49 | // used? set to 'false' for the most stable | |
50 | // setting, 'true' can improve performance | |
51 | // sometimes | |
52 | 'dbsocket' => false, // should connection via UNIX socket be | |
53 | // used? if you set it to 'true' here, | |
54 | // set dbhost to 'localhost' | |
55 | 'dbport' => '', // the TCP port number to use when connecting | |
56 | // to the server. keep empty string for the | |
57 | // default port | |
58 | ); | |
1e55ed26 | 59 | |
6077020a | 60 | |
9d975de4 PS |
61 | //========================================================================= |
62 | // 1.5. SECRET PASSWORD SALT | |
63 | //========================================================================= | |
64 | // User password salt is very important security feature, it is created | |
65 | // automatically in installer, you have to uncomment and modify value | |
66 | // on the next line if you are creating config.php manually. | |
67 | // | |
5cc1e1eb | 68 | // $CFG->passwordsaltmain = 'a_very_long_random_string_of_characters#@6&*1'; |
9d975de4 PS |
69 | // |
70 | // After changing the main salt you have to copy old value into one | |
71 | // of the following settings - this allows migration to the new salt | |
72 | // during the next login of each user. | |
73 | // | |
74 | // $CFG->passwordsaltalt1 = ''; | |
75 | // $CFG->passwordsaltalt2 = ''; | |
76 | // $CFG->passwordsaltalt3 = ''; | |
77 | // .... | |
78 | // $CFG->passwordsaltalt19 = ''; | |
79 | // $CFG->passwordsaltalt20 = ''; | |
80 | ||
81 | ||
6077020a | 82 | //========================================================================= |
83 | // 2. WEB SITE LOCATION | |
84 | //========================================================================= | |
85 | // Now you need to tell Moodle where it is located. Specify the full | |
eb2042f6 | 86 | // web address to where moodle has been installed. If your web site |
87 | // is accessible via multiple URLs then choose the most natural one | |
6077020a | 88 | // that your students would use. Do not include a trailing slash |
11e7b506 | 89 | // |
90 | // If you need both intranet and Internet access please read | |
91 | // http://docs.moodle.org/en/masquerading | |
6077020a | 92 | |
93 | $CFG->wwwroot = 'http://example.com/moodle'; | |
94 | ||
95 | ||
96 | //========================================================================= | |
97 | // 3. SERVER FILES LOCATION | |
98 | //========================================================================= | |
99 | // Next, specify the full OS directory path to this same location | |
100 | // Make sure the upper/lower case is correct. Some examples: | |
101 | // | |
6f6b8f3f | 102 | // $CFG->dirroot = 'C:\program files\easyphp\www\moodle'; // Windows |
6077020a | 103 | // $CFG->dirroot = '/var/www/html/moodle'; // Redhat Linux |
5ec98a94 | 104 | // $CFG->dirroot = '/home/example/public_html/moodle'; // Cpanel host |
6077020a | 105 | |
5ec98a94 | 106 | $CFG->dirroot = '/home/example/public_html/moodle'; |
6077020a | 107 | |
108 | ||
109 | //========================================================================= | |
110 | // 4. DATA FILES LOCATION | |
111 | //========================================================================= | |
112 | // Now you need a place where Moodle can save uploaded files. This | |
eb2042f6 | 113 | // directory should be readable AND WRITEABLE by the web server user |
114 | // (usually 'nobody' or 'apache'), but it should not be accessible | |
6077020a | 115 | // directly via the web. |
116 | // | |
117 | // - On hosting systems you might need to make sure that your "group" has | |
118 | // no permissions at all, but that "others" have full permissions. | |
119 | // | |
120 | // - On Windows systems you might specify something like 'c:\moodledata' | |
121 | ||
122 | $CFG->dataroot = '/home/example/moodledata'; | |
123 | ||
124 | ||
125 | //========================================================================= | |
126 | // 5. DATA FILES PERMISSIONS | |
127 | //========================================================================= | |
128 | // The following parameter sets the permissions of new directories | |
eb2042f6 | 129 | // created by Moodle within the data directory. The format is in |
6077020a | 130 | // octal format (as used by the Unix utility chmod, for example). |
eb2042f6 | 131 | // The default is usually OK, but you may want to change it to 0750 |
6077020a | 132 | // if you are concerned about world-access to the files (you will need |
133 | // to make sure the web server process (eg Apache) can access the files. | |
134 | // NOTE: the prefixed 0 is important, and don't use quotes. | |
135 | ||
d99bab2d | 136 | $CFG->directorypermissions = 02777; |
6077020a | 137 | |
138 | ||
139 | //========================================================================= | |
140 | // 6. DIRECTORY LOCATION (most people can just ignore this setting) | |
141 | //========================================================================= | |
eb2042f6 | 142 | // A very few webhosts use /admin as a special URL for you to access a |
143 | // control panel or something. Unfortunately this conflicts with the | |
144 | // standard location for the Moodle admin pages. You can fix this by | |
145 | // renaming the admin directory in your installation, and putting that | |
6077020a | 146 | // new name here. eg "moodleadmin". This will fix admin links in Moodle. |
147 | ||
148 | $CFG->admin = 'admin'; | |
149 | ||
150 | ||
151 | //========================================================================= | |
92848614 | 152 | // 7. OTHER MISCELLANEOUS SETTINGS (ignore these for new installations) |
21d1d077 | 153 | //========================================================================= |
154 | // | |
c9ca1fa5 | 155 | // These are additional tweaks for which no GUI exists in Moodle yet. |
156 | // | |
9c733e86 | 157 | // Starting in PHP 5.3 administrators should specify default timezone |
158 | // in PHP.ini, you can also specify it here if needed. | |
159 | // See details at: http://php.net/manual/en/function.date-default-timezone-set.php | |
160 | // List of time zones at: http://php.net/manual/en/timezones.php | |
161 | // date_default_timezone_set('Australia/Perth'); | |
c9ca1fa5 | 162 | // |
1ed96821 | 163 | // Change the key pair lifetime for Moodle Networking |
164 | // The default is 28 days. You would only want to change this if the key | |
165 | // was not getting regenerated for any reason. You would probably want | |
166 | // make it much longer. Note that you'll need to delete and manually update | |
167 | // any existing key. | |
168 | // $CFG->mnetkeylifetime = 28; | |
169 | // | |
92848614 | 170 | // Prevent scheduled backups from operating (and hide the GUI for them) |
171 | // Useful for webhost operators who have alternate methods of backups | |
172 | // $CFG->disablescheduledbackups = true; | |
21d1d077 | 173 | // |
29ba20ac MD |
174 | // Allow user passwords to be included in backup files. Very dangerous |
175 | // setting as far as it publishes password hashes that can be unencrypted | |
176 | // if the backup file is publicy available. Use it only if you can guarantee | |
177 | // that all your backup files remain only privacy available and are never | |
178 | // shared out from your site/institution! | |
179 | // $CFG->includeuserpasswordsinbackup = true; | |
180 | // | |
b0ccfc5c HF |
181 | // Completely disable user creation when restoring a course, bypassing any |
182 | // permissions granted via roles and capabilities. Enabling this setting | |
183 | // results in the restore process stopping when a user attempts to restore a | |
184 | // course requiring users to be created. | |
5e934890 EL |
185 | // $CFG->disableusercreationonrestore = true; |
186 | // | |
187 | // Modify the restore process in order to force the "user checks" to assume | |
b0ccfc5c HF |
188 | // that the backup originated from a different site, so detection of matching |
189 | // users is performed with different (more "relaxed") rules. Note that this is | |
190 | // only useful if the backup file has been created using Moodle < 1.9.4 and the | |
191 | // site has been rebuilt from scratch using backup files (not the best way btw). | |
192 | // If you obtain user conflicts on restore, rather than enabling this setting | |
193 | // permanently, try restoring the backup on a different site, back it up again | |
194 | // and then restore on the target server. | |
5e934890 EL |
195 | // $CFG->forcedifferentsitecheckingusersonrestore = true; |
196 | // | |
72df7e1e | 197 | // Prevent stats processing and hide the GUI |
198 | // $CFG->disablestatsprocessing = true; | |
199 | // | |
7758d00f | 200 | // Setting this to true will enable admins to edit any post at any time |
201 | // $CFG->admineditalways = true; | |
cec0a0fc | 202 | // |
5fd1a5d8 | 203 | // These variables define DEFAULT block variables for new courses |
204 | // If this one is set it overrides all others and is the only one used. | |
3eecaaf4 | 205 | // $CFG->defaultblocks_override = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity'; |
206 | // | |
207 | // These variables define the specific settings for defined course formats. | |
5fd1a5d8 | 208 | // They override any settings defined in the formats own config file. |
209 | // $CFG->defaultblocks_site = 'site_main_menu,admin,course_list:course_summary,calendar_month'; | |
3eecaaf4 | 210 | // $CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,admin,course_list'; |
211 | // $CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity'; | |
212 | // $CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity'; | |
213 | // | |
5fd1a5d8 | 214 | // These blocks are used when no other default setting is found. |
215 | // $CFG->defaultblocks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity'; | |
3eecaaf4 | 216 | // |
5afbd0e7 | 217 | // The blocks in this list will be protected from deletion, and this is primarily |
218 | // used to protect the navigation and settings blocks which can be very hard to | |
219 | // get back if accidentally delete. | |
220 | // $CFG->undeletableblocktypes = 'global_navigation_tree,settings_navigation_tree'; | |
221 | // | |
86b5ea0f | 222 | // You can specify a different class to be created for the $PAGE global, and to |
223 | // compute which blocks appear on each page. However, I cannot think of any good | |
224 | // reason why you would need to change that. It just felt wrong to hard-code the | |
225 | // the class name. You are stronly advised not to use these to settings unless | |
226 | // you are absolutely sure you know what you are doing. | |
227 | // $CFG->moodlepageclass = 'moodle_page'; | |
228 | // $CFG->blockmanagerclass = 'block_manager'; | |
c81c6d0e | 229 | // |
6b29ba60 | 230 | // Seconds for files to remain in caches. Decrease this if you are worried |
231 | // about students being served outdated versions of uploaded files. | |
e55b73fd | 232 | // $CFG->filelifetime = 86400; |
88fea1ca | 233 | // |
234 | // This setting will prevent the 'My Courses' page being displayed when a student | |
235 | // logs in. The site front page will always show the same (logged-out) view. | |
e55b73fd | 236 | // $CFG->disablemycourses = true; |
c57e9015 | 237 | // |
238 | // If this setting is set to true, then Moodle will track the IP of the | |
239 | // current user to make sure it hasn't changed during a session. This | |
240 | // will prevent the possibility of sessions being hijacked via XSS, but it | |
366dfa60 | 241 | // may break things for users coming using proxies that change all the time, |
242 | // like AOL. | |
243 | // $CFG->tracksessionip = true; | |
bb64b51a | 244 | // |
245 | // | |
246 | // The following lines are for handling email bounces. | |
5fd1a5d8 | 247 | // $CFG->handlebounces = true; |
248 | // $CFG->minbounces = 10; | |
249 | // $CFG->bounceratio = .20; | |
bb64b51a | 250 | // The next lines are needed both for bounce handling and any other email to module processing. |
251 | // mailprefix must be EXACTLY four characters. | |
c57e9015 | 252 | // Uncomment and customise this block for Postfix |
5fd1a5d8 | 253 | // $CFG->mailprefix = 'mdl+'; // + is the separator for Exim and Postfix. |
c57e9015 | 254 | // $CFG->mailprefix = 'mdl-'; // - is the separator for qmail |
5fd1a5d8 | 255 | // $CFG->maildomain = 'youremaildomain.com'; |
f93426cf | 256 | // |
11e7b506 | 257 | // Enable when setting up advanced reverse proxy load balancing configurations. |
258 | // $CFG->reverseproxy = true; | |
259 | // | |
260 | // Enable when using external SSL appliance for performance reasons. | |
261 | // Please note that site may be accessible via https: or https:, but not both! | |
262 | // $CFG->sslproxy = true; | |
263 | // | |
c57e9015 | 264 | // This setting will cause the userdate() function not to fix %d in |
1ac7ee24 | 265 | // date strings, and just let them show with a zero prefix. |
266 | // $CFG->nofixday = true; | |
ce5e431b | 267 | // |
268 | // This setting will make some graphs (eg user logs) use lines instead of bars | |
269 | // $CFG->preferlinegraphs = true; | |
9d5ef892 | 270 | // |
18259d4f | 271 | // Enabling this will allow custom scripts to replace existing moodle scripts. |
9677eb79 | 272 | // For example: if $CFG->customscripts/course/view.php exists then |
18259d4f | 273 | // it will be used instead of $CFG->wwwroot/course/view.php |
274 | // At present this will only work for files that include config.php and are called | |
275 | // as part of the url (index.php is implied). | |
276 | // Some examples are: | |
277 | // http://my.moodle.site/course/view.php | |
278 | // http://my.moodle.site/index.php | |
279 | // http://my.moodle.site/admin (index.php implied) | |
280 | // Custom scripts should not include config.php | |
281 | // Warning: Replacing standard moodle scripts may pose security risks and/or may not | |
282 | // be compatible with upgrades. Use this option only if you are aware of the risks | |
c57e9015 | 283 | // involved. |
9677eb79 | 284 | // Specify the full directory path to the custom scripts |
285 | // $CFG->customscripts = '/home/example/customscripts'; | |
18259d4f | 286 | // |
c57e9015 | 287 | // Performance profiling |
288 | // | |
853df85e | 289 | // If you set Debug to "Yes" in the Configuration->Variables page some |
290 | // performance profiling data will show up on your footer (in default theme). | |
291 | // With these settings you get more granular control over the capture | |
292 | // and printout of the data | |
293 | // | |
294 | // Capture performance profiling data | |
295 | // define('MDL_PERF' , true); | |
296 | // | |
297 | // Capture additional data from DB | |
298 | // define('MDL_PERFDB' , true); | |
299 | // | |
300 | // Print to log (for passive profiling of production servers) | |
301 | // define('MDL_PERFTOLOG' , true); | |
302 | // | |
303 | // Print to footer (works with the default theme) | |
304 | // define('MDL_PERFTOFOOT', true); | |
305 | // | |
4c202228 | 306 | // Force displayed usernames |
c57e9015 | 307 | // A little hack to anonymise user names for all students. If you set these |
4c202228 | 308 | // then all non-teachers will always see these for every person. |
309 | // $CFG->forcefirstname = 'Bruce'; | |
310 | // $CFG->forcelastname = 'Simpson'; | |
acd2279e | 311 | // |
312 | // The following setting will turn SQL Error logging on. This will output an | |
313 | // entry in apache error log indicating the position of the error and the statement | |
314 | // called. This option will action disregarding error_reporting setting. | |
315 | // $CFG->dblogerror = true; | |
5c5c16bb | 316 | // |
13534ef7 ML |
317 | // The following setting will log every database query to a table called adodb_logsql. |
318 | // Use this setting on a development server only, the table grows quickly! | |
319 | // $CFG->logsql = true; | |
320 | // | |
5c5c16bb | 321 | // The following setting will turn on username logging into Apache log. For full details regarding setting |
322 | // up of this function please refer to the install section of the document. | |
323 | // $CFG->apacheloguser = 0; // Turn this feature off. Default value. | |
324 | // $CFG->apacheloguser = 1; // Log user id. | |
325 | // $CFG->apacheloguser = 2; // Log full name in cleaned format. ie, Darth Vader will be displayed as darth_vader. | |
c57e9015 | 326 | // $CFG->apacheloguser = 3; // Log username. |
bd10cc11 | 327 | // To get the values logged in Apache's log, add to your httpd.conf |
328 | // the following statements. In the General part put: | |
220776ac | 329 | // LogFormat "%h %l %{MOODLEUSER}n %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\"" moodleformat |
bd10cc11 | 330 | // And in the part specific to your Moodle install / virtualhost: |
331 | // CustomLog "/your/path/to/log" moodleformat | |
332 | // CAUTION: Use of this option will expose usernames in the Apache log, | |
333 | // If you are going to publish your log, or the output of your web stats analyzer | |
334 | // this will weaken the security of your website. | |
c57e9015 | 335 | // |
336 | // Email database connection errors to someone. If Moodle cannot connect to the | |
880a6f6b | 337 | // database, then email this address with a notice. |
338 | // | |
6b25f553 | 339 | // $CFG->emailconnectionerrorsto = 'your@emailaddress.com'; |
c57e9015 | 340 | // |
6f93e96c | 341 | // Set the priority of themes from highest to lowest. This is useful (for |
342 | // example) in sites where the user theme should override all other theme | |
343 | // settings for accessibility reasons. You can also disable types of themes | |
b7009474 | 344 | // (other than site) by removing them from the array. The default setting is: |
345 | // $CFG->themeorder = array('course', 'category', 'session', 'user', 'site'); | |
6f93e96c | 346 | // NOTE: course, category, session, user themes still require the |
347 | // respective settings to be enabled | |
348 | // | |
73e504bc PS |
349 | // It is possible to add extra themes directory stored outside of $CFG->dirroot. |
350 | // This local directory does not have to be accessible from internet. | |
351 | // | |
352 | // $CFG->themedir = '/location/of/extra/themes'; | |
353 | // | |
84ebf08d | 354 | //========================================================================= |
355 | // 8. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!! | |
356 | //========================================================================= | |
f4fa5a63 | 357 | // |
1045a007 | 358 | // When working with production data on test servers, no emails should ever be send to real users |
359 | // $CFG->noemailever = true; | |
49da4a5f DM |
360 | // |
361 | // Divert all outgoing emails to this address to test and debug emailing features | |
362 | // $CFG->divertallemailsto = 'root@localhost.local'; | |
1045a007 | 363 | // |
84ebf08d | 364 | // Specify prefix for fake unit test tables. If not specified only tests |
1045a007 | 365 | // that do not need fake tables will be executed. |
84ebf08d | 366 | // $CFG->unittestprefix = 'tst_'; |
367 | // | |
368 | // special magic evil developer only wanting to edit the xmldb files manually | |
369 | // AND don't use the XMLDBEditor nor the prev/next stuff at all (Mahara and others) | |
370 | // Uncomment these if you're lazy like Penny | |
371 | // $CFG->xmldbdisablecommentchecking = true; | |
372 | // $CFG->xmldbdisablenextprevchecking = true; | |
373 | // | |
1045a007 | 374 | // Special magic - evil developer only wanting to edit xmldb files manually |
84ebf08d | 375 | // AND allowing the XMLDBEditor to recostruct the prev/next elements every |
376 | // time one file is loaded and saved (Moodle). | |
377 | // Uncomment this if you're lazy like Petr | |
378 | // $CFG->xmldbreconstructprevnext = true; | |
379 | // | |
1045a007 | 380 | // |
381 | // Since 2.0 sql queries are not shown during upgrade by default. | |
382 | // Please note that this setting may produce very long upgrade page on large sites. | |
383 | // $CFG->upgradeshowsql = true; | |
384 | ||
385 | ||
84ebf08d | 386 | |
6077020a | 387 | //========================================================================= |
388 | // ALL DONE! To continue installation, visit your main page with a browser | |
389 | //========================================================================= | |
c781942f | 390 | if ($CFG->wwwroot == 'http://example.com/moodle') { |
391 | echo "<p>Error detected in configuration file</p>"; | |
392 | echo "<p>Your server address can not be: \$CFG->wwwroot = 'http://example.com/moodle';</p>"; | |
393 | die; | |
394 | } | |
395 | ||
6077020a | 396 | if (file_exists("$CFG->dirroot/lib/setup.php")) { // Do not edit |
397 | include_once("$CFG->dirroot/lib/setup.php"); | |
398 | } else { | |
399 | if ($CFG->dirroot == dirname(__FILE__)) { | |
400 | echo "<p>Could not find this file: $CFG->dirroot/lib/setup.php</p>"; | |
401 | echo "<p>Are you sure all your files have been uploaded?</p>"; | |
402 | } else { | |
403 | echo "<p>Error detected in config.php</p>"; | |
404 | echo "<p>Error in: \$CFG->dirroot = '$CFG->dirroot';</p>"; | |
405 | echo "<p>Try this: \$CFG->dirroot = '".dirname(__FILE__)."';</p>"; | |
406 | } | |
407 | die; | |
408 | } | |
fa4556c5 | 409 | // There is no php closing tag in this file, |
410 | // it is intentional because it prevents trailing whitespace problems! |