サイト移転のお知らせ

しばらくブログお休みしていましたが、こちらに移転しました。よろしければこちらへどうぞ。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Redmineのデータベースをsqliteに変えてみた

 過去記事さくらサーバにRedmine-1.3.2 + gateway.cgiを入れてみたでさくらサーバに入れたRedmineを使っていると、時々ブラウザデータ取得中のまま応答待ちになってしまい、キャンセル、リロードを繰り返すと正常に表示されるという現象が起きます。
 トップページなどではあまり起きず、設定変更などするときによく起きる気がします。
ひょっとして、さくらのmysqlサーバの応答が遅いのかな?ということで、利用するサーバをsqliteに変更してみました。
 結果、応答待ちになる現象が少なくなりました(たまたまアクセスが集中していただけかもしれませんが)。

以下、手順です。
 とりあえず、データベースの設定(config/database.yml)を変更します。
Redmine 0.8.5 on さくらサーバ構築まとめ - yu|<i.d.stack()を参考させていただきましたが、最後のtimeoutの意味はよくわかっていません。。。


production:
adapter: sqlite3
database: db/redmine.sqlite3
timeout: 5000

そして、DBのセットアップ

$ rake db:migrate RAILS_ENV="production"
(in /home/user/rails/redmine-1.3.2)
NOTE: SourceIndex.new(hash) is deprecated; From /home/user/rails/redmine-1.3.2/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100:in `new'.
Please install RDoc 2.4.2+ to generate documentation.
rake aborted!
no such file to load -- sqlite3

(See full trace by running task with --trace)

はい。失敗。
gemでsqliteを入れてみる。

$ gem install sqlite3-ruby
Fetching: sqlite3-1.3.5.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby18 extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'port install sqlite3 +universal'
or 'yum install sqlite-devel' and check your shared library search path (the
location where your sqlite3 shared library is located).
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/bin/ruby18
--with-sqlite3-dir
--without-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib
--enable-local
--disable-local


Gem files will remain installed in /home/user/local/lib/ruby/gem/gems/sqlite3-1.3.5 for inspection.
Results logged to /home/user/local/lib/ruby/gem/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.out


はい。これまた失敗。

では、sqliteはどこにあるのか?/usr/local/かな?

$ which sqlite3
/usr/local/bin/sqlite3
$ ls -l /usr/local/lib | grep sqlite
-rw-r--r-- 1 root wheel 602040 1 12 22:53 libsqlite3.a
-rwxr-xr-x 1 root wheel 943 1 12 22:53 libsqlite3.la
lrwxr-xr-x 1 root wheel 15 1 12 22:53 libsqlite3.so -> libsqlite3.so.8

やはりそうでした。
オプションを変えて、再度sqlite-rubyのインストールに挑戦。

$ gem install sqlite3-ruby -- --with-sqlite3-include=/usr/local/include --with-sqlite3-lib=/usr/local/lib
Building native extensions. This could take a while...
Fetching: sqlite3-ruby-1.3.3.gem (100%)

#######################################################

Hello! The sqlite3-ruby gem has changed it's name to just sqlite3. Rather than
installing `sqlite3-ruby`, you should install `sqlite3`. Please update your
dependencies accordingly.

Thanks from the Ruby sqlite3 team!

<3 <3 <3 <3

#######################################################

Successfully installed sqlite3-1.3.5
Successfully installed sqlite3-ruby-1.3.3
2 gems installed
Installing ri documentation for sqlite3-1.3.5...

No definition for libversion

Enclosing class/module 'mSqlite3' for class Statement not known
Installing ri documentation for sqlite3-ruby-1.3.3...
Installing RDoc documentation for sqlite3-1.3.5...

No definition for libversion

Enclosing class/module 'mSqlite3' for class Statement not known
Installing RDoc documentation for sqlite3-ruby-1.3.3...
$
$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.14)
actionpack (2.3.14)
activerecord (2.3.14)
activeresource (2.3.14)
activesupport (2.3.14)
deprecated (2.0.1)
fcgi (0.8.8)
i18n (0.4.2)
rack (1.1.3)
rails (2.3.14)
rake (0.8.7)
sources (0.0.2)
sqlite3 (1.3.5)
sqlite3-ruby (1.3.3)

よし。入ったっぽい。

改めて、DBのセットアップ

$ rake db:migrate RAILS_ENV="production"
(ここでたくさんログがでますが省略してます)
$ rake redmine:load_default_data RAILS_ENV="production"
(in /home/user/rails/redmine-1.3.2)
NOTE: SourceIndex.new(hash) is deprecated; From /home/user/rails/redmine-1.3.2/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100:in `new'.
Please install RDoc 2.4.2+ to generate documentation.

Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja
====================================
Default configuration data loaded.

プロンプトが出たらjaを選択。

で、ブラウザでアクセスしてみると、見事成功です。
関連記事
スポンサーサイト

テーマ : ツール・ソフトウェア
ジャンル : コンピュータ

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

まとめteみた【ITで何かできないかを考えてみる】

 過去記事さくらサーバにRedmine-1.3.2 gateway.cgiを入れてみたでさくらサーバに入れたRedmineを使っていると、時々ブラウザデータ取得中のまま応答待ちになってしまい、キャンセル、リロ

コメントの投稿

非公開コメント

サイト内検索
プロフィール

Author:imxs

Androidアプリ開発などを行っているimxsの開発者です。気になることを調べてメモって行きます。ほとんどの人にはどうでもいい内容でも、広い世の中一人くらいは同じ疑問を持った奇妙な人がいることを信じつつ。暖かい目で見守ってやってください。
imxsの開発者ブログは移転しました。よろしければこちらへどうぞ。

カテゴリ
最新記事
リンク
RSSリンクの表示
最新コメント
最新トラックバック
FC2カウンター
アクセスランキング
[ジャンルランキング]
携帯電話・PHS
156位
アクセスランキングを見る>>

[サブジャンルランキング]
Android(Google)
41位
アクセスランキングを見る>>
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。