Статьи

Давайте начнем с Drupal и MongoDB

MongoDB — это наиболее полнофункциональная масштабируемая база данных, покоряющая мир технологий. Drupal — это стандарт управления контентом, который включает журналы, блоги, онлайн-газеты и многое другое. Вполне естественно, что они собрались вместе, чтобы обеспечить быструю динамическую масштабируемую систему CMS. Всякий раз, когда сайт Drupal нуждается в масштабировании динамического контента, он обращается к MongoDB для возможности доставки. Examiner.com был пионером в этом подходе и многие сайты Drupal последовали этому примеру.

Вот как начать работу с Drupal, поддерживаемым MongoDB.


В настоящее время Drupal не может запустить чистую установку MongoDB с Drupal. Drupal добился большого прогресса в абстрагировании подключения к базе данных в центральный уровень модели с Drupal 7, а Drupal 8 обещает еще больше. Тем не менее, это все еще в стадии разработки, и хотя большая часть функциональных возможностей доступна в виде поддержки MongoDB, в настоящее время некоторые компоненты остаются зависимыми от SQL.

Поскольку большая часть работы по переносу Drupal на MongoDB была направлена ​​на масштабируемость и производительность, возможно, есть сайт, где публичные просмотры страниц на MongoDB на 100%. Тесты производительности на экземпляре Drupal, поддерживаемом MongoDB, впечатляют.

Установка MonogDB

Это очень краткие инструкции и некоторые предположения. Более подробные инструкции по установке смотрите в документации .

Установка на Linux

apt-get install mongodb-10gen or yum install mongodb

Установка на windows

Следуйте инструкциям по установке на сайте MongoDB .

Установка на Mac

brew install mongodb

Установка PHP-драйвера MongoDB

Полные указания можно найти в документации MongoDB PHP .

Использование Pecl для установки драйвера

Pecl является предпочтительным способом установки драйвера MongoDB. Если вы раньше не использовали pecl, вам может потребоваться установить некоторые предварительные требования.

pecl install mongo

Настройка PHP для использования драйвера

Используя ваш любимый редактор, добавьте следующую строку в ваш файл php.ini.

extension=mongo.so

Установка Drupal

Это самая сложная часть, и я просто приведу отличные указания, уже приведенные в файле Drupal install.txt, с некоторыми пояснениями.

1. Скачайте и распакуйте Drupal.

Вы можете получить последнюю версию Drupal с http://drupal.org — файлы
доступны в форматах .tar.gz и .zip и могут быть извлечены с использованием большинства
инструментов сжатия.

Для загрузки и распаковки файлов в типичной командной строке Unix / Linux используйте
следующие команды (при условии, что вам нужна версия xy Drupal в
формате .tar.gz ):

wget http://drupal.org/files/projects/drupal-x.y.tar.gz
tar -zxvf drupal-x.y.tar.gz

Это создаст новый каталог drupal-xy /, содержащий все файлы и
каталоги Drupal . Затем, чтобы переместить содержимое этого каталога в каталог
внутри корневого каталога документов вашего веб-сервера или в общедоступный каталог HTML , выполните следующую
команду:

 mv drupal-x.y/* drupal-x.y/.htaccess /path/to/your/installation

2. Создайте базу данных Drupal.

Поскольку Drupal хранит всю информацию о сайте в базе данных, вы должны создать
эту базу данных, чтобы установить Drupal, и предоставить Drupal определенные
привилегии базы данных (например, возможность создавать таблицы). В настоящее время это должна быть реляционная база данных. Drupal поддерживает SQLite, PostgreSQL и MySQL. За подробностями обращайтесь к INSTALL.mysql.txt, INSTALL.pgsql.txt или INSTALL.sqlite.txt. Вам также может
понадобиться проконсультироваться с вашим провайдером веб-хостинга для получения инструкций, специфичных для вашего веб-хостинга.

Запишите имя пользователя, пароль, имя базы данных и имя хоста при
создании базы данных. Вы введете эту информацию во время установки.

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

Чтобы запустить скрипт установки, укажите в своем браузере базовый URL-адрес вашего
сайта (например, http://www.example.com).

Вы пройдете через несколько экранов, чтобы настроить базу данных, добавить
учетную запись для обслуживания сайта (первый пользователь, также известный как user / 1) и предоставить
основные настройки веб-сайта.

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

Интеграция MongoDB и Drupal

Установка плагина Drupal MongoDB

Плагин MongoDB Drupal устанавливается как любой плагин drupal. Либо установите через экран администрирования, либо просто загрузите модуль по адресу http://drupal.org/project/mongodb и распакуйте его в каталог sites / all / modules /.

Настройте Drupal для использования плагина MongoDB

В настоящее время нет интерфейса администратора для настройки MongoDB, к счастью, его достаточно легко настроить вручную.

Сначала создайте файл с именем local.settings.php (он должен находиться в том же каталоге, что и settings.php).

Заполните файл следующим содержимым. Обязательно замените заполнители [YOURDATABASENAME] и [SITENAME].

Имя YOURDATABASENAME может быть любым, что не нужно создавать перед использованием.
SITENAME будет вашим именем, как оно названо в Drupal. Его можно назвать «По умолчанию», если это основной сайт для установки Drupal.

<?php #MongoDB $conf['mongodb_connections'] = array( 'default' => array( // Connection name/alias 'host' => 'localhost', // Omit USER:PASS@ if Mongo isn't configured to use authentication. 'db' => '[YOURDATABASENAME]' // Database name. Make something up, mongodb will automatically create the database. ), ); include_once('./includes/cache.inc'); # -- Configure Cache $conf['cache_backends'][] = 'sites/[SITENAME]/modules/mongodb/mongodb_cache/mongodb_cache.inc'; $conf['cache_class_cache'] = 'DrupalMongoDBCache'; $conf['cache_class_cache_bootstrap'] = 'DrupalMongoDBCache'; $conf['cache_default_class'] = 'DrupalMongoDBCache'; # -- Don't touch SQL if in Cache $conf['page_cache_without_database'] = TRUE; $conf['page_cache_invoke_hooks'] = FALSE; # Session Caching $conf['session_inc'] = 'sites/[SITENAME]/modules/mongodb/mongodb_session/mongodb_session.inc'; $conf['cache_session'] = 'DrupalMongoDBCache'; # Field Storage $conf['field_storage_default'] = 'mongodb_field_storage'; # Message Queue $conf['queue_default_class'] = 'MongoDBQueue'; ?>

 

Включение модуля MongoDB

Войдите в свой экран администрирования drupal.

Перейдите к экрану управления модулями.

Сначала нам нужно отключить блочный модуль из Drupal Core. Это будет конфликтовать с модулем MongoDB Block, и Drupal не позволит вам включить подключаемый модуль MongoDB. Снимите флажок Блокировать и нажмите Сохранить.

Теперь, как показано на скриншоте ниже, прокрутите до конца экрана администрирования модулей раздел MongoDB и включите все модули.

Ресурсы