Drupal system requirements

Basic parts of drupal

  • Apache web server
  • MySql database with user (Techsupport/Admin permisisons)
  • Drupal software with base modules
  • Additional modules, as needed
  • Themes
  • php, templates, CSS
  • web based site administration/user authenticated
  • web based content generation/user
    authenticated

Drupal system requirements in more detail (from http://drupal.org/requirements)

Web Server:
recommended: Apache

  • Drupal will work on Apache 1.3 or Apache 2.x hosted on Unix/Linux or Windows. Clean URLS can be achieved through mod_rewrite [note: OR pathauto module. PathAuto allows an authorized user to choose their url at the time of publishing.]

Microsoft IIS

  • Drupal core will work using IIS5 or IIS6 if PHP is configured correctly. Suggested: IIS6.

PHP: recommended PHP 5.2 or higher
Required: PHP version 4.3.5 or higher

  • PHP 5.2 or higher is only supported by Drupal 4.7.5 or higher and Drupal 5.1 or higher.
  • PHP 5.2 or higher will be a requirement for Drupal 7.
  • PHP memory of 16MB or higher for a default Drupal 6 installation (8MB or higher may be sufficient for default installations of earlier versions). Depending on your site's use of customor contributed modules, your PHP memory limit may need to be increased beyond 16MB.
  • PHP XML extension (for blogapi, drupal, and ping modules). This extension is enabled by default in a standard PHP installation; the Windows version of PHP has built-in support for this extension.
  • An image library for PHP such as the GD library is needed for image manipulation (resizing user pictures, image and imagecache modules). GD is included with PHP 4.3 and higher and enabled by default. ImageMagick is also supported for basic manipulations in Drupal core but support in the contributed modules repository is much less developed.
  • PHP needs the following configuration directives
    for Drupal to work (only directives that differ from the default php.ini-dist / php.ini-recommended):
  • session.save_handler: user
  • error_reporting set to E_ALL & ~E_NOTICE. Work is ongoing to change this to E_ALL for
    Drupal 6.
  • In addition, we recommend the following setting: session.cache_limiter:
    nocache
  • Some of these settings are contained in the default .htaccess file that ships with Drupal, so you shouldn't need to set them explicitly. Note, however, that setting PHP configuration options
    from .htaccess only works:
  • with Apache (or a compatible web server)
  • if the .htaccess file is actually read, i.e. AllowOverride is not None
  • if PHP is installed as an Apache module
  • See the PHP
    manual
    for how to change configuration settings for other interfaces to PHP.

Database recommended: MySQL 4.1 or MySQL 5.0

  • Drupal 6 supports MySQL 4.1 or higher.
  • Drupal 5.x and earlier supports MySQL 3.23.17 or higher. MySQL 4.1 or higher is strongly recommended.
  • NOTE: RIGHTS needed: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES

As of 6.x, Drupal core no longer requires CREATE TEMPORARY TABLES or LOCK TABLES, and can be installed without them. However some contributed modules may still rely on them.

PostgreSQL 7.4 or higher

  • Note: Some contributed modules are not as abstracted from MySQL specific code as everyone would like. Currently MS SQL and Oracle are not supported but various efforts are underway to supply schema.