Skip to content

Instantly share code, notes, and snippets.

@KitaitiMakoto
Created May 28, 2012 19:20
Show Gist options
  • Save KitaitiMakoto/2820783 to your computer and use it in GitHub Desktop.
Save KitaitiMakoto/2820783 to your computer and use it in GitHub Desktop.
Running Hiki on Sqale

RunningHiki

Sqale に Hiki をインストールする方法を説明します。

Hikiとは

Hiki とは、軽量でシンプルな Wiki エンジンです。はじめからついてくるプラグインに加え、簡単な Ruby スクリプトを書くことで自分のプラグインを作成することもできます。また、tDiary の豊富なテーマを流用することができます(後述します)。

以下、Sqale に Hikiを インストールして動かす方法を説明していきます。 「公開鍵の設定」から、鍵を登録しておいてください。

アプリケーションの作成

Sqale 上にアプリケーションを受け入れる「箱」を作ります。

Step. 1

Sqale にログインした状態で、ダッシュボードから「新規アプリケーションを作成」をクリックします。 dashboard

Step. 2

アプリケーション名を入力して、「作成する」をクリックします。ここでは「hikidashi」という名前で作ってみます。 new application

Step. 3

30秒ほど待って、画面をリロードすると、アプリケーションの各種情報が表示されます。 project information

ここの情報は、このあと何度か参照するので、表示したままにしておきましょう。

Git リポジトリーの取得

自分のマシンに Hiki のソースコードをクローンして Sqale 用に設定を書き換えます。

Step. 1

GitHub から Hiki の Sqale 用ブランチをクローンします。

git clone -b sqale git://github.com/KitaitiMakoto/hiki.git

Step. 2

設定ファイルを書き換えます。

cd hiki
cp hikiconf.rb.sample hikiconf.rb

コピーした hikiconf.rb をエディターで開いて、@rdbms_setting という所を書き換えます。

Sqale の「"hikidashi" 詳細」から「データベース接続情報」を表示し、そこにある

  • Database User を hikiconf.rb の @rdbms_setting'username' の所に、
  • Database Password を 'password' の所に、
  • Database Name を 'database' の所に、
  • Database Host を 'hostname' の所に

それぞれコピーします。

Step. 3

書き換えた設定ファイルをリポジトリーに含めます。

git add hikiconf.rb
git commit -m 'Add setting file'

デプロイ

いよいよ、Sqale にデプロイします。

Step. 1

Sqale 上の Git リポジトリーをリモートリポジトリーに追加します。

git remote add sqale ssh://[email protected]:2222/kitaitimakoto/hikidashi.git

ここで、ssh://... の所は「"hikidashi" 詳細」の Git の SSH の所を使ってください。

Step. 2

現在の sqale ブランチを、Sqale の master ブランチにプッシュします。

git push -f sqale sqale:master

SSH 鍵用のパスフレーズ入力を求められるので、設定した物を入力します。

Step. 3

Sqale の「"hikidashi" 詳細」画面をリロードすると

アプリケーション sample のビルドを開始しました(1分前)

と表示されるので、これが「ビルドが完了しました」「デプロイを開始しました」「デプロイが完了しました」となるまで数十秒置きにリロードします。

データベースのセットアップ

デプロイができたら、もう少しです。

Step. 1

Sqale に SSH でログインします。

「"hikidashi" 詳細」の SSH にあるコマンド(ssh -p 2222 [email protected])をターミナルにコピーして実行します。

二つ以上のアプリケーションを作成している場合には、それらが提示されるので、hikidashi の番号を入力します。すると、Sqale にログインできます。

Step. 2

データベースに Hiki の初期データを挿入します。

まず、アプリケーション用ディレクトリーに移動します。

cd current

次に、データ挿入用の Rake タスクを実行します(Rake を知らなくても、下記の通り入力すれば大丈夫です)。

bundle exec rake db:setup

いくつかの出力と共に(最後は Mysql::Error という物ですがこれも問題ありません)、データの挿入が終わります。「"hikidashi" 詳細」の URL 欄にあるリンクをクリックして、実際に動いている所を見てみましょう! Hiki working

Hiki のパスワード設定

Hiki を悪用されないように管理者用パスワードを設定します。

FrontPage の「使い始める前に」に書いてあるように、管理者用パスワードを設定してください。

画面に右上の「管理」をクリックして管理者用メニューを表示し、左サイドバーの「パスワード」をクリックすると、パスワードの設定画面になります。

「現在のパスワード」は空欄のまま、新しいパスワードを二度入力して「OK」を押してください。これでパスワードが設定されるので、以後、管理者としてログインしないことには Hiki の設定は行えなくなります(記事の執筆自体はでも可能です)。

テーマを増やす

tDiary のテーマを使えるようにします。

以上でインストールは終わりましたが、テーマ(スキン、見た目)が変更できないのは物足りないかも知れません。そういった人は、tDiary の豊富なテーマを拝借してきましょう。

Step. 1

tDiary のテーマをダウンロードします。GitHub にある物をクローンすることもできますし、公式サイトからダウンロードすることもできます。ここでは公式サイトからダウンロードすることにします。

wget http://www.tdiary.org/download/tdiary-theme-3.1.3.tar.gz
tar xvf tdiary-theme-3.1.3.tar.gz
cp -r tdiary-theme-3.1.3/* public/theme/

ダウンロードしてきたtarボールなどは不要なので、消してしまっていいでしょう。

rm tdiary-theme-3.1.3.tar.gz
rm -rf tdiary-theme-3.1.3

Step. 2

ダウンロードしたテーマをリポジトリーに含めます。

git add public/theme/
git commit -m "Add tDiary's themes"

Step. 3

テーマを Sqale にデプロイします。

git push -f sqale sqale:master

ダッシュボードで、デプロイ完了のアクティビティが表示されるまで、たまにリロードしながら待ちます。 デプロイが完了したら、管理者で Hiki にログインして、「管理」メニューを表示し、左側のリストから「表示設定」を選択します。

この表示設定画面で、「テーマディレクトリの指定」を public/theme に変更してから「OK」ボタンをクリックします。 theme directory

すると、「テーマの指定」の所にtDiary のテーマが追加されるので、お気に入りの物を選択しましょう。

Step. 4

テーマをプラグインで微調整します。

tDiary のテーマと Hiki のテーマはおおよそ互換性があるのですが、細かいところで気になる箇所もあると思います。これを調整するには、public/theme以下に追加したディレクトリーの中のCSSファイルを修正し、コミットして、Sqale にプッシュします。

その他に、ちょっとした修正であれば Hiki のプラグインで行うこともできます。

「管理」メニューの「プラグイン選択」画面で append-css.rb にチェックを入れて「OK」を押しましょう。 plugin selection

管理メニュー左側に「CSSの追加」という項目が追加されるので、クリックします。 CSS menu added

ここに CSS を書き込むことで、テーマを調整することができます。 textarea to add CSS

以上で Hiki のインストールは終了です。

それでは、楽しいウィキライフを!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment