2009年6月30日火曜日

RedmineをPostgreSQLで

2010/07/20 CentOS5.5+PostgreSQL8.4.3+Redmine1.0RCをアップしました。
2010/07/20 PostgreSQL8.4.3インストールをアップしました。

PostgreSQLは既に構築されているものとします。
尚、ruby on Railsの構築およびRedmineのインストール等については、以前紹介したRedmine CentOSにインストールを参考にしてください。

環境:CentOS 5.3
   PostgreSQL 8.3.7
   Ruby 1.8.7
   Rubygems 1.3.4
   Rails 2.1.2
   Redmine 0.8.4

尚、PostgreSQL/Ruby/Rubygemsはソースからのインストールで/usr/local/src/で展開しています。

データベース:DB名 redmine
        DBユーザ redmine
        ユーザパスワード:redmine

●データベース
postgresql運用ユーザで作業します。(当環境ではpostgresというユーザ)
# su - postgres

Redmine用のデータベースユーザを新規作成します。
$ createuser -P redmine
 パスワードの設定
 Enter password for new role:パスワード入力(redmine)
 Enter it again:確認のためもう一回入力

 スーパーユーザにしますか?
 Shall the new role be a superuser? (y/n) n

 データベース作成を許可しますか?
 Shall the new role be allowed to create databases? (y/n) y

 新しいユーザの作成を許可しますか?
 Shall the new role be allowed to create more new roles? (y/n) n
 
空のデータベースを作成します。(UTF-8)
$ createdb redmine --owner redmine --encoding=UNICODE
PostgreSQL8.4以降の場合は以下のようにします。
$ createdb redmine --owner redmine --encoding=UNICODE --template=template0

●PostgreSQLアダプター
rootで作業をします。

pg_configへのpathを読み込む
# export PATH=$PATH:/usr/local/pgsql/bin (postgresqlのインストール先)
# gem install pg
Building native extensions. This could take a while...
Successfully installed pg-0.8.0
1 gem installed
Installing ri documentation for pg-0.8.0...
Installing RDoc documentation for pg-0.8.0...

pg (0.8.0)が存在するかチェックします。
# gem list

●接続設定
# vi /home/redmine/config/database.yml
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "redmine"

●スキーマの作成
# cd /home/redmine/
# rake --trace db:migrate RAILS_ENV="production"
(in /home/redmine)
rake aborted!
libiconv.so.2: cannot open shared object file: No such file or directory - /usr/local/lib/ruby/1.8/i686-linux/iconv.so
/home/redmine/Rakefile:10
(See full trace by running task with --trace)
何やら怒られてしまった。libiconv.so.2が存在しない?
--trace オプションを付けるとエラーが発生したときわかりやすいのでお勧め

rubyのソースからインストール

# cd /usr/local/src/ruby-1.8.7-p160/ext/iconv/ (rubyの展開ソース)
# ruby extconf.rb
checking for iconv() in iconv.h... no
checking for iconv() in -liconv... yes
checking for const of iconv() 2nd argument... no
creating Makefile
# make
# make install

もう一度
# cd /home/redmine/
# rake --trace db:migrate RAILS_ENV="production"
(in /home/redmine)
rake aborted!
no such file to load -- openssl

またダメだ。今度はssl?
# yum install openssl-devel (必要なので事前に入れておく)
# cd /usr/local/src/ruby-1.8.7-p160/ext/openssl/
# ruby extconf.rb


=== Checking done. ===


creating extconf.h
creating Makefile
Done.


# make
# make install

再度実行(今度はどうだ!)
# cd /home/redmine/
# rake --trace db:migrate RAILS_ENV="production"
今度は大丈夫なようです。これでテーブル等が作成されました。

●デフォルトデータ
# rake redmine:load_default_data RAILS_ENV="production"
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en]
ではjaを入力する。
 
データが作成されました。

以下省略

Ruby on Railsの構築はこちらを参照ください。(DBはMySQLですが)


 

0 件のコメント:

Google検索