色々見て回ったんですが、あまりにも途中途中が抜けていて、セットアップするのに時間がかかったので、順序を纏めます。
##1:VagrantにCentOSを入れる。
VMはVirtualBoxを今回使います。利用するLinuxは今回はCentOS6.5です。
詳細はこちらの方を見ていただくと良いと思います。
【参考】
VagrantをMacで動作させてみた
##2:MEAN環境の構築
MongoDB,Express,Angular.js,Node.jsで環境を作るのですが、そのままでやると後にYeoman + Herokuをやった時にエラーが出るので一部変更します。
先に、Rubyの最新版を入れます。一番確実なのが
Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう Michael Hartl (マイケル・ハートル)
の手順でやって下さい。CentOSでyumでrubyを入れてしまうと1.8.7しか入らないので確実にこの手順でやって下さい。ただし、選択するバイナリは2.0ではなく2.2.2を選んで下さい。また、Gitについてもyumでは入れず、後に説明する方法で入れて下さい。nodejsについても、v.0.10.36しか入らないので、yumでのセットアップではなく後述するnodebrewをつかって最新版のv0.12.4を入れて下さい。
途中、
$ sudo apt-get install libxslt-dev libxml2-dev libsqlite3-dev # Linuxのみ
とありますが、これはUbunts/Debianのやり方なのでCentOSではapt-getではなくyumを使って下さい。
$ sudo yum install libxslt-dev libxml2-dev libsqlite3-dev # Linuxのみ
Railsについては今回は使わないので入れなくても良いですが、おこのみでインストールして下さい。
Gitについてですが、1.7.1しか入らないので、最新版の2.4.3を入れるためには以下を参照して下さい。
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
$ wget https://www.kernel.org/pub/software/scm/git/git-2.4.3.tar.gz
$ tar -zxf git-2.4.3.tar.gz
$ cd git-2.4.3
$ make prefix=/usr/local all
$ make prefix=/usr/local install
$ git --version
ここまで終わったら、MEAN環境をVagrantで構築してみたの下準備まで進めます。
そしたら、CentOSのセキュリティアップデートまで終わっていると思いますが、nodejsは入れないで下さい。先ほどお伝えしたnodebrewで今後は管理していきます。
node.jsのversionを管理するためにnodebrewを利用する
今回はnpm installを使っていないので、やる必要ありませんが、今後更新したら必ず以下の手順を踏んで下さい。
これが済んだら、MongoDB、bower, Gruntを手順通りに入れていき、yoを入れて、angularJSのフルスタックフレームワークであるYeomanを動かします。
取り敢えずgrunt serveでLocalが見えれば成功です。
次にHerokuをインストールしていきます。他のキータの記載だとHerokuコマンドしか載っていないので事前準備がなく、Heroku toolbelt等のSDKや下準備が書いていないため、そのままやっても動きません。
そこは公式チュートリアル通りにやる必要があります。
まず、herokuにアクセスしSign upしましょう。管理画面に入れたら、SDKをインストールします。その際は以下の方の手順に従って下さい。
Vagrant 上の CentOS 6.5 から Heroku を使うには。
Herokuが無事インストールできたら、【Yeoman】generator-angular-fullstack を使って heroku にデプロイする方法を参照して進めて下さい。途中、mongohqのaddonが記載されていますが、これは$18/month掛かるものですので、課金があることにご注意下さい。
ここまで来ると、heroku openでも、自ら設定したxxx.heroku.comを開いてもアクセスできるはずです。
そしたら、今度はすぐ出来るangularJSや、月額840円掛かりますが攻略!AngularJSを見ながらやるも良し
- AngularJSリファレンス
- AngularJSアプリケーション開発ガイド
- シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA
- AngularJS アプリケーションプログラミング
を見てもいいと思います。また、公式のCodeSchoolを一つ一つやってもいいと思います。
Yeomanについては情報が足りないのでQiitaで補完するか@ITのあなたのWeb開発人生を変えるYeoman、Bower、Yoのインストールと使い方当たりを読んでもらうと良いかもしれません。海外にもYeomanの書籍は少ないですね。
ただ、Rails使いからするとfullstack Frameworkでscaffoldは使いやすいと思います。しかも一番面倒なOAuth部分をモジュール化している当たりが非常に嬉しいですね。
ということで、かなり依存関係が複雑な構成なのですが、この手順でやれば後は暗記する感じでやれると思います。
ぶっちゃけChef作ったほうが早いかなと思っているので、次はそっちで挑戦したいと思います。