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