moodle/config-dist.php

257 lines
13 KiB
PHP
Raw Normal View History

2004-01-30 14:50:03 +00:00
<?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 //
2004-03-10 13:21:12 +00:00
// http://moodle.org //
2004-01-30 14:50:03 +00:00
// //
2004-03-10 13:21:12 +00:00
// Copyright (C) 1999-2004 Martin Dougiamas http://dougiamas.com //
2004-01-30 14:50:03 +00:00
// //
// 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'"; //
//
2004-01-30 14:50:03 +00:00
$CFG->dbtype = 'mysql'; // mysql or postgres7 (for now)
$CFG->dbhost = 'localhost'; // eg localhost or db.isp.com
2004-01-30 14:50:03 +00:00
$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
2004-03-12 07:34:14 +00:00
$CFG->dbpersist = false; // Should database connections be reused?
// "false" is the most stable setting
// "true" can improve performance sometimes
2004-03-12 07:34:14 +00:00
2004-01-30 14:50:03 +00:00
//=========================================================================
// 2. WEB SITE LOCATION
//=========================================================================
// Now you need to tell Moodle where it is located. Specify the full
// web address to where moodle has been installed. If your web site
// is accessible via multiple URLs then choose the most natural one
2004-01-30 14:50:03 +00:00
// 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:
//
// $CFG->dirroot = 'c:\program files\easyphp\www\moodle'; // Windows
2004-01-30 14:50:03 +00:00
// $CFG->dirroot = '/var/www/html/moodle'; // Redhat Linux
// $CFG->dirroot = '/home/example/public_html/moodle'; // Cpanel host
2004-01-30 14:50:03 +00:00
$CFG->dirroot = '/home/example/public_html/moodle';
2004-01-30 14:50:03 +00:00
//=========================================================================
// 4. DATA FILES LOCATION
//=========================================================================
// Now you need a place where Moodle can save uploaded files. This
// directory should be readable AND WRITEABLE by the web server user
// (usually 'nobody' or 'apache'), but it should not be accessible
2004-01-30 14:50:03 +00:00
// 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
// created by Moodle within the data directory. The format is in
2004-01-30 14:50:03 +00:00
// octal format (as used by the Unix utility chmod, for example).
// The default is usually OK, but you may want to change it to 0750
2004-01-30 14:50:03 +00:00
// 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.
$CFG->directorypermissions = 02777;
2004-01-30 14:50:03 +00:00
//=========================================================================
// 6. DIRECTORY LOCATION (most people can just ignore this setting)
//=========================================================================
// 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
2004-01-30 14:50:03 +00:00
// new name here. eg "moodleadmin". This will fix admin links in Moodle.
$CFG->admin = 'admin';
//=========================================================================
// 7. OTHER MISCELLANEOUS SETTINGS (ignore these for new installations)
//=========================================================================
//
// These are additional tweaks for which no GUI exists in Moodle yet.
//
//
// Prevent users from updating their profile images
// $CFG->disableuserimages = true;
//
// Prevent scheduled backups from operating (and hide the GUI for them)
// Useful for webhost operators who have alternate methods of backups
// $CFG->disablescheduledbackups = true;
//
// 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';
//
2004-02-17 06:33:04 +00:00
// Turning this on will make Moodle filter more than usual, including
// forum subjects, activity names and so on (in ADDITION to the normal
// texts like forum postings, journals etc). This is mostly only useful
2004-02-17 06:33:04 +00:00
// when using the multilang filter. This feature may not be complete.
// $CFG->filterall = true;
2004-02-18 03:31:45 +00:00
//
// Setting this to true will enable admins to edit any post at any time
// $CFG->admineditalways = true;
//
// These variables define DEFAULT block variables for new courses
// If this one is set it overrides all others and is the only one used.
// $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.
// They override any settings defined in the formats own config file.
// $CFG->defaultblocks_site = 'site_main_menu,admin,course_list:course_summary,calendar_month';
// $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';
//
// 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';
//
2004-05-03 14:57:11 +00:00
//
// This setting will put Moodle in Unicode mode. It's very new and
// most likely doesn't work yet. THIS IS FOR DEVELOPERS ONLY, IT IS
// NOT RECOMMENDED FOR PRODUCTION SITES
// $CFG->unicode = true;
//
// Seconds for files to remain in caches. Decrease this if you are worried
// about students being served outdated versions of uploaded files.
// $CFG->filelifetime = 86400;
//
// 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;
First cut of email to module (or core) processing. This patch contains: * email_to_user will set the envelope sender to a special bounce processing address (based on $CFG settings) * email_to_user will accept (and set) a reply-to header, to be generated by the module calling the function. * new functions: * generate_email_processing_address - ALWAYS use this to generate the reply-to header. reply-to header will look like this: (LIMIT: 64 chars total) prefix - EXACTLY four chars encodeded, packed, moduleid (0 for core) (2 chars) up to 42 chars for the modules to put anything they want it (can contain userid (or, eg for forum, postids to reply to), or anything really. 42 chars is ABSOLUTE LIMIT) 16 char hash (half an md5) of the first part of the address, together with a site "secret" * moodle_process_email - any non-module email processing goes here (currently used for processing bounces) * bounce handling: * config settings for bounce threshold and ratio (and whether to handle bounces at all) * if too many bounces occur against any given user, user_not_fully_set_up will force an email address change * associated functions (over_bounce_threshold, set_send_count, set_bounce_count) * handling emails to noreply address (see below) * new script - admin/process_email.php This script needs to be called from your mail program for anything starting with the 4 char prefix described above (and optionally, the noreply address) It will bounce emails to the noreplyaddress, with a friendly "this is not a real email address" message It will break down and unencode the email address into moduleid and validate the half md5 hash, and call $modname_process_email (if it exists). Arguments to these functions are: $modargs (any part of the email address that isn't the prefix, modid or the hash) and the contents of the email (read from STDIN). * associated string changes/additions * changes in config-dist.php to give clues as to how to set this up. MODULE WRITERS! take a look at new functions moodle_process_email and generate_email_processing_address in moodlelib.php for ideas about how to * encode and unencode the arguments your module needs to do the processing * how to deal with multiple "actions" for any given module. Martin Langhoff <martin@catalyst.net.nz> will be writing up some PROPER documentation, containing amongst other things config settings for different mail servers (this was developed against Postfix). Feel free to email me with any feedback on the code or design, penny@catalyst.net.nz. Or post on the developer fourm.
2005-02-08 02:57:14 +00:00
//
//
// The following lines are for handling email bounces.
// $CFG->handlebounces = true;
// $CFG->minbounces = 10;
// $CFG->bounceratio = .20;
First cut of email to module (or core) processing. This patch contains: * email_to_user will set the envelope sender to a special bounce processing address (based on $CFG settings) * email_to_user will accept (and set) a reply-to header, to be generated by the module calling the function. * new functions: * generate_email_processing_address - ALWAYS use this to generate the reply-to header. reply-to header will look like this: (LIMIT: 64 chars total) prefix - EXACTLY four chars encodeded, packed, moduleid (0 for core) (2 chars) up to 42 chars for the modules to put anything they want it (can contain userid (or, eg for forum, postids to reply to), or anything really. 42 chars is ABSOLUTE LIMIT) 16 char hash (half an md5) of the first part of the address, together with a site "secret" * moodle_process_email - any non-module email processing goes here (currently used for processing bounces) * bounce handling: * config settings for bounce threshold and ratio (and whether to handle bounces at all) * if too many bounces occur against any given user, user_not_fully_set_up will force an email address change * associated functions (over_bounce_threshold, set_send_count, set_bounce_count) * handling emails to noreply address (see below) * new script - admin/process_email.php This script needs to be called from your mail program for anything starting with the 4 char prefix described above (and optionally, the noreply address) It will bounce emails to the noreplyaddress, with a friendly "this is not a real email address" message It will break down and unencode the email address into moduleid and validate the half md5 hash, and call $modname_process_email (if it exists). Arguments to these functions are: $modargs (any part of the email address that isn't the prefix, modid or the hash) and the contents of the email (read from STDIN). * associated string changes/additions * changes in config-dist.php to give clues as to how to set this up. MODULE WRITERS! take a look at new functions moodle_process_email and generate_email_processing_address in moodlelib.php for ideas about how to * encode and unencode the arguments your module needs to do the processing * how to deal with multiple "actions" for any given module. Martin Langhoff <martin@catalyst.net.nz> will be writing up some PROPER documentation, containing amongst other things config settings for different mail servers (this was developed against Postfix). Feel free to email me with any feedback on the code or design, penny@catalyst.net.nz. Or post on the developer fourm.
2005-02-08 02:57:14 +00:00
// 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
// $CFG->mailprefix = 'mdl+'; // + is the separator for Exim and Postfix.
// $CFG->mailprefix = 'mdl-'l // - is the separator for qmail
// $CFG->maildomain = 'youremaildomain.com';
//
// 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.
// $CFG->respectsessionsettings = true;
//
// 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;
//
// This setting will make some graphs (eg user logs) use lines instead of bars
// $CFG->preferlinegraphs = true;
//
// Enabling this will make most text-based filters only match the first time
// a phrase occurs in a given text. Otherwise all are matched.
// $CFG->filtermatchonepertext = true;
//
// 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;
//
// 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);
//
2004-01-30 14:50:03 +00:00
//=========================================================================
// ALL DONE! To continue installation, visit your main page with a browser
//=========================================================================
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;
}
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,
2004-01-30 14:50:03 +00:00
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.
?>