Sunday, May 10, 2009

Drupal Installation: System Requirements

System Requirements

Webserver
Apache (Recommended)

  • Drupal will work on Apache 1.3 or Apache 2.x hosted on UNIX/Linux, OS X, or Windows. The majority of Drupal development and deployment is done on Apache so there is more community experience and testing performed.
  • You can use the Apache 'mod_rewrite' extension to allow for clean URLs.

PHP

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

  • PHP 5.2 or higher will be a requirement for Drupal 7.
  • PHP memory requirements can vary significantly depending on your use of modules. While 16 MB may be sufficient for a default Drupal 6 installation, a production site with a number of commonly used modules enabled (CCK, Views etc.) could require 64 MB and some installations may require much more, especially with media-rich implementations. If you are using a hosting service it is important to verify that your host can provide sufficient memory for the set of modules you are deploying or may deploy in the future. (See the Increase PHP memory limit page in the Troubleshooting FAQ for additional information on modifying the PHP memory limit.)
  • The PHP extension for connecting to your chosen database must be installed and enabled. Drupal's currently supported database connectors are: mysql (the original MySQL extension), mysqli (an improved connector for newer MySQL installations), and pgsql (for PostgreSQL). Note: PHP 5.x no longer enables the mysql extension by default. Please read the links above for installing and enabling your chosen connector. Additionally, Drupal 6.x does not provide the option to select the mysql connector if mysqli is enabled in your PHP configuration.
  • 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 image manipulations in Drupal core but there is much less support from contribute modules.
  • PHP needs the following configuration directives for Drupal to work (only directives that differ from the default php.ini-dist / php.ini-recommended):
    • register_globals: off; this is the default value, but some hosts have it enabled
    • session.save_handler: user
    • error_reporting set to E_ALL & ~E_NOTICE. Work is ongoing to change this to E_ALL for Drupal 6.
    • safe_mode: off. Safe mode may interfere with file and image uploads.
    • 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 under the following conditions:
    • 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.
  • In some shared hosting environments, access to these settings is restricted. If you cannot make these changes yourself, please ask your hosting provider to adjust them for you.

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.
  • Drupal 7 will only support MySQL 5.0 or higher.
  • NOTE: Drupal makes use of some features not available on some inexpensive hosting plans so please check that your host allows database accounts with the following rights:
    SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER.
    These rights are sufficient to run Drupal core 6.x.

    Some contributed modules, and also Drupal core 5.x, additionally require the following rights:
    CREATE TEMPORARY TABLES, LOCK TABLES.

  • Note: If your system/host is running MySQL 4.1 or newer and you receive the error "Client does not support authentication protocol requested by server", address the problem by following the instructions provided by MySQL AB. There is a minor OS issue with some MySQL 5+ installations primarily on Windows but affecting some versions of Unix/Linux as well.
  • Note:When using Drupal 5.x or later, particularly with contributed modules, it may be necessary to set the system variable max_allowed_packet to at least 16M. Some inexpensive hosting plans set this value too low (the MySQL default is only 1M). In that case, you may need to choose a better hosting plan. A value of 1M may be sufficient for 5.x.

0 comments:

Post a Comment