четверг, 5 сентября 2013 г.

Debian Squeeze и MongoDB 2.0+

Добрый день.

Сегодня встала задача, на один из серверов установить MongoDB версии 2.0+. Вот и небольшая заметка, по этому не хитрому делу.

Для начала проверим, какая версия есть в репозиториях:
# apt-cache show mongodb

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



Скачаем MongoDB с официального репозитория. Сначала добавил публичный GPG ключ:
# apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Добавим репозиторий:
# echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' > /etc/apt/sources.list.d/mongodb.list

Теперь обновим список доступных пакетов:
# apt-get update

Для того, что бы установить самую последнюю стабильную версию необходимо установить пакет mongodb-10gen:
# apt-get install mongodb-10gen

Для того, что бы установить какую-то определенную версию можно воспользоваться такой командой:
# apt-get install mongodb-10gen=2.2.3
Таким образом мы установим MongoDB версии 2.2.3, если вам нужна определенная версия, то просто после равно вводим нужную версию.

Посмотрим версию установленного MongoDB:
# mongo --version
Ага, видим, что установлена последняя стабильная версия: 2.4.6.

Теперь можно проверить, как работает MongoDB:
# mongo

После чего попадаем в шел mongo. Что бы проверить как работает, попробуем записать и считать данные:
> db.test.save( {a : 1} )
> db.test.find()

Вывод будет примерно таким:
{ "_id" : ObjectId("5228cf1758c283564627f3ed"), "a" : 1 }

Ну что же сама MongoDB работает, теперь нужно установить PHP модуль для работы с MongoDB.

Сначала поставим все необходимые пакеты:
# apt-get install php5-dev build-essential php-pear

Теперь скомпилируем и установим драйвер для работы PHP с MongoDB:
# pecl install mongo

Теперь нужно добавить расширение в php.ini. Так как у меня сайты работают в режиме FastCGI то я добавляю в файл: /etc/php5/cgi/php.ini
# echo "extension=mongo.so" >> /etc/php5/cgi/php.ini

К сожалению моих познаний в PHP и MongoBD не хватает для полноценного теста, но вы можете обратиться к данному циклу статей.

1 комментарий: