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