Home > Linux | Redmine | プロジェクト管理 > サクッとCentOS 5.3にRedmine + Passenger環境をインストール

サクッとCentOS 5.3にRedmine + Passenger環境をインストール このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク

※ CentOS 5.4 + Redmine 0.9.1でも下記手順でインストール出来ることを確認しました。Redmine 0.9.0 release candidate をCentOS 5.4にインストールの記事も併せて参考にしてください。

こちらに本記事よりも新しい環境でインストールした記事を書き直しました。DBはMySQLからPostgreSQLに変更しています。本記事の焼き直しですが、併せて参考にしてください。

はじめまして。
shirotterと申します。

まだ立ち上げたばかりのサクッとly.comですが、今後ちょくちょくと技術的なメモを主に掲載していく予定なので、興味のある方はたまに覗いてやってください。

今回はLinuxをロクに扱えない僕でも、どうにか一人でCentOSRedmineをインストールすることが出来たので、ここにその手順をサクッとではなく、なるべく丁寧に載せていきたいと思います。

Redmineのインストール手順

CentOSRedmine + MySQL + Passenger環境をインストールする手順は下記のようになります。

  1. 事前の準備
  2. MySQLのインストール
  3. Ruby のソースからのインストール
  4. Redmineのインストールと初期データの作成
  5. Passengerのインストールとapacheの設定

Redmineのインストール環境

今回のインストール環境は以下のようになっています。

OS CentOS 5.3 x64
DB MySQL
HTTPサーバ apache + Passenger
Redmineのインストール先 /home/redmine

CentOS 5.3の64bit版は2009年4月25日現在では最新のもので、

# yum -y update

をインストール後に行っただけの身も心も綺麗な状態です。

特に32bit版とインストール手順は大差ないと思いますが、64bit版に入れようとしてうまくいかない方の参考になればと思います。

インストール開始

それでは、
長い前置きよりも更に長いインストール手順の紹介にいきたいと思います。

事前の準備

まずは、ソースのコンパイル時に必須となるgccのインストールです。

# yum -y install gcc

ついでに最初に他に必要になってくるものもインストールしちゃいます。

# yum -y install kernel-devel zlib-devel openssl-devel

MySQLのインストール

DBにはMySQLを使用するのでインストールします。

# yum -y install mysql-server
# mysql --version
mysql  Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (x86_64) using readline 5.0

MySQLの設定の初期設定を行います。

# cp -p /usr/share/mysql/my-medium.cnf /etc/my.cnf        <---- my-xxxx.cnfは使用する環境に合わせてsmall?hugeに変更してください
# vi /etc/my.cnf

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
    ? 略 ?
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-character-set = utf8        <---- 追加。デフォルトの文字コードをUTF-8にします

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set = utf8        <---- ここにも追加。デフォルトの文字コードをUTF-8にします。

デフォルトの文字コードをUTF-8にするのは必須ではありません。
DB作成時に文字コードを指定してやれば良いはずです。

初期設定はこれくらいでMySQLを起動します。
ついでにOS起動時にMySQLが起動されるようにも設定します。

# /etc/rc.d/init.d/mysqld start
# chkconfig mysqld on
# chkconfig --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

ここからはMySQLにログインして設定。

# mysql -u root
mysql> select user, host, password from mysql.user;
+------+-----------------------+----------+
| user | host                  | password |
+------+-----------------------+----------+
| root | localhost             |          |
| root | localhost.localdomain |          |
| root | 127.0.0.1             |          |
+------+-----------------------+----------+
3 rows in set (0.00 sec)

MySQLのrootユーザにパスワードを設定します
mysql> set password for root@localhost=password('パスワード');
mysql> set password for root@'localhost.localdomain'=password('パスワード');
mysql> set password for root@127.0.0.1=password('パスワード');

パスワードが設定されているか確認します。
mysql> select user, host, password from mysql.user;

+------+-----------------------+-------------------------------------------+
| user | host                  | password                                  |
+------+-----------------------+-------------------------------------------+
| root | localhost             | *ハッシュ化されたパスワード               |
| root | localhost.localdomain | *ハッシュ化されたパスワード               |
| root | 127.0.0.1             | *ハッシュ化されたパスワード               |
+------+-----------------------+-------------------------------------------+
3 rows in set (0.00 sec)

redmineユーザを作成します。
mysql> grant all on *.* to redmine@"localhost"identified by 'redmineユーザパスワード';        <---- root権限を持たせちゃってます
こちらのコマンドでもいける模様。お好きな方をどうぞ♪
mysql> grant all privileges on redmine.* to redmine@localhost identified by 'redmineユーザパスワード';
Query OK, 0 rows affected (0.01 sec)

mysql> exit

rootユーザからログアウトして、redmineユーザで再度ログイン
# mysql -u redmine -p
Enter password: xxxxxx(redmineパスワード)

Redmine用のDBを作成
mysql> create database redmine;
Query OK, 1 row affected (0.00 sec)

DBが出来ているか確認
mysql> show create database redmine;

+----------+------------------------------------------------------------------+
| Database | Create Database                                                  |
+----------+------------------------------------------------------------------+
| redmine  | CREATE DATABASE `redmine` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> exit

これでMySQLの設定(Redmine用のDBの作成)は終わり。
ここらで疲れてはいけません。
まだまだスタートラインに立ったばかりです。

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

では本題に入っていきましょう。

まずは、
Rubyのインストールです。
最新版はここからURLを取得してください。

# cd /usr/local/src/
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p160.tar.gz
# tar xzvf ruby-1.8.7-p160.tar.gz
# cd ruby-1.8.7-p160
# ./configure --prefix=/usr
# make
# make test
test succeeded        <---- makeが成功しているか確かめましょう!!
# make install
# ruby -v
ruby 1.8.7 (2009-04-08 patchlevel 160) [x86_64-linux]

これでRubyはインストール出来ました。

次にRubyGemsのインストールです。
最新版はここからURLを取得してください。

# cd /usr/local/src
# wget http://rubyforge.org/frs/?group_id=126&release_id=33411
# tar xzvf rubygems-1.3.2.tgz
# cd rubygems-1.3.2
# ruby setup.rb
# gem -v
1.3.2

簡単ですね。
そして、Ruby on Railsのインストールとなります。

# gem update --system
# gem install rails --include-dependencies
# rails -v
Rails 2.3.2

Ruby関連のインストールは全て終わりました。

Redmineのインストールと初期データの作成

いよいよRedmineの登場です!!
僕は”/home/redmine”にインストールしますが、好みに合わせて変更してください。

# mkdir /home/redmine/
# cd /usr/local/src/
# wget http://rubyforge.org/frs/download.php/54503/redmine-0.8.3.tar.gz
# tar xzvf redmine-0.8.3.tar.gz
# cp -rp redmine-0.8.3/* /home/redmine/

RedmineのDBスキーマ作成と初期データの登録
# cd /home/redmine/config
# cp -p database.yml.example database.yml
# vi database.yml

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: root
  password:
  encoding: utf8

を以下のように変更

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: redmineユーザパスワード
  encoding: utf8
  socket: /var/lib/mysql/mysql.sock        <---- 追加するのを忘れずに!!

スキーマの作成
# rake db:migrate RAILS_ENV="production"

初期データの登録
# rake 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

これでRedmineのインストール自体は終了です。

※ スキーマの作成でエラーが出る場合には、Redmine 0.9.0 release candidate をCentOS 5.4にインストールを参考にしてみてください。

試しにRedmineを起動してアクセス出来るか試してみましょう!!

# cd /home/redmine/
# script/server -e production
=> Booting WEBrick...
=> Rails 2.1.2 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options

3000番ポートで起動されているので、
http://localhost:3000/ (ホスト名は適切なものに変更してください)
にブラウザからアクセスしてみます。

すると、

RedmineのTOPページ

RedmineのTOPページ

このような画面が表示されるはずです。

デフォルトでは、

ログイン : admin
パスワード : admin

でログイン出来ます。

ログイン出来たら、すでにRedmineを使うことが出来るようになっています。
Redmineを終了するには「Ctrl + C」キーを押します。

Passengerのインストールとapacheの設定

これで一通りの作業は終わりましたが、いちいち3000番ポートにアクセスしないといけないのは嫌なので、apache上で動くように設定することにします。

apache上で動くようにするには、Mongrelというものが有名だそうですが、最近はPassengerというものがオススメみたいなので今回はPassengerと連携させることにします。

Mongrelに対するPassengerのメリットはこちらを参照してください。

ではPassengerのインストールを行います。
まずは必要となるものをインストールします。

# yum -y install httpd-devel gcc-c++ apr-devel

Passengerをインストールします。
# gem install passenger
# passenger-install-apache2-module

Press Enter to continue, or Ctrl-C to abort.
と言われるのでEnterを押して続行します。

すると、

--------------------------------------------

Checking for required software...

 * GNU C++ compiler... found at /usr/bin/g++
 * Ruby development headers... found
 * OpenSSL support for Ruby... found
 * RubyGems... found
 * Rake... found at /usr/bin/rake
 * Apache 2... found at /usr/sbin/httpd
 * Apache 2 development headers... found at /usr/sbin/apxs
 * fastthread... found
 * Apache Portable Runtime (APR) development headers... found at /usr/bin/apr-1-config
 * Apache Portable Runtime Utility (APU) development headers... found at /usr/bin/apu-1-config

--------------------------------------------

というようなものが表示されます。

これは必要なモジュールが揃っている状態の表示ですが、何か1つでもモジュールが不足しているとこの画面で怒られちゃいます。
(でも、必要なモジュールのインストール方法を後で教えてくれるツンデレ仕様 :-) )

--------------------------------------------
The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1/ext/apache2/mod_passenger.so
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1
   PassengerRuby /usr/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

Press ENTER to continue.

こんな画面が表示されて一端止まります。

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1
PassengerRuby /usr/bin/ruby

の部分は後で必要になってくるので、
どこかにメモを取っておく必要があります。

メモを取ったらEnter

--------------------------------------------
Deploying a Ruby on Rails application: an example

Suppose you have a Ruby on Rails application in /somewhere. Add a virtual host
to your Apache configuration file, and set its DocumentRoot to
/somewhere/public, like this:

   <VirtualHost *:80>
      ServerName www.yourhost.com
      DocumentRoot /somewhere/public    # <-- be sure to point to 'public'!
   </VirtualHost>

And that's it! You may also want to check the Users Guide for security and
optimization tips and other useful information:

  /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1/doc/Users guide Apache.html

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-) 

http://www.modrails.com/

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.

そして、こんな表示になって終了します。

ここでも

<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
</VirtualHost>

の部分をメモに取っておきましょう。

メモを取った内容を参考にapacheの設定を行います。

まずはpassenger用の設定ファイルを用意します。

# cd /etc/httpd/conf.d/
新規にconfファイルを作成
# vi passenger.conf
   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1/ext/apache2/mod_passenger.so
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1
   PassengerRuby /usr/bin/ruby

次にhttpd.confの設定です。

# cd /etc/httpd/conf
# vi httpd.conf
以下を末尾に追加

   <VirtualHost *:80>
      ServerName ホスト名(分からない場合はIPを直に入れてしまえ!!)
      DocumentRoot /home/redmine/public        <---- publicディレクトリを指定すること!!
   </VirtualHost>

残るはRedmineのファイルのパーミッションの設定のみです。

# cd /home/redmine
# chown -R apache:apache files log tmp config/environment.rb

あとはapacheを起動してみましょう。

# /etc/rc.d/init.d/httpd start

これで、
http://(httpd.confに入れたホスト名)/
にアクセスすればRedmineに繋がるはずです。

Redmineのインストール作業は以上となります。
それではRedmineを使い倒してください。

使用したソフトウェアのバージョン

CentOS 5.3 x64 5.4 x64
MySQL 5.0.45 5.0.77
Ruby 1.8.7-p-160 1.8.7-p-248
RubyGems 1.3.2 1.3.5
Ruby on Rails 2.3.2 2.3.5
Redmine 0.8.3 0.9.1
apache 2.2.3-22 2.2.3-31
Passenger 2.2.1 2.2.9

参考文献

Comments:0

Comment Form
Remember personal info

コメントリンクを nofollow free に設定することも出来ます。

Trackbacks:5

Trackback URL for this entry
http://www.sakuttoly.com/blog/2009/04/redmine_passenger_centos.html/trackback
Listed below are links to weblogs that reference
サクッとCentOS 5.3にRedmine + Passenger環境をインストール from サクっとly.com
pingback from サクっとly.com - さくらインターネットでのSubversion運用と、Eclipse+Subversiveからの鍵交換方式sshの接続設定と、RedmineとSuversion連携を行う 09-07-26 (日) 3:40

[...] バのCentOS上にインストール済みです。 Redmineのインストールから稼働までについては、当ブログの以前の記事サクッとCentOS 5.3にRedmine + Passenger環境をインストールを参考にしてください。 [...]

pingback from Leopard環境でRails+Apacheで動かす – OHZATO.com MEMOLOG 09-09-01 (火) 17:12

[...] http://www.sakuttoly.com/blog/2009/04/redmine_passenger_centos.html [...]

pingback from Redmineインストール – OHZATO.com MEMOLOG 09-11-21 (土) 5:26

[...] 参考サイト http://www.sakuttoly.com/blog/2009/04/redmine_passenger_centos.html http://wiki.jwds.jp/index.php?Redmine%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%ABmemo [...]

pingback from サクっとly.com - Redmine 0.9.0 release candidate をCentOS 5.4にインストール 10-01-24 (日) 16:15

[...] CentOS 5.4 に Redmine 0.9.0 release candidate を、サクッとCentOS 5.3にRedmine + Passenger環境をインストールの手順でインストールしてみたら、何点かハマったのでこちらに解決法を書いておきます。 [...]

pingback from ぼるねっと » CentOS 5.5 + redmine 10-07-07 (水) 12:55

[...] CentOS 5.5 x86_64 ※まだ作りかけ+未整理 参考サイト http://www.sakuttoly.com/blog/2009/04/redmine_passenger_centos.html ******************************************************************************** 前提?のクリア (こ [...]

Home > Linux | Redmine | プロジェクト管理 > サクッとCentOS 5.3にRedmine + Passenger環境をインストール

ページ
アーカイブ
商品を検索
kubomaのオススメ書籍
メタ情報

Return to page top