config-dist.php 15.2 KB
Newer Older
gustav_delius's avatar
gustav_delius committed
1
2
3
4
5
6
7
8
9
10
11
12
<?PHP // $Id$
///////////////////////////////////////////////////////////////////////////
//                                                                       //
// 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-2004  Martin Dougiamas  http://dougiamas.com       //
gustav_delius's avatar
gustav_delius committed
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//                                                                       //
// 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  //
// the Free Software Foundation; either version 2 of the License, or     //
// (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

//=========================================================================
// 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.                         //
//                                                                       //
//   mysql      - the prefix is optional, but useful when installing     //
//                into databases that already contain tables.            //
//
//   postgres7  - the prefix is REQUIRED, regardless of whether the      //
//                database already contains tables.                      //
//                                                                       //
// A special case exists when using PostgreSQL databases via sockets.    //
// Define dbhost as follows, leaving dbname, dbuser, dbpass BLANK!:      //
//    $CFG->dbhost = " user='muser' password='mpass' dbname='mdata'";    //
48
//
gustav_delius's avatar
gustav_delius committed
49
50

$CFG->dbtype    = 'mysql';       // mysql or postgres7 (for now)
51
$CFG->dbhost    = 'localhost';   // eg localhost or db.isp.com
gustav_delius's avatar
gustav_delius committed
52
53
54
55
56
$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

moodler's avatar
moodler committed
57
$CFG->dbpersist = false;         // Should database connections be reused?
58
59
                 // "false" is the most stable setting
                 // "true" can improve performance sometimes
moodler's avatar
moodler committed
60

gustav_delius's avatar
gustav_delius committed
61
62
63
64
65

//=========================================================================
// 2. WEB SITE LOCATION
//=========================================================================
// Now you need to tell Moodle where it is located. Specify the full
66
67
// 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
68
69
70
71
72
73
74
75
76
77
78
// that your students would use.  Do not include a trailing slash

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


//=========================================================================
// 3. SERVER FILES LOCATION
//=========================================================================
// Next, specify the full OS directory path to this same location
// Make sure the upper/lower case is correct.  Some examples:
//
79
//    $CFG->dirroot = 'c:\program files\easyphp\www\moodle';    // Windows
gustav_delius's avatar
gustav_delius committed
80
//    $CFG->dirroot = '/var/www/html/moodle';     // Redhat Linux
81
//    $CFG->dirroot = '/home/example/public_html/moodle'; // Cpanel host
gustav_delius's avatar
gustav_delius committed
82

83
$CFG->dirroot   = '/home/example/public_html/moodle';
gustav_delius's avatar
gustav_delius committed
84
85
86
87
88
89


//=========================================================================
// 4. DATA FILES LOCATION
//=========================================================================
// Now you need a place where Moodle can save uploaded files.  This
90
91
// 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// 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
106
// created by Moodle within the data directory.  The format is in
gustav_delius's avatar
gustav_delius committed
107
// octal format (as used by the Unix utility chmod, for example).
108
// The default is usually OK, but you may want to change it to 0750
gustav_delius's avatar
gustav_delius committed
109
110
111
112
// 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.

113
$CFG->directorypermissions = 02777;
gustav_delius's avatar
gustav_delius committed
114
115
116
117
118


//=========================================================================
// 6. DIRECTORY LOCATION  (most people can just ignore this setting)
//=========================================================================
119
120
121
122
// 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
123
124
125
126
127
128
// new name here.  eg "moodleadmin".  This will fix admin links in Moodle.

$CFG->admin = 'admin';


//=========================================================================
129
// 7. OTHER MISCELLANEOUS SETTINGS (ignore these for new installations)
130
131
//=========================================================================
//
132
133
134
// These are additional tweaks for which no GUI exists in Moodle yet.
//
//
135
// Prevent users from updating their profile images
136
//      $CFG->disableuserimages = true;
137
//
138
139
140
// Prevent scheduled backups from operating (and hide the GUI for them)
// Useful for webhost operators who have alternate methods of backups
//      $CFG->disablescheduledbackups = true;
141
142
143
144
145
//
// Restrict certain usernames from doing things that may mess up a site
// This is especially useful for demonstration teacher accounts
//      $CFG->restrictusers = 'teacher,fred,jim';
//
moodler's avatar
moodler committed
146
147
// Setting this to true will enable admins to edit any post at any time
//      $CFG->admineditalways = true;
148
//
149
150
// These variables define DEFAULT block variables for new courses
// If this one is set it overrides all others and is the only one used.
151
152
153
//      $CFG->defaultblocks_override = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
//
// These variables define the specific settings for defined course formats.
154
155
// They override any settings defined in the formats own config file.
//      $CFG->defaultblocks_site = 'site_main_menu,admin,course_list:course_summary,calendar_month';
156
157
158
159
//      $CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,admin,course_list';
//      $CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
//      $CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
//
160
161
// These blocks are used when no other default setting is found.
//      $CFG->defaultblocks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
162
//
moodler's avatar
moodler committed
163
//
164
// This setting will put Moodle in Unicode mode.  It's very new and
165
166
// most likely doesn't work yet.   THIS IS FOR DEVELOPERS ONLY, IT IS
// NOT RECOMMENDED FOR PRODUCTION SITES
stronk7's avatar
stronk7 committed
167
//     $CFG->unicode = true;
168
//
169
170
// 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
171
//     $CFG->filelifetime = 86400;
172
173
174
//
// 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
175
//     $CFG->disablemycourses = true;
176
// 
177
178
179
180
181
182
// 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 
// may break things for users coming using proxies that change all the time,
// like AOL.
//      $CFG->tracksessionip = true;
183
184
185
//
//
// The following lines are for handling email bounces.
186
187
188
//      $CFG->handlebounces = true;
//      $CFG->minbounces = 10;
//      $CFG->bounceratio = .20;
189
190
191
// The next lines are needed both for bounce handling and any other email to module processing.
// mailprefix must be EXACTLY four characters.
// Uncomment and customise this block for Postfix 
192
193
194
//      $CFG->mailprefix = 'mdl+'; // + is the separator for Exim and Postfix.
//      $CFG->mailprefix = 'mdl-'l // - is the separator for qmail 
//      $CFG->maildomain = 'youremaildomain.com';
195
196
197
198
//
// The following setting will tell Moodle to respect your PHP session 
// settings. Use this if you want to control session configuration
// from php.ini, httpd.conf or .htaccess files. 
199
//      $CFG->respectsessionsettings = true;
200
201
202
203
//
// This setting will cause the userdate() function not to fix %d in 
// date strings, and just let them show with a zero prefix.
//      $CFG->nofixday = true;
204
205
206
//
// This setting will make some graphs (eg user logs) use lines instead of bars
//      $CFG->preferlinegraphs = true;
207
208
209
//
// Enabling this will make most text-based filters only match the first time
// a phrase occurs in a given text.  Otherwise all are matched.
210
//      $CFG->filtermatchonepertext = true;
211
212
213
214
//
// Enabling this will make most text-based filters only match the first time
// a phrase occurs in a given page.  Otherwise all are matched.
//      $CFG->filtermatchoneperpage = true;
215
//
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
// Enabling this will allow custom scripts to replace existing moodle scripts.
// For example: if $CFG->dataroot/customscripts/course/view.php exists then
// 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
// involved. 
//      $CFG->customscripts = true;
//
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
// Performance profiling 
// 
//   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);
//
250
251
252
253
254
// Force displayed usernames
//   A little hack to anonymise user names for all students.  If you set these 
//   then all non-teachers will always see these for every person.
//       $CFG->forcefirstname = 'Bruce';
//       $CFG->forcelastname  = 'Simpson';
255
256
257
258
259
//
// 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;
260
261
262
263
264
265
//
// 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.
266
267
268
//     $CFG->apacheloguser = 3; // Log username. 
// 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
269
//     LogFormat "%h %l %{MOODLEUSER}n %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\"" moodleformat
270
271
272
273
274
275
// 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.
// 
276
// NOTE: if you are using custompix in your theme, see /fixpix.php.
gustav_delius's avatar
gustav_delius committed
277
278
279
280

//=========================================================================
// ALL DONE!  To continue installation, visit your main page with a browser
//=========================================================================
skodak's avatar
skodak committed
281
282
283
284
285
286
if ($CFG->wwwroot == 'http://example.com/moodle') {
    echo "<p>Error detected in configuration file</p>";
    echo "<p>Your server address can not be: \$CFG->wwwroot = 'http://example.com/moodle';</p>";
    die;
}

gustav_delius's avatar
gustav_delius committed
287
288
289
290
291
292
293
294
295
296
297
298
299
if (file_exists("$CFG->dirroot/lib/setup.php"))  {       // Do not edit
    include_once("$CFG->dirroot/lib/setup.php");
} else {
    if ($CFG->dirroot == dirname(__FILE__)) {
        echo "<p>Could not find this file: $CFG->dirroot/lib/setup.php</p>";
        echo "<p>Are you sure all your files have been uploaded?</p>";
    } else {
        echo "<p>Error detected in config.php</p>";
        echo "<p>Error in: \$CFG->dirroot = '$CFG->dirroot';</p>";
        echo "<p>Try this: \$CFG->dirroot = '".dirname(__FILE__)."';</p>";
    }
    die;
}
300
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,
gustav_delius's avatar
gustav_delius committed
301
302
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.
?>