mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

CentOS - Lokka インストール!

[ サーバ構築, ブログ ] [ Lokka, Ruby, WordPress ]

こんばんは。

Lokka とは、Ruby(Sinatra(軽量Rails)) 製の軽量な CMS です。 クラウド環境で利用される事も想定されている CMS です。 と言うか、クラウド環境の方が最適かもしれません。

可能なら当方の WordPress ブログを将来 Lokka に移行したいとも考えています。 今回は、Heroku(Rubyアプリケーションのクラウドプラットフォーム)へのインストールではなく、CentOS へのインストールを試みました。

作業記録

0. 前提条件

  • 動作確認した OS は VMwarePlayer 上の CentOS 6.2
  • Ruby インストール済み(当方は Ruby1.9.3-p0)
  • RubyGems パッケージ Bundler インストール済み
  • Git インストール済み
  • データベースは MySQL がインストール済みである(PostgreSQL, SQLite は使わない)
  • モードは Development を使用(Production, Test は使わない)

1. リポジトリ複製

Git リポジトリの複製をローカルに作成する。 (場合により、配置したいディレクトリへ移動する。当方は /var/www/ 配下に配置)

1
2
3
4
5
6
7
8
# cd /var/www
# git clone git://github.com/komagata/lokka.git
Initialized empty Git repository in /var/www/lokka/.git/
remote: Counting objects: 6088, done.
remote: Compressing objects: 100% (2595/2595), done.
remote: Total 6088 (delta 3461), reused 5821 (delta 3245)
Receiving objects: 100% (6088/6088), 5.49 MiB | 388 KiB/s, done.
Resolving deltas: 100% (3461/3461), done.

2. Lokka のインストール

bundle install を実行する。 その際、使用しないモード(Production, Test)・データベース(PostgreSQL, SQLite)を指定する。 また、bundle インストール先は “./vendor/bundler” とした。 ※ちなみに、Development を使用しないように設定すると、tapp がインストールされず rake でエラーになる。(Gemfile の production に gem ‘tapp’, ‘1.3.0’ を追加したらいいかも)

1
2
3
4
5
6
7
8
9
10
11
12
# cd lokka
# bundle install --path ./vendor/bundler --without production test postgresql sqlite
Fetching git://github.com/yayugu/dm-pagination.git
remote: Counting objects: 935, done.
remote: Compressing objects: 100% (443/443), done.
remote: Total 935 (delta 504), reused 874 (delta 468)

====< 途中省略 >====

Installing yard (0.7.5)
Installing yard-sinatra (1.0.0)
Your bundle is complete! It was installed into ./vendor/bundler

※Lokka の bundle インストール時、以下のような do_mysql が入っていない旨のエラーが発生する場合は、mysql-devel がインストールされていないので mysql-devel をインストールしてから再度 bundle install。

1
2
3
4
5
6
7
8
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native ExtensionBuildError.

====< 途中省略 >====

Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/bundler/gems/do-d7cb262d89a1/do_mysql for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/bundler/gems/do-d7cb262d89a1/do_mysql/ext/do_mysql/gem_make.out
An error occured while installing do_mysql (0.10.6), and Bundler cannot continue.
Make sure that `gem install do_mysql -v '0.10.6'` succeeds before bundling.

3. データベースの作成

今回使用する MySQL にデータベースが無いと後のビルドがうまくいかないので、データベースを作成しておく。 MySQL にログイン後、以下のコマンドを実行する。 データベース名は lokka とした。

1
create database lokka;

正式には Lokka 用データベースユーザを作成してそのユーザのみが接続できるようにした方がよいでしょう。

4. データベース設定ファイルの作成

database.default.yml をコピーして database.yml を作成し使用するデータベースにあわせて編集する。(データベース別の記述方法はコメントに記載してある)

1
2
3
4
5
6
7
8
9
10
# cp database.default.yml database.yml
# vi database.yml
production:
  dsn: <%= ENV['DATABASE_URL'] %>
development:
  # dsn: sqlite3://<%= root %>/db/development.sqlite3
  dsn: mysql://root:password@127.0.0.1/lokka
test:
  # dsn: <%= ENV['DATABASE_URL'] || "sqlite3://#{root}/db/test.sqlite3" %>
  dsn: <%= ENV['DATABASE_URL'] || "mysql://root:password@127.0.0.1/lokka"

5. ビルド

以下のコマンドでビルドする。

1
# bundle exec rake db:setup

6. 動作確認

以下のコマンドで Rackup してから、ブラウザから http://%EF%BC%9C%E3%82%B5%E3%83%BC%E3%83%90%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%EF%BC%9E:9292/ にアクセスして画面が表示されることを確認する。

1
# bundle exec rackup

CENTOS_LOKKA_1

CENTOS_LOKKA_2

後は、煮るなり焼くなり。。。

参考サイト

Windows, MacOS, Heroku へのインストール方法も記載されてます。 英語サイトと日本語サイトで若干記述の異なる部分もありますが問題ありませんでした。


一応 Rubyist の自分には、PHP 製の WordPress より扱いやすそうです。 それに動作が軽いです。

Ruby 製日記ツール tDiary、Ruby 製静的 CMS の nanoc も検討してましたが、WordPress からの移行は不可能に近いので断念しました。

Lokka についてはもう少し勉強して、可能なら WordPress から Lokka へ移行したいところです。 その前に、Sinatra の勉強かな?

以上。

Comments