Ubuntu 16.04にMongoDBをインストールする手順と自動起動の設定方法
MongoDBは、クロスプラットフォーム対応のドキュメント指向データベースです。高いパフォーマンス、高可用性、そして容易なスケーラビリティを備えており、「コレクション」と「ドキュメント」という概念に基づいて動作します。なお、執筆時点ではUbuntu 16.04向けの公式MongoDBパッケージはまだ提供されていませんでした。本記事では、UbuntuにMongoDBをインストールし、システム起動時にMongoDBサービスが自動的に開始されるよう設定する手順について解説します。
MongoDBリポジトリの追加
Ubuntuの標準パッケージリポジトリにもMongoDBは含まれていますが、公式のMongoDBリポジトリを利用することで、推奨された形で常に最新バージョンを入手できます。
まず、以下のコマンドを実行して、公式MongoDBリポジトリのGPGキーをインポートします。
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
実行すると、以下のような出力が表示されます。
Executing: /tmp/tmp.Qe1RFZgUh2/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 gpg: requesting key EA312927 from hkp server keyserver.ubuntu.com gpg: key EA312927: public key "MongoDB 3.2 Release Signing Key <packaging@mongodb.com>" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
続いて、以下のコマンドでMongoDBリポジトリを追加します。
$ sudo echo "deb https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
次に、以下のコマンドでパッケージリストを更新します。
$ sudo apt-get update
MongoDBのインストールと確認
以下のコマンドでMongoDBをインストールします。
$ sudo apt-get install -y --allow-unauthenticated mongodb-org
実行すると、以下のような出力が表示されます。
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: apport-hooks-elementary contractor javascript-common libgda-5.0-4 libgda-5.0-common libgranite-common libgranite3 libgsignon-glib1 libindicate5 libjs-jquery libnoise-core0 libtagc0 Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools The following NEW packages will be installed: mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools 0 upgraded, 5 newly installed, 0 to remove and 168 not upgraded. Need to get 47.4 MB of archives. After this operation, 218 MB of additional disk space will be used. Get:1 https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2/multiverse amd64 mongodb-org-shell amd64 3.2.6 [5,257 kB] Get:2 https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2/multiverse amd64 mongodb-org-server amd64 3.2.6 [9,541 kB] Get:3 https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2/multiverse amd64 mongodb-org-mongos amd64 3.2.6 [4,337 kB] ...................................................................................
Ubuntu 16.04でMongoDBをサービスとして正しく起動するには、サービスを記述したユニットファイルを追加で作成する必要があります。ユニットファイルとは、システムがリソースをどのように管理するかを定義するファイルのことです。最も一般的なユニットタイプは「service」であり、サービスの起動・停止の方法を決定します。
以下のように、mongodb.serviceという名前の設定ファイルを作成してユニットファイルをセットアップします。
$ sudo nano /etc/systemd/system/mongodb.service
次のコードを貼り付けて保存してください。
[Unit] Description=High-performance, schema-free document-oriented database After=network.target [Service] User=mongodb ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf [Install] WantedBy=multi-user.target
新しく作成したサービスを、systemctlコマンドを使って以下のように起動します。
$ sudo systemctl start mongodb
通常、このコマンドは何も出力を返しません。そこで、サービスが正しく起動しているかどうかを確認しましょう。以下のコマンドを実行します。
$ sudo systemctl status mongodb
実行すると、以下のような出力が表示されます。
mongodb.service - High-performance, schema-free document-oriented database Loaded: loaded (/etc/systemd/system/mongodb.service; disabled; vendor preset: Active: active (running) since Fri 2016-05-13 10:33:52 IST; 1min 48s ago Main PID: 7078 (mongod) Tasks: 16 (limit: 512) CGroup: /system.slice/mongodb.service └─7078 /usr/bin/mongod --quiet --config /etc/mongod.conf May 13 10:33:52 linux systemd[1]: Started High-performance, schema-free document lines 1-9/9 (END)
システム起動時にMongoDBが自動的に起動されるように設定するには、以下のコマンドを使用します。
$ sudo systemctl enable mongodb
実行すると、以下のような出力が表示されます。
Created symlink from /etc/systemd/system/multi-user.target.wants/mongodb.service to /etc/systemd/system/mongodb.service.
この記事を読み終える頃には、Ubuntu 16.04にMongoDBをインストールする方法をしっかり理解できているはずです。今後もLinuxに関する便利なテクニックやヒントをお届けしていきますので、ぜひお楽しみに!
-
UbuntuにPipをインストールする方法を徹底解説【Python 2/3対応】
Linuxには実に多くのパッケージマネージャーが存在します。Ubuntuにはaptが標準搭載されていますが、プログラミング言語の多くも独自のパッケージマネージャーを持っています。Node.jsにはnpm、Rubyにはgem、そしてPythonにはpipが用意されています。 Pipは「Python Installs Packages」の略で、Python Package Index(PyPI)からパッケージを簡単にインストールできるツールです。他のインデックスからインストールすることも可能ですが、通常必要となるパッケージの大半はPyPIで入手できます。pipを使ってパッケージを導入するには、ま
-
Windows 10 / 11 に Ubuntu をインストールする3つの方法【WSL・USB起動・仮想マシン】
Windows 10 や Windows 11 のパソコンで Ubuntu Linux を使ってみたいと思ったことはありませんか?この記事では、その手順を初心者の方にもわかりやすく解説します。 実は、Windows 上で Ubuntu をインストールして動かす方法はひとつだけではありません。本記事では、代表的な3つのアプローチをご紹介します。① Windows Subsystem for Linux(WSL)を使って Linux コマンドを実行する方法、② USB メモリから直接起動する方法、そして③ 仮想マシン(VM)上で動かす方法です。 それぞれの特徴と手順を順番に見ていきましょう。 方法