Railsのブログエンジンpublifyを使ってみた - インストール,デプロイまでのみちのり

最近,新しいブログを始めようと思ってエンジンを何使うか迷っていたところで,publifyというものを知ったので使ってみることにした.

github pagesで英語ブログを最近運用し始めたのだけど,jekyllは静的ページを作る感じのエンジンだし,今ちょうどRailsを勉強中なのでせっかくなら日本語のブログはpublifyで作ってみることにした.

結構たくさんエラーとか出たので誰かの役に立つかもしれないしメモしておくことにする.

参考にさせていただいたサイト

主にここを参考にさせていただきました.

Ruby on Rails を使った Blog エンジン Publify を Heroku で動かす - Qiita

publifyをclone

publifyのリポジトリをcloneしてきます

$ git clone https://github.com/publify/publify

そしたらリポジトリに入って初期化

$ git init 

次にheroku appを作成します.

$ heroku create YOUR_APP_NAME

AWS

AWSを使います.僕はAWS使うの初めてでした.

一定期間だけ無料で使えるのがあるので,それを登録しました.

AWSアカウントを作成したらIAMというものを作成してそのaccess keyとsecret access keyをherokuに設定.(IAMがどういうものなのかよくわかっていないまま笑)

access keyの取得の仕方はここを参照.

Getting Your Access Key ID and Secret Access Key - Amazon Simple Queue Service

$ heroku config:add provider=AWS
$ heroku config:add HEROKU=true 
$ heroku config:add aws_access_key_id=YOUR_AWS_ACCESS_KEY_ID 
$ heroku config:add aws_secret_access_key=YOUR_AWS_SECRET_ACCESS_KEY 

gemのインストール

次にgemをインストールしていきます.次のように環境変数をつけてbundle installを実行.

$ HEROKU=true bundle install

nokogiriのエラー出た.ググったら,下のようなコマンドでnokogiriをインストールしたら解決した.

$ sudo gem install nokogiri -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14

再度bundle installしようとしたけどまたエラー.今度はpg関連.ということでググったらpostgresqlをまずいれろと.そういえば新しいmacにしてからlocalにインストールしてなかったなーー

osx - Rails 3 - can't install pg gem - Stack Overflow

$ brew install postgresql

と思ったらまだエラー.どうやらpg_configのパスが間違ってるらしい.pg_configのある場所を確認してから指定してインストール試行.

$ which pg_config
$ sudo gem install pg -- --with-pg-config= 'PATH_TO_YOUR_PG_CONFIG'

でもここでもエラー.何が問題なのかよくわからないけどエラー文の

Can't find the PostgreSQL client library (libpq)

でググってやっとこさここで解決した.

ruby on rails - Can't find the PostgreSQL client library (libpq) - Stack Overflow

▶ sudo env ARCHFLAGS="-arch x86_64" gem install pg

もういちどgemいれようと試みる

$ bundle install

やっとやっとインストール関連のエラーを解決.長かった...

ということで.gitignoreからGemfile.lockを削除しておく.

herokuへpush

ついにherokuにデプロイしていく作業.

$ git add .
$ git commit -m "init"
$ git push heroku master

ここの最後でエラー.

The authenticity of host 'heroku.com (50.19.85.154)' can't be established.
RSA key fingerprint is 8b:48:5e:67:0e:c9:16:47:32:f2:87:0c:1f:c8:60:ad.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'heroku.com,50.19.85.154' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

herokuにkeyを登録していなかったので鍵認証できなかった模様.とうことでkeyをherokuに追加.

$ heroku keys:add

これでheokuが勝手にkeyを作ってくれる.herokuさまさまありがとう.ということで再びpushにチャレンジ

$ git push heroku master

今度こそ成功しました.

ということでheroku側のDBをrailsのmigrateファイルとseed(dbに入れるデータの初期化の設定をするファイル)に従って構築します.

$ heroku run rake db:migrate
$ heroku run rake db:seed

そしてherokuさんを再起動(dbを構築したら再起動しないといけないのかな?)

$ heroku restart

完了!!!!!

デプロイできたーーーー!!!うれしい!!!!

http://coding-diary-of-totz.herokuapp.com/

ということでこれからはバックでどんな感じで動いてるのか確かめながらいろいろいじってみる.

Railsなのでモチベーション維持できるかなと期待笑