■ 2012年09月27日 [メモ] Mac OS X 10.8 Server に Redmine をインストール
演習の進捗管理
演習の進捗管理に Redmine を使う必要があるか微妙に疑問だし, まだほんとにやるかどうかわからないけど, いっぺん提案してみようと思って Mac OS X Server にインストールしようとしたら, OS が 10.8 (Mountain Lion) になってて MySQL が使えず, いろいろハマったのでメモ. これで正しいのかどうかわからない. 多分, どこか間違ってる気がする.
参考
- Redmineのインストール | Redmine.JP
- RedmineInstallOSXServer - Redmine
- 磁力式駆動: プロジェクト管理ツールRedmineをSQLite3で利用する。
- Redmine を rbenv + ruby-build + bundler + sqlite3 で導入 / 構築する - AtAsAtAmAtArA
- Redmine設定メモ - Wikimura
rubygems の update
標準の rubygems はバージョンが古いみたいだったので最新版にする.
- sudo gem install rubygems-update
- sudo update_rubygems
gem -v でバージョンを確認しておく.
Passenger のインストール
- sodo gem install passenger
- sudo passenger-install-apache2-module
- Enter をタイプして先に進める
- 最後に次のような Apache の設定が表示されるのでコピーしておく (この内容は passenger-install-apache2-module --snippet で後で参照できる)
LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-3.0.17/ext/apache2/mod_passenger.so PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-3.0.17 PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
bundler のインストール
bundler を使うと必要な gem を選んでインストールしてくれるみたい.
- sudo gem install bundler
Redmine のソースを取得して展開
Web サーバの DocumentRoot 以外にインストールする. DocumentRoot は /etc/apache2/sites/0000_any_80_.conf などで設定されている.
- cd <どこか適当なところで>
- tar xzf redmine-2.*.*.tar.gz
Redmine で使う gem のインストール
Mountain Lion では MySQL が使えなくなったので, SQLite3 を使うことにする. PostgreSQL でもいいと思うけど.
- cd <Redmine のソースを展開した場所>
- bundle install --without development test postgresql mysql rmagick
ImageMagick くらい入れておいた方がいいかな.
database.yml ファイルの作成
- cp config/database.yml.example config/database.yml
- config/database.yml の編集
production: adapter: sqlite3 database: db/redmine.db
ディレクトリの作成
- mkdir public/plugin_assets
セッションストア秘密鍵の生成
- rake generate_secret_token
データベースにテーブルを作成
- rake db:migrate RAILS_ENV=production
テスト
WEBrick による Web サーバを起動してテストする.
- ruby script/rails server webrick -e production
- http://host:3000/ を開く. ユーザ名 / パスワードとも admin でログインできる.
- admin でログにしたら administration メニューで管理者アカウントを作成する.
- 作成した管理者アカウントでログインし直して admin を削除する.
うまく動いているようだったら WEBrick の Web サーバを Ctrl-C で止める.
DocumentRoot にリンクを張る
本当は Virtual Host を作って, その DocumentRoot にしたほうがいいのかもしれない.
- ln -s public <DocumentRoot の場所>/redmine
Apache の設定ファイルを作成する
Passenger の起動と RailsBaseURI の設定, アクセスコントロールなど.
/etc/apache2/passenger.conf
これは Redmine 2.1をCentOS 6.3にインストールする手順 | Redmine.JP Blog を参考にした.
# Passengerの基本設定。 # passenger-install-apache2-module --snippet を実行して表示される設定を使用。 # 環境によって設定値が異なりますので以下の3行はそのまま転記しないでください。 # LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-3.0.17/ext/apache2/mod_passenger.so PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-3.0.17 PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/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 RailsBaseURI /redmine
/etc/apache2/redmine.conf
redmine + passenger でのアクセス制限 - ihiro81's diary を参照のこと.
<Location /redmine> Order deny,allow Deny from all Allow from xxx.xxx.xxx.xxx </Location>
/etc/apache2/sites/0000_any_80_.conf
以下の設定を追加
- Include /etc/apache2/passenger.conf
- Include /etc/apache2/redmine.conf
Redmine の所有者の変更
Redmine を展開したディレクトリ以下の所有者を全部 Apache を実行しているユーザ (_www) に変更する. 多分, 全部変更する必要はないけど, files log tmp public/plugin_assets と db/* だけではだめだったので.
Apache の再起動
- sudo apachectl -k restart
Apache が 起動したら http://host/redmine/ を開く.
[Apache の設定ファイルを作成する]は十分ではないが、この手順に従って設定できました。参考になりました。
ありがとうございます.実際に使っている設定に書き換えました.