Installation process

// $Id: INSTALL.txt,v 1.18 2005/04/14 18:34:31 dries Exp $ CONTENTS OF THIS FILE

* Requirements

* Optional requirements

* Installation

- Drupal administration

- Customizing your theme(s)

* Upgrading

* More Information


Drupal requires a web server, PHP4 (4.3.3 or greater) or PHP5 ( and either MySQL ( or PostgreSQL (

NOTE: the Apache web server and MySQL database are strongly recommended;

other web server and database combinations such as IIS and PostgreSQL

are possible but tested to a lesser extent. OPTIONAL REQUIREMENTS

- To use XML-based services such as the Blogger API, Jabber, RSS syndication, you will need PHP's XML extension. This extension is enabled by default in standard PHP4 installations.

- If you want support for clean URLs, you'll need mod rewrite and the ability to use local .htaccess files. (More information can be found in the Drupal handbook on



You can obtain the latest Drupal release from

The files are in .tar.gz format and can be extracted using most compression tools. On a typical Unix command line, use:


tar -zxvf drupal-x.x.x.tgz

This will create a new directory drupal-x.x.x/ containing all Drupal files and directories. Move the contents of that directory into a directory within your web server's document root or your public HTML directory:

mv drupal-x.x.x/* drupal-x.x.x/.htaccess /var/www/html


This step is only necessary if you don't already have a database set-up (e.g. by your host). If you control your databases through a web-based control panel, check its documentation for creating databases, as the following instructions are for the command-line only.

These instructions are for MySQL. If you are using another database, check the database documentation. In the following examples, 'dba user' is an example MySQL user which has the CREATE and GRANT _

privileges. Use the appropriate user name for your system.

First, you must create a new database for your Drupal site (here, 'drupal' is the name of the new database):

mysqladmin -u dba user -p create drupal

MySQL will prompt for the 'dba user' database password and then create the initial database files. Next you must login and set the access database rights:

mysql -u dba user -p

Again, you will be asked for the 'dba user' database password. At the MySQL prompt, enter following command:


TO [email protected] IDENTIFIED BY 'password';


'drupal' is the name of your database

'[email protected]' is the username of your webserver MySQL account

'password' is the password required to log in as the MySQL


If successful, MySQL will reply with:

Query OK, 0 rows affected To activate the new permissions you must enter the command:

flush privileges; and then enter '\q' to exit MySQL.


Once you have a database, you must load the required tables into it.

If you use a web-based control panel, you should be able to upload the file 'database.mysql' from Drupal's 'database' directory and run it directly as SQL commands.

From the command line, use (again, replacing 'nobody' and 'drupal' with your MySQL username and name of your database):

mysql -u nobody -p drupal < database/database.mysql


The default configuration can be found in the 'sites/default/settings.php' file within your Drupal installation.

Before you can run Drupal, you must set the database URL and the base URL to the web site. Open the configuration file and edit the

$db url line to match the database defined in the previous steps:

$db url = "mysql://username:[email protected]/database"; where 'username', 'password', 'localhost' and 'database' are the username, password, host and database name for your set up.

Set $base url to match the address to your Drupal site:

$base url = "";

In addition, a single Drupal installation can host several Drupal-powered sites, each with its own individual configuration.

If you don't need multiple Drupal sites, skip to the next section.

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

could be in 'sites/' (note that 'www.' should be omitted if users can access your site at

Sites do not each have to have a different domain. You can use subdomains and subdirectories for Drupal sites also. For example,,, and 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/ sites/ sites/

When searching for a site configuration (for example, Drupal will search for configuration files in the following order, using the first configuration it finds:


sites/ sites/ sites/

sites/ sites/ sites/default/settings.php

Each site configuration can have its own site-specific modules and themes that will be made available in addition to those installed in the standard 'modules' and 'themes' directories. To use site-specific modules or themes, simply create a 'modules' or 'themes' directory within the site configuration directory. For example, if sub.example.dom has a custom theme and a custom module that should not be accessible to other sites, the setup would look like this:

sites/ 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


You should consider creating a "files" subdirectory in your Drupal installation directory. This subdirectory stores files such as custom logos, user avatars, and other media associated with your new site. The sub-directory requires "read and write" permission by the Drupal server process. You can change the name of this subdirectory at "Administer > Settings > File system settings".

You can now launch your browser and point it to your Drupal site.

Create an account and login. The first account will automatically become the main administrator account with total control.


Many Drupal modules (such as the search functionality) have periodic tasks that must be triggered by a cron job. To activate these tasks, call the cron page by visiting

this will pass control to the modules and the modules will decide if and what they must do.

Most systems support the crontab utility for scheduling tasks like this. The following example crontab line will activate the cron tasks automatically on the hour:

More information about the cron scripts are available in the admin help pages and in the Drupal handbook at Example scripts can be found in the scripts/ directory.


Upon a new installation, your Drupal website defaults to a very basic configuration with only a few active modules, one theme, and no user access rights.

Use your administration panel to enable and configure services. For example, set some general settings for your site with "Administer

Settings". Enable modules via "Administer > Modules". User permissions can be set with "Administer > Users > Configure > Permissions".

For more information on configuration options, read through the instructions which accompany the different configuration settings and consult the various help pages available in the administration panel.

Community-contributed modules and themes are available at


Now that your server is running, you will want to customize the look of your site. Several sample themes are included in the Drupal installation and more can be downloaded from

Customizing each theme depends on the theme engine. In general, each theme contains a PHP file themename.theme which defines a function header()

that can be changed to reference your own logos.

Most themes also contain stylesheets to tune the colors and layouts;

check the themes/ directory for READMEs describing each alternate theme.


1. Backup your database and Drupal directory - especially your configuration file in 'sites/default/settings.php'.

2. Log on as the user with user ID 1.

3. Remove all the old Drupal files then unpack the new Drupal files into the directory that you run Drupal from.

4. Modify the new configuration file to make sure it has the latest and correct information.

5. Run update.php by visiting MORE INFORMATION

For platform specific configuration issues and other installation and administration assistance, please consult the Drupal handbook at You can also find support at the Drupal support forum or through the Drupal mailing lists.

Was this article helpful?

0 0

Post a comment