Установка drupal 7 на локальном компьютере

Доброго времени суток, дорогой читатель!

В данной статье я опишу установку системы управления контентом (cms) drupal 7 на локальном (вашем) компьютере.

Такой уникальной информации нет практически нигде!

Конечно, же это просто шутка =). Эта информация есть и должна быть на каждом сайте о Друпале. Но именно потому что это основы и потому что она должна быть, ее нельзя обойти стороной. Итак, начнем по пунктам:

 

1. Системные требования.

 

Spoiler: Highlight to view

   1.1. Дисковое пространство

   Для минимальной установки требуется 15 Мб. 60 Мб нужно для сайта с большим количеством дополнительных модулей и тем. Учтите, что нужно будет больше пространства для: базы данных, загружаемых пользователями файлов, медиафайлов, бэкапов и прочих файлов.

   1.2. Веб-сервер

Подойдут следующие веб-серверы: Apache, Nginx, or Microsoft IIS. Первые 2 являются свободным ПО, тогда как Microsoft IIS - проприетарный продукт, поставляемый для операционных систем Windows.

   1.3. База данных

Свободные СУБД: MySQL 5.0.15 или выше с поддержкой PDO, PostgreSQL 8.3 или выше с поддержкой PDO, SQLite 3.3.7 или выше.

Проприетарные : Microsoft SQL Server и Oracle поддерживаются с использованием дополнительных модулей.

   1.4. PHP

PHP 5.2.5 или выше (рекомендуется 5.3). Ограничение памяти PHP memory_limit для ядра Drupal 7 должно быть не меньше 32MB. Обычно на работающих сайтах используется 128 или 256 Мб. Прочие необходимые возможности php:

  • Настройка: display_errors = Off
    Прячет ошибки, выдаваемые в ходе выполнения php, которые мы хотим видеть только в log-файле.

  • Настройка: max_execution_time
    Максимамльное время выполнения скрипта max_execution_time должно быть не менее 30
  • графическая библиотека GD (или реже ImageMagick)
  • PECL uploadprogress library (отображение процесса загрузки файлов)
  • Настройка: session.cache_limiter = nocache

  • Настройка: session.auto_start = 0

  • Настройка: expose_php = off
    Не отображать версию php по соображениям безопасности

  • Настройка: allow_url_fopen = off
    По соображениям безопасности

  • Настройка: magic_quotes_gpc = off
    Эта возможность была отмечена как устаревшая в PHP 5.3.0 и была удалена в PHP 5.4.0.

  • Настройка: register_globals = off
    По соображениям безопасности - если включена данная опция, нельзя однозначно сказать, где была установлена та или иная переменная; Эта возможность была отмечена как устаревшая в PHP 5.3.0 и была удалена в PHP 5.4.0.

  • Должно быть установлено и включено расширение PHP для вашей базы данных.

 

2. Скачиваем и распаковываем Drupal.

 

Drupal доступен в виде 2-х поддерживаемых версий. На данный момент это версии 6 (6.31) и 7 (7.28). Есть еще новая 8 версия, но официального релиза еще не было. В данной статье я опишу процедуру установки на сборке веб-сервера xampp (используется веб-сервер apache) под Windows для облегчения усвоения материала. В дальнейшем добавлю информацию по установке и настройке Drupal на linux, а также с испльзованием веб-сервера nginx и php-fpm.

Итак, все ваши сайты, веб-проекты в сборке xampp хранятся в папке "xampp\htdocs" (да, слэши "\" соответственно как в Windows, у меня полный путь выглядит так "C:\xampp\htdocs"). Создаем в этой папке подпапку, например, drupal728. В эту папку нужно распаковать содержимое ранее скачанного архива (см. ссылки выше). После этого ваш локальный сайт должен стать доступен по адресу "http://localhost/drupal728".

 

3. Создание базы данных.

 

Мы будем использовать базу данных MySQL. Создать базу данных можно разными способами: можно использовать специальные утилиты для подкючения к субд mysql, можно создать базу в командной строке mysql, но самый простой и удобный способ - это использование графического веб-приложения phpmyadmin, входящего в сборку xampp (Drupal версии 8 может самостоятельно создавать базу данных, если у пользователя есть необходимые привелегии). Для безопасности лучше создать отдельного пользователя, хотя для локального сайта это не критично. В phpmyadmin выбираем пункт "Пользователи", жмем ссылку "Добавить пользователя" и вводим данные как на картинке ниже (остальные опции не трогаем), нажимаем кнопку "ОК" внизу:

Spoiler: Highlight to view

phpmyadmin создание пользователя

Ниже - выполняемый при этом код в командной строке mysql:

CREATE USER 'drupal728'@'localhost' IDENTIFIED BY '***';

GRANT USAGE ON * . * TO 'drupal728'@'localhost' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR   MAX_CONNECTIONS_PER_HOUR   MAX_UPDATES_PER_HOUR   MAX_USER_CONNECTIONS  ;

CREATE DATABASE IF NOT EXISTS `drupal728` ;

GRANT ALL PRIVILEGES ON `drupal728` . * TO 'drupal728'@'localhost';

GRANT ALL PRIVILEGES ON `drupal728\_%` . * TO 'drupal728'@'localhost';

При ручном создании базы данных (БД) в поле сравнения указываем кодировку "utf8_general_ci".

 

4. Создаем файл settings.php.

 

Внимание! В моем опыте ни разу не требовалось делать это вручную, обычно это делает в автоматическом режиме скрипт установки. Поэтому делать этот шаг нужно лишь тогда, когда вы увидели ошибку со ссылкой на файл настроек "Settings file".

Spoiler: Highlight to view

Но все же знать это нужно - перед продолжением установки бывает нужно создать файл настроек, скопировав файл sites/default /default.settings.php"C:\xampp\htdocs\drupal728\sites\default\default.settings.php" и переименовав его в "settings.php" (убираем default.). Также нужно установить права на запись для данного файла (убрать галочку "только для чтения", после установки вернуть обратно).

 

5. Запуск скрипта установки.

 

   5.1. После создания БД переходим по адресу http://localhost/drupal728/.

Spoiler: Highlight to view

Так как сайт еще не установлен, произойдет перенаправление на страницу установки http://localhost/drupal728/install.php:

drupal install

Выбираем профиль "standard", включающий в себя 2 предустановленных типа контента - Статья и Страница, а также активирует полезный набор модулей. Профиль "minimal" предназначен для более опытных создателей Drupal-сайтов, желающих создать и настроить свои собственные типы контента. Этот профиль активирует только 3 модуля: Block, Database loggingUpdate status.

Внимание! Прежде чем приступить к следующему шагу - выбору языка  - можно заранее скачать и скопировать в папку с сайтом русский перевод с тем, чтобы в дальнейшем работать с русским интерфейсом. Для этого необходимо перейти на страницу русского перевода и скачать файл для ядра Drupal 7.28. После этого копируем этот файл в папку с сайтом - "C:\xampp\htdocs\drupal728\profiles\standard\translations\" , жмем кнопку "Save and continue" (в дальнейшем для автоматизации процесса перевода рекомендую использовать модуль Localization update).

   5.2. После добавления файла перевода появляется возможность выбрать русский язык при установке:

выбор языка

Жмем кнопку "Save and continue".

5.3. Вводим настройки базы данных (созданной на шаге 3), ждем, пока закончится установка .

Spoiler: Highlight to view

Теперь мы уже можем наблюдать все надписи на русском языке - пустячок, а приятно! Выбираем MySQL, вводим имя БД, имя пользователя и пароль. В расширенных настройках можно также указать адрес сервера БД (если БД находится на другом компьютере), порт базы данных (обычно используется стандартный порт 3306), префикс таблиц базы данных - используется для разделения таблиц разных сайтов при использовании одной БД, для локального сайта оставляем все поля дополнительных настроек пустыми:

Жмем кнопку "Сохранить и продолжить", набюдаем установку системы:

5.4. После завершения работы установщика, введите информацию о первой учетной записи сайта (которой автоматически будут назначены права администратора) и заполните базовые настройки сайта.

Spoiler: Highlight to view

  • В поле Название сайта введите название, которое хотите использовать на этом сайте. Его можно будет отредактировать позже в интерфейсе администратора.
  • В поле E-mail адрес сайта введите адрес e-mail, который будет использован Drupal при отправке уведомлений, таких как регистрационная информация.
  • В секци Учетная запись обслуживания сайта введите Имя пользователя, E-mail адрес и Пароль для главной учетной записи (аккаунта) администратора сайта (пользователь с id=1).

    Нужно отметить, что в Drupal 7 есть различие между главным аккаунтом администратора, который создается на этой странице, и обычным пользователем, которому присвоена роль администратора сайта "Администратор", котороую можно будет назначить на странице "Роли и права доступа" в интерфейсе администратора. Учетная запись, которую вы создаете в секции  Учетная запись обслуживания сайта во время установки - это супер-пользователь, который имеет полный контроль над каждым аспектом управления и настройки сайта:

  • В поле Настройки сервера выберете Страну по умолчанию и Часовой пояс по умолчанию.
  • В поле Оповещения об обновлениях оставьте оба чекбокса отмеченными, если вы хотите, чтобы ваш сервер Drupal уведомлял вас, когда необходимы обновления. In the Update notifications field, leave both check boxes selected if you want your Drupal server to alert you when updates are required. Обычно обновления связаны с проблемами безопасности и их важно применять. Но если у вас закрытая локальная сеть, можно оставить эти опции неотмеченными и протестировать их позже:

Жмем кнопку "Сохранить и продолжить" и переходим на страницу с поздравлением о завершении установки Drupal:

Переходим по ссылке Войти на свой новый сайт и наслаждаемся результатом проделанной работы:

Поздравляю - ваш сайт готов к работе!

Теперь можно добавлять на него содержимое, менять оформление, настраивать меню, добавлять новый функционал при помощи установки новых модулей.

PS В целях безопасности необходимо проверить, чтобы доступ к файлу "settings.php" был только на чтение. Для локального сайта это не критично, но об этом стоить понмить при переносе сайта на хостинг .