herokuでRailsを使う話(初心者向けです)
(注意・OSはwindows7です。まだまだ私はプログラム初心者ですので、
下記記載が間違っている可能性があります。
ご注意ください。ご指摘いただけますと幸いです)
以前、プライベートではPHPを学び、いくつかのWebサービスを公開していたわけですが、
今所属している会社のメイン言語がRubyであり、フレームワークとしてRailsで、
僕自身、RubyとRailsを今後も勉強していくのが良いと思っており、
今のWebサービスをRailsベースに作り替えたいと思っていたわけです。
しかし、Railsを使えるサーバーというのが難しく、
今まで使っていたチカッパはRailsが使えなく、さらに新たに契約した
コアサーバーもいろいろやったすえに、僕の知識じゃRailsが使えなかったわけです。
(結局、fcgiが使えなく、挫折)
そんな途方にくれた中、会社の先輩の方にherokuというのがあるというお話を聞いたのです。
Heroku
https://heroku.com/
Ruby版PaaSの"Heroku"で無料Railsホスティング環境を手に入れよう - Social Change!
http://kuranuki.sonicgarden.jp/2009/05/rubypaasherokurails.html
ただ、いろいろやる前にgitが必要なわけです。
gitがなかったので、インストールしました。
WindowsでのGit環境構築とその注意点 - SourceForge.JP Magazine
http://sourceforge.jp/magazine/09/02/12/0530242
msysgitのほうをインストール
※「表1 msysgitのPATH環境変数設定」のところで、
Run Git from the Windows Command Promptを設定したけど、
コマンドプロンプトから使えなかった。。なんでだろ。
「図2 SSHクライアントの選択画面 」では
Use OpenSSHを選択。
そして先程のHeroku解説記事に戻って作業します。
(上級者の方は下記記事だけで大丈夫です。下記記事を読んで、
よくわからない方はこの記事で補足ください)
Ruby版PaaSの"Heroku"で無料Railsホスティング環境を手に入れよう - Social Change!
http://kuranuki.sonicgarden.jp/2009/05/rubypaasherokurails.html
各作業はwindowsのコマンドプロンプトではなく、
スタートメニューの「プログラム」−「Git」−「Git Bash」から作業。
・herokuコマンドをインストール
$ gem install heroku
・Railsアプリはすでにローカルでできていると仮定して、
(2)は省略
・次にアプリのディレクトリに移動
$ cd (Railsアプリのフォルダ)
・次にgitコマンドを順番に。
$ git init
$ git add .
$ git commit -m "new app"
・これでgitの用意ができたらしい(僕にはよくわかりません)。
・そしてheroku形式(?)にして、アップする
$ heroku create
・このとき、ログイン情報を聞かれるので、あらかじめ登録した
メアドとパスワードを入力。そのとき、
No ssh public key found in C:\Users\toshiyuki83/.ssh/id_[rd]sa.pub.
You may want to specify the full path to the keyfile.
・と聞かれると、SSHの公開鍵がないですよーというお知らせのようです。
(@kappe1982さんに教えていただきました)
・インストールしたgit guiを起動して、ヘルプ→SSHキーを表示で生成。
そのあとに先程の、$ heroku create これでできるはず。
・さあ、下記アカウントにアクセスすると、アップされているはずです。
http://api.heroku.com/myapps/
ということで、これは自分用メモなのですが、せっかくなので、僕と同じように困っているRails初心者の助けになればいいなと思います。
そんなわけで、以前作って、Railsに移行したWebサービスは↓こちら。
ただ、まだ未完成なところが多いので、ご容赦ください。
3 Size Search(スリーサイズ検索エンジン)
http://sharp-night-82.heroku.com/
次はこのWebサービスの改良と(改良するべきところがたくさんあるのです)、
ドメインの変更(できるはず…できるんだよね?)をしたら、正式公開アナウンスをして、リダイレクト処理をしたいと思います。