LoginSignup
2
2

More than 5 years have passed since last update.

MOGOKの上でOctopressを動かすまでの手順

Last updated at Posted at 2013-04-13

MOGOKのアカウントをとったものの、なんに使うか全く考えてなかったのでOctopressを動かしてみた。その時の作業記録。

できたもの:http://not-taihen.ruby.iijgio.com/

参考

環境

  • Mac OSX Mountain Lion(10.8.3)
  • rbenv
  • ruby 1.9.3-p194
  • bundlerインストール済み

MOGOKインストール

MOGOKのサイトからログインし、サイドメニューの「ダウンロード」からgemをダウンロードしてくる。ダウンロードしたgemをインストールする。

gem install mogok-1.0.3.gem

mogok --helpが動くか確認した。

Octopressインストール

Octopressのリポジトリをcloneしてくる。

git clone git://github.com/imathis/octopress.git
cd octopress

GemfileがそのままだとMOGOK上で動かないので次のように修正する。
この後の手順でエラーが出た1ので、色々やってみたけど参考URLを元にこれに落ち着いた。

gem "rails", ">= 3.0.0"
gem "sinatra", "1.3.4"

その後、次のコマンドでOctopressをインストールする。

bundle install
bundle exec rake install

ブログ設定

_config.ymlを編集して、ブログの情報を書く。
title, subtitle, author, descriptionを筆頭に色々。URLはそのまま。(目に付くやつをかたっぱしから変えたのでどれが必須とかはわからない……。)

HTML作成・起動

次のコマンドでHTMLを作成する。

bundle exec rake generate

_condig.ymlが文法的におかしいならここでエラーが出るので修正してリトライ。
問題なく終了したなら、public以下に生成したHTMLができる。
次に、下のコマンドを実行してローカルでOctopressを起動する。

bundle exec rackup

localhost:9292で起動するのでブラウザで確認する。

記事を作成・確認

記事の原稿(Markdown形式)はsource/_posts/以下にYYYY-MM-DD-タイトル.markdownというファイルで作成する。次のコマンドを実行すると、YAML front-matterを書いたファイルを作成してくれる。

bundle exec rake new_post

これだけ書くと、新しい記事のタイトルを聞いてくるので入力する。(ここでは"test-first"とした。)
多分普通は、下のようにタイトルを引数で指定して実行する。

bundle exec rake new_post["test-first"]

エスケープをよく忘れるので今回はしなかった。(エスケープするなら[に)

で、ここではsource/_posts/YYYY-MM-DD-test-first.markdownに記事を書く。
次に記事をHTMLで確認するんですが、さっきみたいにrake generateしてもいいんだけど、確認するだけなら次のコマンドでいける。

bundle exec rake preview

こうするとlocahost:4000で開ける。ファイルの変更に応じてHTMLも再生成する。

ここまでの変更をコミット

今までHTMLを作成してない(rake previewしかしてないとか)なら次を実行する。

bundle exec rake generate

まず.gitignoreを編集して、publicの行を削除する。そのあと今までの変更をコミット。(ここではmogokブランチにコミットする。)

git co -b mogok
git add public/
git commit -m "Add the first article"
git add _config.yml
git commit -m "Update my blog info"

(_config.ymlとpublic/のコミット順が逆だったり.gitignoreをコミットしてない。。)

MOGOKにログイン

(次に実行するmogok createでログインしようとしたけど入力ミスしまくったので先にログインだけした。なのでここは省いてもログインのタイミングが変わるだけで問題ないと思う。)

次のコマンドでインストールする。本来はすでに存在するアプリケーション名のリストを表示するコマンド。

mogok list

アプリ作成

MOGOKにアプリを作成する。(次のコマンドの"not-taihen"がアプリ名)

mogok create not-taihen

今回の場合、http://not-taihen.ruby.iijgio.com/ からアプリにアクセスできるようになった。ただし現時点だとMOGOKのアプリケーションサーバーが動いてないので、メンテナンス中とか出る。

名前はどのあたりまでユニークなのかわからないけど、少なくとも自分のアプリケーションの中でユニークならおk、というわけではなさそう。(URLを見る限り)

MOGOKにデプロイ

まず手元の変更をMOGOK上のリポジトリにpushする。

git push mogok mogok:master

MOGOKのアカウントとパスワードを聞かれるので入力する。これはpushする度に聞かれる。
pushが成功したら、次のコマンドでMOGOKでOctopressを実行できるようにする(パッケージを作成する)。

mogok build

最後。次のコマンドを入力すると、アプリケーションサーバーが動いてMOGOK上のOctopressにアクセスできるようになる。

mogok start

http://not-taihen.ruby.iijgio.com/ にアクセスすると、書いた記事が表示されているのが確認できる。

2回目以降

すでにMOGOKでOctopressが動いている場合。箇条書きで。今まで通り、rakeの実行には bundle exec を使っている。

  1. bundle exec rake new_post
  2. 文章を書く <-> bundle exec rake previewで確認
  3. bundle exec rake generate
  4. git add .
  5. git commit -m "…"
  6. git push mogok mogok:master
  7. mogok build

ここまで来たら、次のコマンドでアプリケーションサーバーを再起動する。

  1. mogok stop
  2. mogok start

mogok restartではいけなかった。(新しい記事が表示されなかった)

補足:情報表示

リポジトリやアプリケーションのURLなど、MOGOKの情報を表示するときに使うコマンド。

mogok info

デザインの変更

ここを参考に変更した。(メモ紛失。)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2