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アカウントを作成したら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なのでモチベーション維持できるかなと期待笑