Abstract
いろいろな前提条件は昔の記事を見てください。
今回は、nodenvからnodeを導入したうえで、mongodbの導入をし、mongoを使用するnodeアプリケーションを動かせるような環境を整えます。
WSL2でUbuntu20.04を動かしています。
node導入
nodenvを入れる
anyenv install nodenv
シェルの再起動
exec $SHELL -l
確認
nodenv -v
nodeを入れる
nodenv install <VERSION>
nodenv local <VERSION>
確認
node -v
mongo導入
基本的には公式サイトを参考にしましょう。
gnupg
が入っていないと導入ができない(keyの追加ができない)ので、まだ入れてなければ入れます。
sudo apt-get install gnupg
keyの追加
以下のコマンドでkeyを追加します。
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
listの作成
Ubuntuのバージョンによって変わります。
Ubuntu20.04(Focal)の場合
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Ubuntu18.04(Bionic)の場合
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Ubuntu16.04(Xenial)の場合
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
リロードします
sudo apt-get update
mongoをインストール
sudo apt-get install -y mongodb-org
パーミッションの変更
以下2つのファイルのパーミッションを変更しておかないとroot以外のユーザーでMongoDBは起動できません。
sudo chmod 777 /var/lib/mongodb
sudo chmod 777 /var/log/mongodb
mongodbの起動
sudo mongod --fork --config /etc/mongod.conf
--fork
オプションは、バックグラウンドでの稼働をする場合には付けます。
ちなみに、Ubuntuの提供しているmongoではなく、mongodb-orgをインストールすると、service
コマンドで起動できないそうです。
公式ドキュメント通りにやると以下のようになります。
user@host:~$ sudo service mongod start
mongod: unrecognized service
mongoに接続
mongo
何か出てきたらたぶん成功です。
何か実行してみる
show dbs
終了
バックグラウンド稼働しているmongoを停止する場合には、プロセス自体を終了する必要があるので、まずpsでPIDを引いてきて、killします。
PIDを調べる
ps aux | grep -E '(%MEM|mongod)' | grep -v grep
kill
sudo kill <PID>
次回予告とバックナンバー
参考
Install MongoDB Community Edition on Ubuntu
Windows Subsystem for Linux(Ubuntu)にMongoDBをインストール @akabei
WSL (Ubuntu 16.04 TLS) に MongoDB をインストールする
serviceコマンドにてサービスを起動しようとすると「unrecognized service」(認識されていないサービスです)というエラーが出る