2003-03-08 12:28:24 +00:00
|
|
|
// $Id$
|
2001-01-13 17:16:05 +00:00
|
|
|
|
- Patch #18641 by Morbus:
# The INSTALL.txt no longer contains the SERVER CONFIGURATION block. These settings are now hardcoded into sites/default/settings.php, and are merely scary technical junk here.
# The INSTALL.txt has been updated with the latest system requirements. A whole sentence was struck regarding differing versions of PHP for the OSs.
# The INSTALL.txt contains URLs to MySQL and PostgreSQL. If we're including the URL for PHP in the same sentence, then there's no reason why we wouldn't include them for the database engines. What are the minimal requirements for the RDBMS? Those should be included here too.
# The INSTALL.txt's OPTIONAL COMPONENTS has renamed to OPTIONAL REQUIREMENTS. The only difference between the meaning is the amount of user confusion.
# The INSTALL.txt has a new CONTENTS OF THIS FILE, in hopes that people will more immediately notice that there are upgrade instructions at the bottom.
# The INSTALL.txt had some potentially confusing lines adjusted, including further clarifications, standarding to "userid" (instead of using both userid and username interchangebly) and so on.
# I've moved most of .htaccess php_value's to the ini_set system for /sites/. There are a few reasons for this, chiefly that it is centralizing all the PHP setting modifications to one place. But, this also clears up a few initial configuration issues: first, the user doesn't have to worry about whether they have Apache 1 or 2, and whether they need to change an IfModule line. Also, the running assumption is that these php_value's are /going to work by default anyways/, when the INSTALL.txt suggests otherwise (under OPTIONAL REQUIREMENTS, it talks about "the ability to use local .htaccess files", which suggests that "local .htaccess files" INCLUDING "mod_rewrite" are entirely optional.) Some variables, however, had to remain in .htaccess because they can't be overridden at runtime, but the amount was so small that duplicating them for both Apache 1 and Apache 2 possibilities is no longer a prohibitive concern.
# There are two variables in .htaccess that I'm concerned about: track_vars, and allow_call_time_pass_reference. track_vars appears to be no longer necessary (as of 4.0.3, track_vars is always on, and my setting it here had no impact on the results of a phpinfo), and allow_call_time_pass_reference seems, at least here, to ONLY WORK if the .htaccess value is set to "1", and not "On" - meaning that Drupal installations are currently working correctly with its default value (off). According to the PHP docs, this feature is now deprecated. However, since both of these variables require further investigation, track_vars has been moved to settings.php, and allow_call_time_pass_reference has been "fixed" to a 1 (not 'On').
# Along with the changes above for sites/default/settings.php, I've also removed the spacing indent in the documentation, as well as many a few grammatical/punctuation changes here and there. I don't think the leading spacing is "right" according to the style guidelines, but maybe there's a special need for it. Correct me if I'm wrong.
2005-03-12 10:51:32 +00:00
|
|
|
CONTENTS OF THIS FILE
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
* Requirements
|
2008-10-04 18:34:37 +00:00
|
|
|
* Optional tasks
|
- Patch #18641 by Morbus:
# The INSTALL.txt no longer contains the SERVER CONFIGURATION block. These settings are now hardcoded into sites/default/settings.php, and are merely scary technical junk here.
# The INSTALL.txt has been updated with the latest system requirements. A whole sentence was struck regarding differing versions of PHP for the OSs.
# The INSTALL.txt contains URLs to MySQL and PostgreSQL. If we're including the URL for PHP in the same sentence, then there's no reason why we wouldn't include them for the database engines. What are the minimal requirements for the RDBMS? Those should be included here too.
# The INSTALL.txt's OPTIONAL COMPONENTS has renamed to OPTIONAL REQUIREMENTS. The only difference between the meaning is the amount of user confusion.
# The INSTALL.txt has a new CONTENTS OF THIS FILE, in hopes that people will more immediately notice that there are upgrade instructions at the bottom.
# The INSTALL.txt had some potentially confusing lines adjusted, including further clarifications, standarding to "userid" (instead of using both userid and username interchangebly) and so on.
# I've moved most of .htaccess php_value's to the ini_set system for /sites/. There are a few reasons for this, chiefly that it is centralizing all the PHP setting modifications to one place. But, this also clears up a few initial configuration issues: first, the user doesn't have to worry about whether they have Apache 1 or 2, and whether they need to change an IfModule line. Also, the running assumption is that these php_value's are /going to work by default anyways/, when the INSTALL.txt suggests otherwise (under OPTIONAL REQUIREMENTS, it talks about "the ability to use local .htaccess files", which suggests that "local .htaccess files" INCLUDING "mod_rewrite" are entirely optional.) Some variables, however, had to remain in .htaccess because they can't be overridden at runtime, but the amount was so small that duplicating them for both Apache 1 and Apache 2 possibilities is no longer a prohibitive concern.
# There are two variables in .htaccess that I'm concerned about: track_vars, and allow_call_time_pass_reference. track_vars appears to be no longer necessary (as of 4.0.3, track_vars is always on, and my setting it here had no impact on the results of a phpinfo), and allow_call_time_pass_reference seems, at least here, to ONLY WORK if the .htaccess value is set to "1", and not "On" - meaning that Drupal installations are currently working correctly with its default value (off). According to the PHP docs, this feature is now deprecated. However, since both of these variables require further investigation, track_vars has been moved to settings.php, and allow_call_time_pass_reference has been "fixed" to a 1 (not 'On').
# Along with the changes above for sites/default/settings.php, I've also removed the spacing indent in the documentation, as well as many a few grammatical/punctuation changes here and there. I don't think the leading spacing is "right" according to the style guidelines, but maybe there's a special need for it. Correct me if I'm wrong.
2005-03-12 10:51:32 +00:00
|
|
|
* Installation
|
2006-09-08 16:29:35 +00:00
|
|
|
* Drupal administration
|
|
|
|
* Customizing your theme(s)
|
2008-10-04 18:34:37 +00:00
|
|
|
* Multisite configuration
|
|
|
|
* More information
|
- Patch #18641 by Morbus:
# The INSTALL.txt no longer contains the SERVER CONFIGURATION block. These settings are now hardcoded into sites/default/settings.php, and are merely scary technical junk here.
# The INSTALL.txt has been updated with the latest system requirements. A whole sentence was struck regarding differing versions of PHP for the OSs.
# The INSTALL.txt contains URLs to MySQL and PostgreSQL. If we're including the URL for PHP in the same sentence, then there's no reason why we wouldn't include them for the database engines. What are the minimal requirements for the RDBMS? Those should be included here too.
# The INSTALL.txt's OPTIONAL COMPONENTS has renamed to OPTIONAL REQUIREMENTS. The only difference between the meaning is the amount of user confusion.
# The INSTALL.txt has a new CONTENTS OF THIS FILE, in hopes that people will more immediately notice that there are upgrade instructions at the bottom.
# The INSTALL.txt had some potentially confusing lines adjusted, including further clarifications, standarding to "userid" (instead of using both userid and username interchangebly) and so on.
# I've moved most of .htaccess php_value's to the ini_set system for /sites/. There are a few reasons for this, chiefly that it is centralizing all the PHP setting modifications to one place. But, this also clears up a few initial configuration issues: first, the user doesn't have to worry about whether they have Apache 1 or 2, and whether they need to change an IfModule line. Also, the running assumption is that these php_value's are /going to work by default anyways/, when the INSTALL.txt suggests otherwise (under OPTIONAL REQUIREMENTS, it talks about "the ability to use local .htaccess files", which suggests that "local .htaccess files" INCLUDING "mod_rewrite" are entirely optional.) Some variables, however, had to remain in .htaccess because they can't be overridden at runtime, but the amount was so small that duplicating them for both Apache 1 and Apache 2 possibilities is no longer a prohibitive concern.
# There are two variables in .htaccess that I'm concerned about: track_vars, and allow_call_time_pass_reference. track_vars appears to be no longer necessary (as of 4.0.3, track_vars is always on, and my setting it here had no impact on the results of a phpinfo), and allow_call_time_pass_reference seems, at least here, to ONLY WORK if the .htaccess value is set to "1", and not "On" - meaning that Drupal installations are currently working correctly with its default value (off). According to the PHP docs, this feature is now deprecated. However, since both of these variables require further investigation, track_vars has been moved to settings.php, and allow_call_time_pass_reference has been "fixed" to a 1 (not 'On').
# Along with the changes above for sites/default/settings.php, I've also removed the spacing indent in the documentation, as well as many a few grammatical/punctuation changes here and there. I don't think the leading spacing is "right" according to the style guidelines, but maybe there's a special need for it. Correct me if I'm wrong.
2005-03-12 10:51:32 +00:00
|
|
|
|
2003-03-08 12:28:24 +00:00
|
|
|
REQUIREMENTS
|
|
|
|
------------
|
|
|
|
|
2009-05-03 05:03:44 +00:00
|
|
|
Drupal requires:
|
|
|
|
|
2010-07-30 01:59:14 +00:00
|
|
|
- A web server. Apache (version 2.0 or greater) is recommended.
|
|
|
|
- PHP 5.2.0 (or greater) (http://www.php.net/).
|
|
|
|
- One of the following databases:
|
|
|
|
- MySQL 5.0.15 (or greater) (http://www.mysql.com/).
|
|
|
|
- MariaDB 5.1.44 (or greater) (http://mariadb.org/). MariaDB is a fully
|
|
|
|
compatible drop-in replacement for MySQL.
|
|
|
|
- PostgreSQL 8.3 (or greater) (http://www.postgresql.org/).
|
|
|
|
- SQLite 3.4.2 (or greater) (http://www.sqlite.org/).
|
2006-09-08 16:29:35 +00:00
|
|
|
|
2010-02-13 21:35:08 +00:00
|
|
|
For more detailed information about Drupal requirements, including a list of
|
|
|
|
PHP extensions and configurations that are required, see "System requirements"
|
2008-01-30 11:37:33 +00:00
|
|
|
(http://drupal.org/requirements) in the Drupal handbook.
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2008-01-25 21:17:50 +00:00
|
|
|
For detailed information on how to configure a test server environment using
|
|
|
|
a variety of operating systems and web servers, see "Local server setup"
|
2008-01-30 11:37:33 +00:00
|
|
|
(http://drupal.org/node/157602) in the Drupal handbook.
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2008-06-24 17:04:38 +00:00
|
|
|
OPTIONAL TASKS
|
|
|
|
--------------
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2007-09-12 11:21:47 +00:00
|
|
|
- To use XML-based services such as the Blogger API and RSS syndication,
|
2008-01-30 11:37:33 +00:00
|
|
|
you will need PHP's XML extension. This extension is enabled by default.
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2008-01-30 11:37:33 +00:00
|
|
|
- To use Drupal's "Clean URLs" feature on an Apache web server, you will need
|
|
|
|
the mod_rewrite module and the ability to use local .htaccess files. For
|
|
|
|
Clean URLs support on IIS, see "Using Clean URLs with IIS"
|
|
|
|
(http://drupal.org/node/3854) in the Drupal handbook.
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2010-10-11 23:49:48 +00:00
|
|
|
- To serve gzip compressed CSS and JS files on an Apache web server, you will
|
|
|
|
need the mod_headers module and the ability to use local .htaccess files.
|
|
|
|
|
2007-12-20 08:57:55 +00:00
|
|
|
- Various Drupal features require that the web server process (for
|
2008-01-30 11:37:33 +00:00
|
|
|
example, httpd) be able to initiate outbound connections. This is usually
|
|
|
|
possible, but some hosting providers or server configurations forbid such
|
|
|
|
connections. The features that depend on this functionality include the
|
|
|
|
integrated "Update status" module (which downloads information about
|
|
|
|
available updates of Drupal core and any installed contributed modules and
|
|
|
|
themes), the ability to log in via OpenID, fetching aggregator feeds, or
|
|
|
|
other network-dependent services.
|
2007-12-20 08:57:55 +00:00
|
|
|
|
|
|
|
|
2003-03-08 12:28:24 +00:00
|
|
|
INSTALLATION
|
|
|
|
------------
|
|
|
|
|
2007-09-12 11:21:47 +00:00
|
|
|
1. DOWNLOAD DRUPAL AND OPTIONALLY A TRANSLATION
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2006-09-08 16:29:35 +00:00
|
|
|
You can obtain the latest Drupal release from http://drupal.org/. The files
|
|
|
|
are in .tar.gz format and can be extracted using most compression tools. On a
|
|
|
|
typical Unix command line, use:
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2007-01-08 11:59:16 +00:00
|
|
|
wget http://drupal.org/files/projects/drupal-x.x.tar.gz
|
|
|
|
tar -zxvf drupal-x.x.tar.gz
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2007-01-08 11:59:16 +00:00
|
|
|
This will create a new directory drupal-x.x/ containing all Drupal files
|
2006-09-08 16:29:35 +00:00
|
|
|
and directories. Move the contents of that directory into a directory within
|
|
|
|
your web server's document root or your public HTML directory:
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2007-01-08 11:59:16 +00:00
|
|
|
mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html
|
2007-10-02 16:03:17 +00:00
|
|
|
|
2010-09-22 01:49:17 +00:00
|
|
|
By default, Drupal is installed in English, and further languages may be
|
|
|
|
installed later. Follow these steps to translate Drupal into your language
|
|
|
|
during installation:
|
|
|
|
|
|
|
|
- Download a translation file for this Drupal version from the translation
|
|
|
|
server:
|
|
|
|
http://localize.drupal.org/download
|
|
|
|
|
|
|
|
- Rename the downloaded file to your language's ISO code (e.g., de.po or
|
|
|
|
fr.po) and place it into the directory /translations right below
|
|
|
|
the installation profile's directory that you want to use for your
|
|
|
|
installation (usually "standard"):
|
|
|
|
|
|
|
|
/profiles/standard/translations/
|
|
|
|
|
|
|
|
- Reload the language selection page after adding translations.
|
|
|
|
|
|
|
|
For detailed instructions, visit http://drupal.org/localize.
|
2007-09-12 11:21:47 +00:00
|
|
|
|
2010-09-14 18:46:40 +00:00
|
|
|
2. IF NECESSARY, CREATE THE CONFIGURATION FILE AND GRANT WRITE PERMISSIONS
|
2007-09-12 11:21:47 +00:00
|
|
|
|
|
|
|
Drupal comes with a default.settings.php file in the sites/default
|
2008-07-18 07:24:29 +00:00
|
|
|
directory. The installer uses this file as a template to create your
|
|
|
|
settings file using the details you provide through the install process.
|
|
|
|
To avoid problems when upgrading, Drupal is not packaged with an actual
|
2010-09-14 18:46:40 +00:00
|
|
|
settings file. During installation, Drupal will try to create this settings
|
|
|
|
file automatically. If this fails (which it can due to different server
|
|
|
|
setups), you must create a file named settings.php yourself. You may do so
|
2008-07-18 07:24:29 +00:00
|
|
|
by making a copy of default.settings.php (or create an empty file with
|
|
|
|
this name in the same directory). For example, (from the installation
|
|
|
|
directory) make a copy of the default.settings.php file with the command:
|
|
|
|
|
|
|
|
cp sites/default/default.settings.php sites/default/settings.php
|
|
|
|
|
|
|
|
Next, give the web server write privileges to the sites/default/settings.php
|
|
|
|
file with the command (from the installation directory):
|
|
|
|
|
|
|
|
chmod o+w sites/default/settings.php
|
|
|
|
|
|
|
|
So that the files directory can be created automatically, give the web server
|
|
|
|
write privileges to the sites/default directory with the command (from the
|
|
|
|
installation directory):
|
2007-10-02 16:03:17 +00:00
|
|
|
|
2007-11-15 23:12:38 +00:00
|
|
|
chmod o+w sites/default
|
|
|
|
|
2007-12-27 17:25:28 +00:00
|
|
|
3. CREATE THE DRUPAL DATABASE
|
2006-09-08 16:29:35 +00:00
|
|
|
|
|
|
|
Drupal requires access to a database in order to be installed. Your database
|
|
|
|
user will need sufficient privileges to run Drupal. Additional information
|
|
|
|
about privileges, and instructions to create a database using the command
|
2006-12-05 05:47:37 +00:00
|
|
|
line are available in INSTALL.mysql.txt (for MySQL) or INSTALL.pgsql.txt
|
2006-09-08 16:29:35 +00:00
|
|
|
(for PostgreSQL).
|
|
|
|
|
|
|
|
To create a database using PHPMyAdmin or a web-based control panel consult
|
|
|
|
the documentation or ask your webhost service provider.
|
|
|
|
|
|
|
|
Take note of the username, password, database name and hostname as you
|
|
|
|
create the database. You will enter these items in the install script.
|
|
|
|
|
2007-12-27 17:25:28 +00:00
|
|
|
4. RUN THE INSTALL SCRIPT
|
2006-09-08 16:29:35 +00:00
|
|
|
|
2007-11-21 09:49:36 +00:00
|
|
|
To run the install script point your browser to the base URL of your website
|
2008-02-08 02:52:39 +00:00
|
|
|
(e.g., http://www.example.com).
|
2007-10-02 16:03:17 +00:00
|
|
|
|
2007-09-12 11:21:47 +00:00
|
|
|
You will be guided through several screens to set up the database,
|
2009-09-14 07:33:55 +00:00
|
|
|
create tables, add the site maintenance account (the first user, also known
|
|
|
|
as user/1), and provide basic web site settings.
|
2007-09-12 11:21:47 +00:00
|
|
|
|
2007-12-27 17:25:28 +00:00
|
|
|
The install script will attempt to create a files storage directory
|
|
|
|
in the default location at sites/default/files (the location of the
|
2007-12-28 12:02:52 +00:00
|
|
|
files directory may be changed after Drupal is installed). In some
|
2007-12-27 17:25:28 +00:00
|
|
|
cases, you may need to create the directory and modify its permissions
|
|
|
|
manually. Use the following commands (from the installation directory)
|
2009-08-17 19:14:42 +00:00
|
|
|
to create the public and private files directories and grant the web server
|
|
|
|
write privileges to them:
|
2007-12-27 17:25:28 +00:00
|
|
|
|
|
|
|
mkdir sites/default/files
|
|
|
|
chmod o+w sites/default/files
|
2009-08-17 19:14:42 +00:00
|
|
|
mkdir sites/default/private
|
|
|
|
chmod o+w sites/default/private
|
2007-12-27 17:25:28 +00:00
|
|
|
|
2008-07-18 07:24:29 +00:00
|
|
|
The install script will attempt to write-protect the settings.php file and
|
|
|
|
the sites/default directory after saving your configuration. However, you
|
|
|
|
may need to manually write-protect them using the commands (from the
|
|
|
|
installation directory):
|
|
|
|
|
|
|
|
chmod a-w sites/default/settings.php
|
|
|
|
chmod a-w sites/default
|
|
|
|
|
|
|
|
If you make manual changes to the file later, be sure to protect it again
|
|
|
|
after making your modifications. Failure to remove write permissions to that
|
|
|
|
file is a security risk. Although the default location for the settings.php
|
2007-09-12 11:21:47 +00:00
|
|
|
file is at sites/default/settings.php, it may be in another location
|
2006-12-30 15:28:33 +00:00
|
|
|
if you use the multi-site setup, as explained below.
|
|
|
|
|
2007-12-27 17:25:28 +00:00
|
|
|
5. CONFIGURE DRUPAL
|
2006-09-08 16:29:35 +00:00
|
|
|
|
2007-09-12 11:21:47 +00:00
|
|
|
When the install script succeeds, you will be directed to the "Welcome"
|
2009-09-14 07:33:55 +00:00
|
|
|
page logged in with the site maintenance account. Proceed with the initial
|
|
|
|
configuration steps suggested on the "Welcome" page.
|
2006-09-08 16:29:35 +00:00
|
|
|
|
2008-01-15 10:36:17 +00:00
|
|
|
If the default Drupal theme is not displaying properly and links on the page
|
2007-08-02 20:08:53 +00:00
|
|
|
result in "Page Not Found" errors, try manually setting the $base_url variable
|
|
|
|
in the settings.php file if not already set. It's currently known that servers
|
|
|
|
running FastCGI can run into problems if the $base_url variable is left
|
|
|
|
commented out (see http://bugs.php.net/bug.php?id=19656).
|
|
|
|
|
2008-01-29 19:03:15 +00:00
|
|
|
6. REVIEW FILE SYSTEM STORAGE SETTINGS AND FILE PERMISSIONS
|
2007-11-21 09:49:36 +00:00
|
|
|
|
2007-12-27 17:25:28 +00:00
|
|
|
The files directory created in step 4 is the default file system path used
|
2007-11-23 13:34:55 +00:00
|
|
|
to store all uploaded files, as well as some temporary files created by Drupal.
|
2007-11-21 09:49:36 +00:00
|
|
|
After installation, the settings for the file system path may be modified
|
|
|
|
to store uploaded files in a different location.
|
|
|
|
|
|
|
|
It is not necessary to modify this path, but you may wish to change it if:
|
|
|
|
|
|
|
|
* your site runs multiple Drupal installations from a single codebase
|
|
|
|
(modify the file system path of each installation to a different
|
2007-12-27 17:25:28 +00:00
|
|
|
directory so that uploads do not overlap between installations); or,
|
2007-11-21 09:49:36 +00:00
|
|
|
|
|
|
|
* your site runs a number of web server front-ends behind a load
|
|
|
|
balancer or reverse proxy (modify the file system path on each
|
2007-12-27 17:25:28 +00:00
|
|
|
server to point to a shared file repository).
|
2007-11-21 09:49:36 +00:00
|
|
|
|
|
|
|
To modify the file system path:
|
|
|
|
|
|
|
|
* Ensure that the new location for the path exists or create it if
|
|
|
|
necessary. To create a new directory named uploads, for example,
|
|
|
|
use the following command from a shell or system prompt (while in
|
|
|
|
the installation directory):
|
2007-11-17 14:25:23 +00:00
|
|
|
|
2007-11-21 09:49:36 +00:00
|
|
|
mkdir uploads
|
|
|
|
|
|
|
|
* Ensure that the new location for the path is writable by the web
|
|
|
|
server process. To grant write permissions for a directory named
|
2007-11-23 13:34:55 +00:00
|
|
|
uploads, you may need to use the following command from a shell
|
2007-11-21 09:49:36 +00:00
|
|
|
or system prompt (while in the installation directory):
|
|
|
|
|
|
|
|
chmod o+w uploads
|
|
|
|
|
|
|
|
* Access the file system path settings in Drupal by selecting these
|
|
|
|
menu items from the Navigation menu:
|
|
|
|
|
2008-01-30 11:37:33 +00:00
|
|
|
Administer > Site configuration > File system
|
2007-11-21 09:49:36 +00:00
|
|
|
|
|
|
|
Enter the path to the new location (e.g.: uploads) at the File
|
2007-11-23 13:34:55 +00:00
|
|
|
System Path prompt.
|
2007-11-21 09:49:36 +00:00
|
|
|
|
|
|
|
Changing the file system path after files have been uploaded may cause
|
|
|
|
unexpected problems on an existing site. If you modify the file system path
|
|
|
|
on an existing site, remember to copy all files from the original location
|
|
|
|
to the new location.
|
2008-02-06 19:38:28 +00:00
|
|
|
|
2008-01-29 19:03:15 +00:00
|
|
|
Some administrators suggest making the documentation files, especially
|
|
|
|
CHANGELOG.txt, non-readable so that the exact version of Drupal you are
|
|
|
|
running is slightly more difficult to determine. If you wish to implement
|
|
|
|
this optional security measure, use the following command from a shell or
|
|
|
|
system prompt (while in the installation directory):
|
|
|
|
|
|
|
|
chmod a-r CHANGELOG.txt
|
|
|
|
|
|
|
|
Note that the example only affects CHANGELOG.txt. To completely hide
|
|
|
|
all documentation files from public view, repeat this command for each of
|
|
|
|
the Drupal documentation files in the installation directory, substituting the
|
|
|
|
name of each file for CHANGELOG.txt in the example.
|
|
|
|
|
|
|
|
For more information on setting file permissions, see "Modifying Linux, Unix,
|
|
|
|
and Mac file permissions" (http://drupal.org/node/202483) or "Modifying
|
|
|
|
Windows file permissions" (http://drupal.org/node/202491) in the online
|
|
|
|
handbook.
|
2007-11-21 09:49:36 +00:00
|
|
|
|
2007-12-27 17:25:28 +00:00
|
|
|
7. CRON MAINTENANCE TASKS
|
2006-09-08 16:29:35 +00:00
|
|
|
|
2007-12-26 19:02:24 +00:00
|
|
|
Many Drupal modules have periodic tasks that must be triggered by a cron
|
|
|
|
maintenance task, including search module (to build and update the index
|
2007-12-19 17:45:43 +00:00
|
|
|
used for keyword searching), aggregator module (to retrieve feeds from other
|
2008-03-11 08:13:14 +00:00
|
|
|
sites), and system module (to perform routine maintenance and pruning on
|
2009-08-22 16:01:10 +00:00
|
|
|
system tables).
|
|
|
|
|
|
|
|
For most sites, the built-in, automated cron feature should be sufficient.
|
|
|
|
Note, however, that cron tasks will only be executed when there are site
|
|
|
|
visitors. You can enable the built-in cron feature at:
|
|
|
|
|
2010-02-05 21:15:43 +00:00
|
|
|
Administer > Configuration > System > Site information
|
2009-08-22 16:01:10 +00:00
|
|
|
|
|
|
|
Advanced users may want to ensure that cron tasks are executed periodically.
|
|
|
|
To do this, visit the page "cron.php", which executes maintenance tasks on
|
|
|
|
behalf of installed modules. The URL of the cron.php page requires a "cron
|
|
|
|
key" to protect against unauthorized access.
|
2008-03-17 16:53:58 +00:00
|
|
|
Each cron key is automatically generated during installation and is specific
|
|
|
|
to your site. The full URL of the page, with cron key, is available in the
|
|
|
|
"Cron maintenance tasks" section of the "Status report page" at:
|
2006-09-08 16:29:35 +00:00
|
|
|
|
2008-03-17 16:53:58 +00:00
|
|
|
Administer > Reports > Status report
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2008-03-17 16:53:58 +00:00
|
|
|
Most systems support using a crontab utility for automatically executing
|
|
|
|
tasks like visiting the cron.php page. The following example crontab line
|
|
|
|
uses wget to automatically visit the cron.php page each hour, on the hour:
|
|
|
|
|
|
|
|
0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php?cron_key=RANDOMTEXT
|
|
|
|
|
|
|
|
Replace the text "http://www.example.com/cron.php?cron_key=RANDOMTEXT" in the
|
|
|
|
example with the full URL displayed under "Cron maintenance tasks" on the
|
|
|
|
"Status report" page.
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2007-12-19 17:45:43 +00:00
|
|
|
More information about cron maintenance tasks are available in the help pages
|
2008-03-17 16:53:58 +00:00
|
|
|
and in Drupal's online handbook at http://drupal.org/cron. Example cron scripts
|
|
|
|
can be found in the scripts/ directory. (Note that these scripts must be
|
|
|
|
customized similar to the above example, to add your site-specific cron key
|
|
|
|
and domain name.)
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2010-04-30 08:09:21 +00:00
|
|
|
|
|
|
|
BUILDING AND CUSTOMIZING YOUR SITE
|
|
|
|
----------------------------------
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2006-09-08 16:29:35 +00:00
|
|
|
A new installation of Drupal defaults to a very basic configuration with only a
|
2010-04-30 08:09:21 +00:00
|
|
|
few active modules and minimal user access rights. When extending your site,
|
|
|
|
you use "modules" and "themes". A module is a plugin that adds functionallity to
|
|
|
|
Drupal, while a theme changes the front-end look and behavior of your site.
|
|
|
|
|
|
|
|
It is important to install these correctly and not mix them in with the core
|
|
|
|
Drupal module and theme set (directories modules and themes at the top level).
|
|
|
|
So normally you place them under the following paths:
|
2006-09-08 16:29:35 +00:00
|
|
|
|
2010-04-30 08:09:21 +00:00
|
|
|
Modules:
|
|
|
|
sites/all/modules/example_module
|
2003-09-24 08:29:45 +00:00
|
|
|
|
2010-04-30 08:09:21 +00:00
|
|
|
Themes:
|
|
|
|
sites/all/themes/example_theme
|
2003-09-24 08:29:45 +00:00
|
|
|
|
2010-04-30 08:09:21 +00:00
|
|
|
If you run a multisite installation you will want to do this a bit differently.
|
|
|
|
You can read more about that on the multisite part of this file.
|
2003-09-24 08:29:45 +00:00
|
|
|
|
2010-04-30 08:09:21 +00:00
|
|
|
Contributed modules can be found at:
|
|
|
|
http://drupal.org/project/Modules
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2010-04-30 08:09:21 +00:00
|
|
|
Contributed themes can be found at:
|
|
|
|
http://drupal.org/project/Themes
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2010-04-30 08:09:21 +00:00
|
|
|
Later on you might want to write your own code, but remember to NEVER modify the
|
|
|
|
core modules and themes in Drupal directories modules and themes. Instead use
|
|
|
|
the hooks available in the Drupal API. You can read more about the Drupal API
|
|
|
|
and how to develop modules at
|
|
|
|
http://drupal.org/developing/modules
|
2006-09-08 16:29:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
MULTISITE CONFIGURATION
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
A single Drupal installation can host several Drupal-powered sites, each with
|
|
|
|
its own individual configuration.
|
|
|
|
|
|
|
|
Additional site configurations are created in subdirectories within the 'sites'
|
|
|
|
directory. Each subdirectory must have a 'settings.php' file which specifies the
|
|
|
|
configuration settings. The easiest way to create additional sites is to copy
|
|
|
|
the 'default' directory and modify the 'settings.php' file as appropriate. The
|
|
|
|
new directory name is constructed from the site's URL. The configuration for
|
|
|
|
www.example.com could be in 'sites/example.com/settings.php' (note that 'www.'
|
|
|
|
should be omitted if users can access your site at http://example.com/).
|
|
|
|
|
|
|
|
Sites do not have to have a different domain. You can also use subdomains and
|
|
|
|
subdirectories for Drupal sites. For example, example.com, sub.example.com,
|
|
|
|
and sub.example.com/site3 can all be defined as independent Drupal sites. The
|
|
|
|
setup for a configuration such as this would look like the following:
|
|
|
|
|
|
|
|
sites/default/settings.php
|
|
|
|
sites/example.com/settings.php
|
|
|
|
sites/sub.example.com/settings.php
|
|
|
|
sites/sub.example.com.site3/settings.php
|
|
|
|
|
|
|
|
When searching for a site configuration (for example www.sub.example.com/site3),
|
|
|
|
Drupal will search for configuration files in the following order, using the
|
|
|
|
first configuration it finds:
|
|
|
|
|
|
|
|
sites/www.sub.example.com.site3/settings.php
|
|
|
|
sites/sub.example.com.site3/settings.php
|
|
|
|
sites/example.com.site3/settings.php
|
|
|
|
sites/www.sub.example.com/settings.php
|
|
|
|
sites/sub.example.com/settings.php
|
|
|
|
sites/example.com/settings.php
|
|
|
|
sites/default/settings.php
|
|
|
|
|
|
|
|
If you are installing on a non-standard port, the port number is treated as the
|
|
|
|
deepest subdomain. For example: http://www.example.com:8080/ could be loaded
|
|
|
|
from sites/8080.www.example.com/. The port number will be removed according to
|
|
|
|
the pattern above if no port-specific configuration is found, just like a real
|
|
|
|
subdomain.
|
|
|
|
|
|
|
|
Each site configuration can have its own site-specific modules and themes in
|
2007-09-12 11:21:47 +00:00
|
|
|
addition to those installed in the standard 'modules' and 'themes' directories.
|
2006-09-08 16:29:35 +00:00
|
|
|
To use site-specific modules or themes, simply create a 'modules' or 'themes'
|
|
|
|
directory within the site configuration directory. For example, if
|
|
|
|
sub.example.com has a custom theme and a custom module that should not be
|
|
|
|
accessible to other sites, the setup would look like this:
|
|
|
|
|
|
|
|
sites/sub.example.com/:
|
|
|
|
settings.php
|
|
|
|
themes/custom_theme
|
|
|
|
modules/custom_module
|
|
|
|
|
|
|
|
NOTE: for more information about multiple virtual hosts or the configuration
|
|
|
|
settings, consult the Drupal handbook at drupal.org.
|
2003-03-08 12:28:24 +00:00
|
|
|
|
2007-11-15 23:12:38 +00:00
|
|
|
For more information on configuring Drupal's file system path in a multi-site
|
2007-12-27 17:25:28 +00:00
|
|
|
configuration, see step 6 above.
|
2007-11-15 23:12:38 +00:00
|
|
|
|
2003-03-08 12:28:24 +00:00
|
|
|
MORE INFORMATION
|
|
|
|
----------------
|
|
|
|
|
2008-02-08 03:13:12 +00:00
|
|
|
- For additional documentation, see the online Drupal handbook at
|
|
|
|
http://drupal.org/handbook.
|
2007-11-21 09:49:36 +00:00
|
|
|
|
2008-02-08 03:13:12 +00:00
|
|
|
- For a list of security announcements, see the "Security announcements" page
|
|
|
|
at http://drupal.org/security (available as an RSS feed). This page also
|
|
|
|
describes how to subscribe to these announcements via e-mail.
|
2008-01-30 11:37:33 +00:00
|
|
|
|
2008-02-08 03:13:12 +00:00
|
|
|
- For information about the Drupal security process, or to find out how to report
|
|
|
|
a potential security issue to the Drupal security team, see the "Security team"
|
|
|
|
page at http://drupal.org/security-team.
|
|
|
|
|
|
|
|
- For information about the wide range of available support options, see the
|
|
|
|
"Support" page at http://drupal.org/support.
|