Установка MongoDB в Ubuntu и связка с PHP-FPM

Недавно в силу любопытства решил перейти с реляционной БД MySQL на не реляционную (NoSQL) MongoDB. Отличий много, но сейчас не об этом. Установка MongoDВ довольна проста, тем более по ней в интернете довольно много инструкций, готовых решений и прочей информации, но все же.

Добавляем GPG ключ:

Добавляем репозиторий:

Обновляем список пакетов:

Ну и устанавливаем последнюю стабильную версию MongoDB:

В случае успешной установки при выполнении команды mongo  в терминале у вас должно вывестись что-то такое:

Связка PHP-FPM и MongoDB

Выполняем команду установки драйвера:

Если возникнут ошибки, попробуйте установить следующие пакеты и повторить команду приведенную выше:

Далее интересней, во всех источниках говорится, что требуется всего-лишь добавить в файл /etc/php5/fpm/php.ini  (я использую PHP-FPM, если вы используете Apache2 или что-то другое, то отредактируйте соответствующий файл настроек php)

строку вида:

Перезапускаем php-fpm:

Скорей всего вам повезет и никаких ошибок при открытии странички сайта, где установлено соединение с Mongo не возникнет. А если не повезет, и будет ошибка:

Fatal error: Class ‘Mongo’ not found

То читаем далее. Над поиском решения данной проблему потратил два дня. Оказалось все просто! В каталоге «/etc/php5/fpm/conf.d/» отсутствовало хоть какое-либо упоминание mongo. По этому создаем там файлик mongo.ini cо следующим содержанием:

Если я правильно понял, то это равносильно тому, что написать в файле php.ini «extension=mongo.so», но увы, по другому не хотело работать. Перезапускаем php-fpm и ура, ошибка пропала!

Если вы воспользовались этим способом, то строку «extension=mongo.so» из php.ini можете удалить.

Установка RoboMongo

RoboMongo — графическая программка, предназначенная для управления базой MongoDB. Сайт откуда можно скачать программу http://robomongo.org/ . Есть версии для Linux, MacOS, Windows

C остальными административными пользовательскими интерфейсами можно ознакомиться здесь http://docs.mongodb.org/ecosystem/tools/administration-interfaces/