default.settings.php 14.4 KB
Newer Older
Dries's avatar
 
Dries committed
1
<?php
2
// $Id$
Dries's avatar
Dries committed
3

Dries's avatar
 
Dries committed
4 5 6
/**
 * @file
 * Drupal site-specific configuration file.
7
 *
8 9 10 11 12 13
 * IMPORTANT NOTE:
 * This file may have been set to read-only by the Drupal installation
 * program. If you make changes to this file, be sure to protect it again
 * after making your modifications. Failure to remove write permissions
 * to this file is a security risk.
 *
Dries's avatar
Dries committed
14
 * The configuration file to be loaded is based upon the rules below.
15 16 17
 *
 * The configuration directory will be discovered by stripping the
 * website's hostname from left to right and pathname from right to
Dries's avatar
Dries committed
18 19
 * left. The first configuration file found will be used and any
 * others will be ignored. If no other configuration file is found
20 21
 * then the default configuration file at 'sites/default' will be used.
 *
22
 * For example, for a fictitious site installed at
Dries's avatar
Dries committed
23 24
 * http://www.drupal.org/mysite/test/, the 'settings.php'
 * is searched in the following directories:
25 26 27 28 29 30 31 32 33 34 35 36 37 38
 *
 *  1. sites/www.drupal.org.mysite.test
 *  2. sites/drupal.org.mysite.test
 *  3. sites/org.mysite.test
 *
 *  4. sites/www.drupal.org.mysite
 *  5. sites/drupal.org.mysite
 *  6. sites/org.mysite
 *
 *  7. sites/www.drupal.org
 *  8. sites/drupal.org
 *  9. sites/org
 *
 * 10. sites/default
39
 *
40
 * If you are installing on a non-standard port number, prefix the
41
 * hostname with that number. For example,
42
 * http://www.drupal.org:8080/mysite/test/ could be loaded from
43
 * sites/8080.www.drupal.org.mysite.test/.
Dries's avatar
 
Dries committed
44 45
 */

46 47 48
/**
 * Database settings:
 *
49
 * The $databases array specifies the database connection or
50 51 52 53 54 55 56 57 58 59 60 61 62
 * connections that Drupal may use.  Drupal is able to connect
 * to multiple databases, including multiple types of databases,
 * during the same request.
 *
 * Each database connection is specified as an array of settings,
 * similar to the following:
 *
 * array(
 *   'driver' => 'mysql',
 *   'database' => 'databasename',
 *   'username' => 'username',
 *   'password' => 'password',
 *   'host' => 'localhost',
63
 *   'port' => 3306,
64 65
 * );
 *
66
 * The "driver" property indicates what Drupal database driver the
67 68 69
 * connection should use.  This is usually the same as the name of the
 * database type, such as mysql or sqlite, but not always.  The other
 * properties will vary depending on the driver.  For SQLite, you must
70 71 72
 * specify a database file name in a directory that is writable by the 
 * webserver.  For most other drivers, you must specify a 
 * username, password, host, and database name.
73 74
 *
 * Some database engines support transactions.  In order to enable
75
 * transaction support for a given database, set the 'transactions' key
76 77 78 79 80 81 82 83
 * to TRUE.  To disable it, set it to FALSE.  Note that the default value
 * varies by driver.  For MySQL, the default is FALSE since MyISAM tables
 * do not support transactions.
 *
 * For each database, you may optionally specify multiple "target" databases.
 * A target database allows Drupal to try to send certain queries to a
 * different database if it can but fall back to the default connection if not.
 * That is useful for master/slave replication, as Drupal may try to connect
84
 * to a slave server when appropriate and if one is not available will simply
85 86 87 88 89 90 91
 * fall back to the single master server.
 *
 * The general format for the $databases array is as follows:
 *
 * $databases['default']['default'] = $info_array;
 * $databases['default']['slave'][] = $info_array;
 * $databases['default']['slave'][] = $info_array;
92
 * $databases['extra']['default'] = $info_array;
93 94 95 96 97 98
 *
 * In the above example, $info_array is an array of settings described above.
 * The first line sets a "default" database that has one master database
 * (the second level default).  The second and third lines create an array
 * of potential slave databases.  Drupal will select one at random for a given
 * request as needed.  The fourth line creates a new database with a name of
99
 * "extra".
100 101 102 103 104 105 106 107 108 109
 *
 * For a single database configuration, the following is sufficient:
 *
 * $databases['default']['default'] = array(
 *   'driver' => 'mysql',
 *   'database' => 'databasename',
 *   'username' => 'username',
 *   'password' => 'password',
 *   'host' => 'localhost',
 * );
110
 *
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
 * You can optionally set prefixes for some or all database table names
 * by using the $db_prefix setting. If a prefix is specified, the table
 * name will be prepended with its value. Be sure to use valid database
 * characters only, usually alphanumeric and underscore. If no prefixes
 * are desired, leave it as an empty string ''.
 *
 * To have all database names prefixed, set $db_prefix as a string:
 *
 *   $db_prefix = 'main_';
 *
 * To provide prefixes for specific tables, set $db_prefix as an array.
 * The array's keys are the table names and the values are the prefixes.
 * The 'default' element holds the prefix for any tables not specified
 * elsewhere in the array. Example:
 *
 *   $db_prefix = array(
 *     'default'   => 'main_',
128
 *     'users'      => 'shared_',
129 130 131 132
 *     'sessions'  => 'shared_',
 *     'role'      => 'shared_',
 *     'authmap'   => 'shared_',
 *   );
133
 *
134
 * Database configuration format:
135
 *   $databases['default']['default'] = array(
136 137 138 139 140 141
 *     'driver' => 'mysql',
 *     'database' => 'databasename',
 *     'username' => 'username',
 *     'password' => 'password',
 *     'host' => 'localhost',
 *   );
142
 *   $databases['default']['default'] = array(
143 144 145 146 147 148
 *     'driver' => 'pgsql',
 *     'database' => 'databasename',
 *     'username' => 'username',
 *     'password' => 'password',
 *     'host' => 'localhost',
 *   );
149
 *   $databases['default']['default'] = array(
150
 *     'driver' => 'sqlite',
151
 *     'database' => '/path/to/databasefilename',
152
 *   );
153
 */
154
$databases = array();
155
$db_prefix = '';
Dries's avatar
 
Dries committed
156

157 158 159
/**
 * Access control for update.php script
 *
160
 * If you are updating your Drupal installation using the update.php script but
161 162
 * are not logged in using either an account with the "Administer software
 * updates" permission or the site maintenance account (the account that was
163 164 165 166
 * created during installation), you will need to modify the access check
 * statement below. Change the FALSE to a TRUE to disable the access check.
 * After finishing the upgrade, be sure to open this file again and change the
 * TRUE back to a FALSE!
167 168 169
 */
$update_free_access = FALSE;

170
/**
171
 * Base URL (optional).
172
 *
173 174
 * If you are experiencing issues with different site domains,
 * uncomment the Base URL statement below (remove the leading hash sign)
175
 * and fill in the absolute URL to your Drupal installation.
176 177 178
 *
 * You might also want to force users to use a given domain.
 * See the .htaccess file for more information.
179 180
 *
 * Examples:
181 182 183 184
 *   $base_url = 'http://www.example.com';
 *   $base_url = 'http://www.example.com:8888';
 *   $base_url = 'http://www.example.com/drupal';
 *   $base_url = 'https://www.example.com:8888/drupal';
185 186 187
 *
 * It is not allowed to have a trailing slash; Drupal will add it
 * for you.
188
 */
189
# $base_url = 'http://www.example.com';  // NO trailing slash!
Dries's avatar
 
Dries committed
190

191 192 193
/**
 * PHP settings:
 *
194
 * To see what PHP settings are possible, including whether they can be set at
195
 * runtime (by using ini_set()), read the PHP documentation:
196 197 198 199
 * http://www.php.net/manual/en/ini.php#ini.list
 * See drupal_initialize_variables() in includes/bootstrap.inc for required
 * runtime settings and the .htaccess file for non-runtime settings. Settings
 * defined there should not be duplicated here so as to avoid conflict issues.
200 201 202 203 204 205 206 207 208 209 210 211
 */

/**
 * Some distributions of Linux (most notably Debian) ship their PHP
 * installations with garbage collection (gc) disabled. Since Drupal depends on
 * PHP's garbage collection for clearing sessions, ensure that garbage
 * collection occurs by using the most common settings.
 */
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);

/**
212 213 214 215 216 217 218 219 220 221 222
 * Set session lifetime (in seconds), i.e. the time from the user's last visit
 * to the active session may be deleted by the session garbage collector. When
 * a session is deleted, authenticated users are logged out, and the contents
 * of the user's $_SESSION variable is discarded.
 */
ini_set('session.gc_maxlifetime', 200000);

/**
 * Set session cookie lifetime (in seconds), i.e. the time from the session is
 * created to the cookie expires, i.e. when the browser is expected to discard
 * the cookie. The value 0 means "until the browser is closed".
223
 */
224
ini_set('session.cookie_lifetime', 2000000);
Dries's avatar
 
Dries committed
225

226
/**
227 228
 * Drupal automatically generates a unique session cookie name for each site
 * based on on its full domain name. If you have multiple domains pointing at
229 230 231
 * the same Drupal site, you can either redirect them all to a single domain
 * (see comment in .htaccess), or uncomment the line below and specify their
 * shared base domain. Doing so assures that users remain logged in as they
232
 * cross between your various domains.
233 234
 */
# $cookie_domain = 'example.com';
235

236 237 238
/**
 * Variable overrides:
 *
Dries's avatar
Dries committed
239 240 241 242
 * To override specific entries in the 'variable' table for this site,
 * set them here. You usually don't need to use this feature. This is
 * useful in a configuration file for a vhost or directory, rather than
 * the default settings.php. Any configuration setting from the 'variable'
243
 * table can be given a new value. Note that any values you provide in
244
 * these variable overrides will not be modifiable from the Drupal
245
 * administration interface.
246 247
 *
 * Remove the leading hash signs to enable.
248
 */
249
$conf = array(
250
#   'site_name' => 'My Drupal site',
251
#   'theme_default' => 'minnelli',
252
#   'anonymous' => 'Visitor',
253
/**
254
 * A custom theme can be set for the offline page. This applies when the site
255
 * is explicitly set to maintenance mode through the administration page or when
256 257 258 259 260
 * the database is inactive due to an error. It can be set through the
 * 'maintenance_theme' key. The template file should also be copied into the
 * theme. It is located inside 'modules/system/maintenance-page.tpl.php'.
 * Note: This setting does not apply to installation and update pages.
 */
261
#   'maintenance_theme' => 'minnelli', // Leave the comma here.
262 263 264 265 266 267 268 269 270 271 272 273 274 275
/**
 * reverse_proxy accepts a boolean value.
 *
 * Enable this setting to determine the correct IP address of the remote
 * client by examining information stored in the X-Forwarded-For headers.
 * X-Forwarded-For headers are a standard mechanism for identifying client
 * systems connecting through a reverse proxy server, such as Squid or
 * Pound. Reverse proxy servers are often used to enhance the performance
 * of heavily visited sites and may also provide other site caching,
 * security or encryption benefits. If this Drupal installation operates
 * behind a reverse proxy, this setting should be enabled so that correct
 * IP address information is captured in Drupal's session management,
 * logging, statistics and access management systems; if you are unsure
 * about this setting, do not have a reverse proxy, or Drupal operates in
276
 * a shared hosting environment, this setting should remain commented out.
277
 */
278
#   'reverse_proxy' => TRUE, // Leave the comma here.
279 280 281 282 283 284 285 286 287 288
/**
 * reverse_proxy accepts an array of IP addresses.
 *
 * Each element of this array is the IP address of any of your reverse
 * proxies. Filling this array Drupal will trust the information stored
 * in the X-Forwarded-For headers only if Remote IP address is one of
 * these, that is the request reaches the web server from one of your
 * reverse proxies. Otherwise, the client could directly connect to
 * your web server spoofing the X-Forwarded-For headers.
 */
289
#   'reverse_proxy_addresses' => array('a.b.c.d', ...), // Leave the comma here.
290
);
291

292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310
/**
 * Page caching:
 *
 * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page
 * views. This tells a HTTP proxy that it may return a page from its local
 * cache without contacting the web server, if the user sends the same Cookie
 * header as the user who originally requested the cached page. Without "Vary:
 * Cookie", authenticated users would also be served the anonymous page from
 * the cache. If the site has mostly anonymous users except a few known
 * editors/administrators, the Vary header can be omitted. This allows for
 * better caching in HTTP proxies (including reverse proxies), i.e. even if
 * clients send different cookies, they still get content served from the cache
 * if aggressive caching is enabled and the minimum cache time is non-zero.
 * However, authenticated users should access the site directly (i.e. not use an
 * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid
 * getting cached pages from the proxy.
 */
# $conf['omit_vary_cookie'] = TRUE;

311 312 313 314 315 316 317 318 319
/**
 * String overrides:
 *
 * To override specific strings on your site with or without enabling locale
 * module, add an entry to this list. This functionality allows you to change
 * a small number of your site's default English language interface strings.
 *
 * Remove the leading hash signs to enable.
 */
320
# $conf['locale_custom_strings_en'][''] = array(
321 322 323
#   'forum'      => 'Discussion board',
#   '@count min' => '@count minutes',
# );
324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346

/**
 *
 * IP blocking:
 *
 * To bypass database queries for denied IP addresses, use this setting.
 * Drupal queries the {blocked_ips} table by default on every page request
 * for both authenticated and anonymous users. This allows the system to
 * block IP addresses from within the administrative interface and before any
 * modules are loaded. However on high traffic websites you may want to avoid
 * this query, allowing you to bypass database access altogether for anonymous
 * users under certain caching configurations.
 *
 * If using this setting, you will need to add back any IP addresses which
 * you may have blocked via the administrative interface. Each element of this
 * array represents a blocked IP address. Uncommenting the array and leaving it
 * empty will have the effect of disabling IP blocking on your site.
 *
 * Remove the leading hash signs to enable.
 */
# $conf['blocked_ips'] = array(
#   'a.b.c.d',
# );
347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362

/**
 * Authorized file system operations:
 *
 * The Update manager module included with Drupal provides a mechanism for
 * site administrators to securely install missing updates for the site
 * directly through the web user interface by providing either SSH or FTP
 * credentials. This allows the site to update the new files as the user who
 * owns all the Drupal files, instead of as the user the webserver is running
 * as. However, some sites might wish to disable this functionality, and only
 * update the code directly via SSH or FTP themselves. This setting completely
 * disables all functionality related to these authorized file operations.
 *
 * Remove the leading hash signs to disable.
 */
# $conf['allow_authorize_operations'] = FALSE;