Требования к хостингу для Друпала

Веб-сервер

Apache

  • Версии 1.3 или 2.х на UNIX/Linux, Mac OS X или Windows
  • Для использования чистых ссылок потребуется расширение mod_rewrite

Microsoft IIS

  • Версии IIS 5, IIS 6 или IIS 7
  • Для использования чистых ссылок потребуется использовать дополнительные расширения. Если вы используете IIS 7, то можете воспользоваться Microsoft URL Rewrite Module for IIS 7.0 CTP1
  • При использовании IIS 7 с FastCGI, нужно будет установить Hotfix kb954946 или подождать, пока это исправление будет включено в пакет установки (исправлено в Windows 2008 Server SP2)

Большинство разработчиков Друпала используют Apache, таким образом чаще всего Drupal тестируется именно на этом сервере и по этому серверу накоплен наибольший опыт. Рекомендуется использовать именно этот веб-сервер.

База данных

MySQL

  • Drupal 7 поддерживает MySQL 5.0.15 и выше, а также требует расширения PDO database для PHP
  • Drupal 6 поддерживает MySQL 4.1 и выше
  • Drupal 5 и более ранние версии, поддерживают MySQL 3.23.17 и выше, но рекомендуется использовать MySQL 4.1 и выше
  • На некоторых недорогих хостингах нет доступа к правам необходимым Друпалу. Проверьте, что хостер предоставляет следующие права при работе с базой данных: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER. Для стандартной сборки Друпала 5 требуется поддержка CREATE TEMPORARY TABLES и LOCK TABLES. Для стандартной сборки Друпала 6 и Друпала 7 эти права не требуются, однако дополнительные модули могут требовать таких прав
  • Drupal поддерживает типы таблиц MyISAM и InnoDB. Таблицы типа NDB (MySQL Cluster) не поддерживаются
  • Вместо MySQL может использоваться MariaDB 5.1.44+ или другие эквиваленты

PostgreSQL

  • Drupal 7 требуется PostgreSQL 8.3 и выше
  • Drupal 6 требуется PostgreSQL 7.1 и выше
  • Отметьте: некоторые дополнительные модули могут работать только с базой данных MySQL
  • В PHP 5.2.6 для Windows есть ошибка в расширении pgsql. Вам нужно переписать это расширение файлом php_pgsql.dll из версии 5.2.5

SQLite

Друпал 7 работает с SQLite 3.3.7+. Предыдущие версии Друпала с SQLite не работают.

Другие серверы баз данных

Работа с другими СУБД поддерживается при установке дополнительных модулей: MSSQL, Oracle, Mongodb, FileMaker, Riak. Если вы интересуетесь вопросами касающимися работы с базами данных, то вы можете посмотреть обсуждения на эту тему в Enterprise Group.

PHP

  • Друпал 7 рекомендуется использовать с ПХП 5.3+ (достаточная версия: 5.2.5+)
  • Друпал 6 и 5 рекомендуется использовать с ПХП 5.2+ (достаточная версия: 4.4.0+. Версия ПХП 5.2 поддерживается с версий Drupal 5.1 и 4.7.5. Версия PHP 5.3 поддерживается с Drupal 6.14 и 5.20)
  • Память не менее 16 МБ для ядра Друпала 6 и 32 МБ для ядра Друпала 7. Необходимая память зависит от установленных дополнительных модулей
  • Для Друпала 7 требуются расширения Hash и JSON (по умолчанию включены)
  • В настоящее время Друпал поддерживает соединение с базой данных используя mysql (стандартное расширение MySQL), mysqli (улучшенное расширение) и pgsql (для баз данных PostgreSQL). Если на хостинге включено расширение mysqli, то Drupal 6 не предлагает сделать выбор соединения с базой данных и использует mysqli (Drupal 5 предлагает сделать выбор). Отметьте: PHP 5.x больше не использует соединение mysql по умолчанию
  • Для работы модулей Blog API, Drupal и Ping необходимо расширение XML. В стандартной установке PHP это расширение включено по умолчанию
  • Для работы с изображениями требуются графические библиотеки, такие как GD. Библиотека GD включена в PHP 4.3 и по умолчанию включена. Графическая библиотека нужна для работы с аватарами. Стандартная сборка Друпала также поддерживает работу с ImageMagick, которая может потребоваться для работы с дополнительными модулями
  • Для работы Друпала нужно установить следующие директивы конфигурации (приведён список тех директив, которые отличаются от стандартных настроек в php.ini-dist/php.ini-recommended):
    • safe_mode: off (может быть препятствием для загрузки файлов и изображений)
    • Php Data Objects (PDO) must be activated for Drupal 7 to install and run correctly. Look in your php.ini. Uncomment (remove the leading semicolin) at line extension=php_pdo.dll, extension=php_pdo_mysql.dll. If these lines are not there, you will need to add them. You can also use pecl install pdo to install pdo, and then pecl install pdo_mysql (for instance), to install the PDO database driver. More information can be found on the What is PDO page
    • error_reporting: E_ALL & ~E_NOTICE. Идёт работа над E_ALL для Drupal 6 и 7
    • In addition, we recommend the following setting: session.cache_limiter: nocache
  • Отметьте: начиная с версий Drupal 5.6 и 4.7.11 требуется установка register_globals: off — это значение по умолчанию, но у многих хостеров эта директива включена
  • Некоторые из этих настроек содержатся в файле .htaccess, который включен в сборку Друпала, однако следует отметить, что .htaccess работает:
    • с веб-сервером Apache
    • использование .htaccess разрешено
    • PHP установлен в качестве модуля Apache
  • Drupal 7 may require the time parameter to be at least 30 seconds

Кроме того, файл default.settings.php содержит следующие значения:

ini_set('arg_separator.output',     '&');
ini_set('magic_quotes_runtime',     0);
ini_set('magic_quotes_sybase',      0);
ini_set('session.cache_expire',     200000);
ini_set('session.cache_limiter',    'none');
ini_set('session.cookie_lifetime',  2000000);
ini_set('session.gc_maxlifetime',   200000);
ini_set('session.save_handler',     'user');
ini_set('session.use_cookies',      1);
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid',    0);
ini_set('url_rewriter.tags',        '');