読者です 読者をやめる 読者になる 読者になる

UTALI

書き溜めておいた技術記事や旅行記のバックアップです。

MongoDBをUbuntuにインストールする

デフォルトだと古いバージョンがインストールされてしまう。

デフォルトの設定で

sudo apt-get install mongodb

を実行するとかなりObsoleteなバージョンがインストールされてしまいます。

mongo -version
MongoDB shell version: 2.4.6

これは一世代前のバージョンで、現在は3.x以上のバージョンがリリースされています。せっかくなのでそれを使用することにしましょう。

公式の解説の通りに実行すればOKです。順を追って説明してみます

1.パッケージ管理ツールが使用する公開鍵を取得する

Ubuntu(debian)のパッケージ管理ツールapt(またはdpkg)はパッケージの信頼性の保証と認証のためにGPG鍵による署名を配布者に要求しています。以下のコマンドを入力することでMongoDBのGPG公開鍵を取得することができます。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

2./etc/apt/sources.list.dUbuntuのバージョンに適合したリストファイルを作成する

Ubuntu 12.04の場合

sudo echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee  /etc/apt/sources.list.d/mongodb-org-3.2.list

Ubuntu 14.04

sudo echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

3.パッケージ管理ツール(apt)を更新する

sudo apt-get update

4.MongoDBのパッケージをインストールする

最新の安定バージョンをインストール

sudo apt-get install -y mongodb-org

任意のバージョンをインストールする。この場合は3.2.6を指定するが他のバージョンを指定する際はこの数字を適宜変更する。

sudo apt-get install -y mongodb-org=3.2.6 mongodb-org-server=3.2.6 mongodb-org-shell=3.2.6 mongodb-org-mongos=3.2.6 mongodb-org-tools=3.2.6

5.MongoDBが利用できるか確認する

mongo -version
mongod -version

以下のような出力を得たら完了

MongoDB shell version: 3.2.6
db version v3.2.6
git version: 05552b562c7a0b3143a729aaa0838e558dc49b25

OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014

allocator: tcmalloc

modules: none

build environment:

    distmod: ubuntu1404

    distarch: x86_64

    target_arch: x86_64

追記:MongoDBの利用可能なバージョンを確認する。

apt-getは特定のバージョンでは利用できないことがある、利用可能なバージョンを確認するにはそれぞれ以下のコマンドを入力する

echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

以上がうまくいかない場合は直接バイナリをインストールする。

バイナリをインストール

念のためapt-getを更新しておく

sudo apt-get update

curlがインストールされていない場合は以下を実行

sudo apt-get install curl

公式からバイナリをインストール

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz

ダウンロードが完了したら解凍します。

tar -zxvf mongodb-linux-x86_64-3.2.9.tgz

無事展開できたら目的のバイナリ実行ファイルはmongodb-linux-x86_64-3.2.9binディレクトリに存在します。

cd mongodb-linux-x86_64-3.2.9/bin
ls
cd /opt/mongodb-linux-x86_64-3.2.9/bin 
ls
bsondump  mongodump    mongoimport  mongorestore  mongotop
mongo     mongoexport  mongooplog   mongos
mongod    mongofiles   mongoperf    mongostat

このディレクトリにパスを通す。またはusr/local/binなどすでにパスが通っているディレクトリにファイルを移動しましょう。

直接パスを通す場合

export PATH=$PATH:/opt/mongodb-linux-x86_64-3.2.9/bin

usr/local/binに移動させる場合

cd /opt/mongodb-linux-x86_64-3.2.9/bin
mv * usr/local/bin

実際に動作するかを確認

mongo -version
MongoDB shell version: 3.2.9