Redmine 1.2をMacにインストールしてみた
引っ越し関連のTODOを管理しようと思い、以前インストールしたまま埃をかぶっていたRedmineを引っ張りだしてみたところ、ローカル環境のRubyのバージョンが1.9になっていたりRailsのバージョンが3になっていたりしてまったく動かなくなっていたので、RVMを使ってRedmine用のgemsetを新しく作ってみました。そのときのメモです。
構築した環境
今回は下記のような環境を構築してみました。
Redmine | Redmine 1.2 |
OS | Mac OS X 10.6 |
データベース | SQLite |
Webサーバ | Apache |
Ruby | 1.8.7 |
Rails | 2.3.11 |
データベースは、設定が面倒くさいのでMySQLではなくSQLiteにしました。
Webサーバは、せっかくMacにはデフォルトでApacheが入っているので、MongrelではなくApacheを使うことにしました。
Redmine用のgemsetの作成
RVMを使ってRedmine用のgemsetを作成します。
$ rvm use ruby-1.8.7-p352 $ rvm gemset create redmine-1.2 $ rvm gemset use redmine-1.2
gemパッケージのインストール
Redmineのインストールに必要なgemパッケージをインストールします。
Rails 2.3.11のインストール
Redmine 1.2はRails 2.3.11でしか動かないので、Rails 2.3.11をインストールします。
$ gem install rails -v=2.3.11
gemsetにデフォルトで入っていたgemのバーションが1.8.10でしたが、Rails 2.3.11はgem 1.8未満でしか動かないらしいので*1、gemをダウングレードします。
利用可能なバーションを調べてみます。
$ gem search -rda ruby rubygems-update (1.8.11, 1.8.10, 1.8.9, 1.8.8, 1.8.7, 1.8.6, 1.8.5, 1.8.4, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1, 1.7.0, 1.6.2, 1.6.1, 1.6.0, 1.5.3, 1.5.2, 1.5.0, 1.4.2, 1.4.1, 1.4.0, 1.3.7, 1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.0, 1.1.1, 1.1.0, 1.0.1, 1.0.0, 0.9.5, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.11, 0.8.10, 0.8.8, 0.8.6, 0.8.5, 0.8.4, 0.8.3) Authors: Jim Weirich, Chad Fowler, Eric Hodel Rubyforge: http://rubyforge.org/projects/rubygems Homepage: http://rubygems.org RubyGems is a package management framework for Ruby
1.7系では1.7.2が最新のようなので、これをインストールします。
$ gem install rubygems-update -v=1.7.2 $ update_rubygems $ gem -v 1.7.2
Rack 1.1.1のインストール
Rack 1.1.1をインストールします。
Rails 2.3.11インストール時にいっしょにインストールされた1.1.2はアンインストールします。
$ gem install rack -v=1.1.1 $ gem uninstall rack -v=1.1.2
Rake 0.8.7のインストール
Rake 0.8.7をインストールします。
$ gem install rake -v=0.8.7
いつの間にか入っていたRake 0.9.2をアンインストールしようとしたところ、下記のエラーが発生しました。
$ gem uninstall rake -v=0.9.2 ERROR: While executing gem ... (Gem::InstallError) cannot uninstall, check `gem list -d rake`
いわれたとおりをgem list -d rakeを実行してみます。
$ gem list -d rake *** LOCAL GEMS *** rake (0.9.2, 0.8.7) Author: Jim Weirich Rubyforge: http://rubyforge.org/projects/rake Homepage: http://rake.rubyforge.org Installed at (0.9.2): /Users/<アカウント名>/.rvm/gems/ruby-1.8.7-p352@global (0.8.7): /Users/<アカウント名>/.rvm/gems/ruby-1.8.7-p352@redmine-1.2.1 Ruby based make-like utility.
どうやらRVMのglobalにインストールされているようです。
というわけで、gemsetをglobalに変更してから再度試してみたところ、無事アンインストール成功しました。
$ rvm gemset use global $ gem list $ gem uninstall rake
gemsetをもとに戻しておきます。
$ rvm gemset use redmine-1.2.1
Passengerのインストール
Passengerをインストールします。
$ gem install passenger
最終的なgemsetは下記のようになりました。
$ gem list *** LOCAL GEMS *** actionmailer (2.3.11) actionpack (2.3.11) activerecord (2.3.11) activeresource (2.3.11) activesupport (2.3.11) i18n (0.4.2) rack (1.1.1) rails (2.3.11) rake (0.8.7) rubygems-update (1.7.2) sqlite3 (1.3.4)
Redmineのインストール
今回はSVNのソースからインストールしました。
$ svn export http://redmine.rubyforge.org/svn/branches/1.2-stable/
Apache上で動作させるので、エクスポートしたソースを~/Sites配下に移動しておきます。
$ mv 1.2-stable ~/Sites/redmine
データベースの設定を行います。
$ cd ~/Sites/redmine/ $ cp config/database.yml.example config/database.yml $ cat config/database.yml production: adapter: sqlite3 database: db/production.sqlite3
セッションデータ暗号化用鍵の生成とテーブル作成を行います。
$ rake generate_session_store $ rake db:migrate RAILS_ENV=production
PassengerのApache用モジュールのインストール
インストーラを実行してPassengerのApache用モジュールをインストールします。
$ passenger-install-apache2-module
インストールが完了する下記のように表示されます。
あとでApacheに設定するのでコピペしておきます。
LoadModule passenger_module /Users/<アカウント名>/.rvm/gems/ruby-1.8.7-p352@redmine-1.2/gems/passenger-3.0.9/ext/apache2/mod_passenger.so PassengerRoot /Users/<アカウント名>/.rvm/gems/ruby-1.8.7-p352@redmine-1.2/gems/passenger-3.0.9 PassengerRuby /Users/<アカウント名>/.rvm/wrappers/ruby-1.8.7-p352@redmine-1.2/ruby
Apacheの設定
Passengerの設定の追加
/etc/apache2/other/passenger.confを作成し、下記設定を追加します。
設定内容は公式サイトを参考にしました。
# Passengerの基本設定。 # passenger-install-apache2-module --snippet を実行して表示される設定を使用。 # 環境によって設定値が異なりますので以下の3行はそのまま転記しないでください。 # LoadModule passenger_module /Users/<アカウント名>/.rvm/gems/ruby-1.8.7-p352@redmine-1.2/gems/passenger-3.0.9/ext/apache2/mod_passenger.so PassengerRoot /Users/<アカウント名>/.rvm/gems/ruby-1.8.7-p352@redmine-1.2/gems/passenger-3.0.9 PassengerRuby /Users/<アカウント名>/.rvm/wrappers/ruby-1.8.7-p352@redmine-1.2/ruby # Passengerが追加するHTTPヘッダを削除するための設定。 # Header always unset "X-Powered-By" Header always unset "X-Rack-Cache" Header always unset "X-Content-Digest" Header always unset "X-Runtime" # 必要に応じてPassengerのチューニングのための設定を追加。 # PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 3600 PassengerUseGlobalQueue on PassengerHighPerformance on PassengerStatThrottleRate 10 RailsSpawnMethod smart RailsAppSpawnerIdleTime 86400 RailsFrameworkSpawnerIdleTime 0
バーチャルホストの設定の追加
/etc/apache2/httpd.confを下記のように編集し、バーチャルホストの設定を有効にします。
$ diff httpd.conf httpd.conf.org 465c465 < Include /private/etc/apache2/extra/httpd-vhosts.conf --- > #Include /private/etc/apache2/extra/httpd-vhosts.conf
/etc/apache2/extra/httpd-vhosts.confの最後に下記設定を追記します。
<VirtualHost *:80> DocumentRoot /Users/<アカウント名>/Sites/redmine/public ServerName myredmine.example.com </VirtualHost>
/etc/hostsにMacのIPアドレス(僕の場合は192.168.1.4)を追記します。
192.168.1.4 myredmine.example.com
Apacheの再起動後、ブラウザでhttp://myredmine.example.comにアクセスするとRedmineのトップ画面が表示されました。満足。
あれ、引っ越しのTODOが1つも終わってない…。