Mongo Expressのインストール

2016年12月8日

はじめに

MongoDBをインストールしたけど、ブラウザ上から操作したいので、Mongo Expressをインストールする。
MySQLでいうphpMyAdminみたいなもの。
現在のMongo Expressのバージョンは、0.30.20 ( 2016/2/23現在 )。
このバージョンは、Node.js 4.0以上でないと動かないので、まずはNode.js 4.0以上をインストールするため、nvmをインストールする。

nvmとNode.jsのインストール

nvmとは、Node.jsの別バージョンをインストールするツール
せっかくなのでNode.jsも4.3.1をインストールする。

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash
$ source ~/.bashrc
$ nvm install 4.3.1
$ nvm use 4.3.1
$ node -v
v 4.3.1

Mongo Expressをインストール

Mongo Expressをnpmからインストールして、起動する。

$ npm install mongo-express
$ cd node_modules/mongo-express/
$ cp config.default.js config.js
$ node app.js
----------------------
Mongo Express server listening on port 8081 at localhost

この状態で、 http://localhost:8081にアクセスすると認証画面になるので

  • 名前:admin
  • パスワード:pass

を入れると、認証できる。ただ、このままだとlocalhostからしかアクセスできないので、config.jsを変更する。
sitehost名を変更する。
また認証のためのユーザ名とパスワードを変更する。

site: {
  // baseUrl: the URL that mongo express will be located at - Remember to add the forward   slash at the stard and end!
  baseUrl: '/',
  cookieKeyName: 'mongo-express',
  cookieSecret: process.env.ME_CONFIG_SITE_COOKIESECRET || 'cookiesecret',
  host: process.env.VCAP_APP_HOST || 'サイト名に変更',
  port: process.env.VCAP_APP_PORT || 8081, // 使用したいのポート
  requestSizeLimit: process.env.ME_CONFIG_REQUEST_SIZE || '50mb',
  sessionSecret: process.env.ME_CONFIG_SITE_SESSIONSECRET || 'sessionsecret',
  sslCert: process.env.ME_CONFIG_SITE_SSL_CRT_PATH || '',
  sslEnabled: process.env.ME_CONFIG_SITE_SSL_ENABLED || false,
  sslKey: process.env.ME_CONFIG_SITE_SSL_KEY_PATH || '',
},

basicAuth: {
  username: process.env.ME_CONFIG_BASICAUTH_USERNAME || 'admin', //ユーザー名の変更
  password: process.env.ME_CONFIG_BASICAUTH_PASSWORD || 'pass', // パスワードの変更
},

変更して、node app.jsのプロセスを再起動すると、設定が有効になっている。

Mongo Expressのデーモン化

Node.jsのアプリケーションをデーモン化するには、foreverを使用する。

$ npm install -g forever

その後、node app.jsのnodeをforeverに変更するだけでデーモン化して起動できる。

$ forever start app.js