EC2でNode.js+MongoDB環境を作るまで

EC2でインスタンスを作成してから、Node.js+MongoDBの環境を構築するまでのメモ。

プロンプトが%になっているものはローカル、#はリモートのスーパーユーザ、$はリモートの一般ユーザで実行されたことをあらわす。

 

// EC2からダウンロードした秘密鍵を.sshディレクトリへ移動
% mv Downloads/xxx.pem .ssh/
 
 
// パーミッションの設定(読み出し可+書き込み可)
% chmod 600 .ssh/xxx.pem
 
 
// 秘密鍵を読むファイルを指定して、ssh接続
% ssh -i .ssh/xxx.pem ec2-user@ec2-xx-xxx-xxx-xx.ap-northeast-1.compute.amazonaws.com
 
 
// rootユーザに切り替え
$ sudo -s
 
 
// ID番号に20000を指定して、deployグループを作成
# groupadd -g 20000 deploy
 
 
// ID番号に19999を、グループに20000を指定して、deployユーザを作成
# useradd -u 19999 -g 20000 deploy
 
 
// deployユーザのパスワードを設定
# passwd deploy
 
 
// 環境変数を引き継ぎ、パスワードなしでsudoコマンドを実行可能に
# visudo
  + # Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
  + Defaults:deploy !env_reset
 
    ## Same thing without a password
    # %wheel  ALL=(ALL)       NOPASSWD: ALL
  + deploy  ALL=(ALL)       NOPASSWD: ALL
 
 
// deployユーザのホームディレクトリに、.sshディレクトリを作成して、authorized_keysファイルを作成
# cd /home/deploy
# mkdir .ssh
# touch .ssh/authorized_keys
 
 
// authorized_keysファイルを編集(自分の公開鍵を入力)
# vim .ssh/authorized_keys 
 
 
// .sshディレクトリの所有者をdeployユーザに変更
# chown -R deploy:deploy .ssh
 
 
// ディレクトリ.sshパーミッションをrwx------に変更
# chmod 700 .ssh
 
 
// ファイルauthorized_keysをrw-------に変更
# chmod 600 .ssh/authorized_keys
 
 
// 開発向けのパッケージをまとめてインストール
# yum -y groupinstall "Development Tools"
 
 
// deployユーザで入りなおす
% ssh deploy@ec2-xx-xxx-xxx-xx.ap-northeast-1.compute.amazonaws.com
 
 
// nodebrewインストール
$ curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup
 
 
// nodebrewへのパスを.bashrcに追加
$ vim .bashrc 
    # User specific aliases and functions
  + export PATH=$HOME/.nodebrew/current/bin:$PATH
 
 
// .bashrc読み込み
$ source .bashrc
 
 
// 安定版のnodeをインストール
$ nodebrew install stable
 
 
// 安定版のnodeを使用
$ nodebrew use stable
 
 
// npmをインストール
$ curl https://npmjs.org/install.sh | sh
 
 
// foreverをインストール
$ npm install forever -g
 
 
// 設定ファイル作成
$ sudo touch /etc/yum.repos.d/10gen.repo
 
 
// 10genリポジトリ追加
$ sudo vim /etc/yum.repos.d/10gen.repo
  + [10gen]
  + name=10gen Repository
  + baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
  + gpgcheck=0
  + enabled=0
 
 
// MongoDBをインストール
$ sudo yum install mongo-10gen mongo-10gen-server
 
 
// mongodのランレベルを設定
$ sudo chkconfig mongod on
 
 
// mongod起動
$ sudo service mongod start
 
 
// ホスト名を変更する
$ sudo hostname xxx.xxx.com
 
 
// ホスト名を変更する(再起動時に元に戻らないように)
$ sudo vim /etc/sysconfig/network
    NETWORKING=yes
  + HOSTNAME=xxx.xxx.com
 
 
// 一度再起動
$ sudo reboot
 
 
// デプロイ後forever起動
$ sudo PORT=80 forever start app.js