Readmine導入に挑戦
出典: Wikimura
Tracを導入してみたは良いものの、管理をするにはroot権限が必要だったり、基本的にシングルプロジェクトにしか対応して無かったりと、少々不満があった。 これらの機能があるらしいRedmineの導入に挑戦する。
目次 |
インストール
[1]を参考に、インストールする。
Rubyインストール
これまでインストールしていなかったので、Ruby一式をインストールする。 ProliantはAthron64 X2なので以下のようにする。
yum install ruby.x86_64 ruby-devel.x86_64 ruby-irb.x86_64 ruby-ri.x86_64 ruby-rdoc.x86_64 ruby-libs.x84_64
1.8.7インストール
データベースには、難しい設定がいらないらしいsqliteを使用したい。sqlite3-rubyというモジュールのインストールには、1.8.7以上が必要らしい。一方で、最新の1.9.1ではsoapモジュールに不具合があるらしい。ということで、 [2]ではredmine0.8.6を、Ruby1.8.7で動かすことを推奨している。
yumでは1.8.5しか提供されていない。そこで、1.8.7はソースからビルドすることにする。
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.bz2 tar xvf ruby-1.8.7-p174.tar.bz2 cd ruby-1.8.7-p174 ./configure --prefix=/usr/local/pkg/ruby-1.8.7 make make install
RubyGemsインストール
パッケージインストーラのRubyGemsをインストール。 ソースは[3]から最新版を持ってくる。
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz tar xvf rubygems-1.3.5.tgz cd rubygems-1.3.5 /usr/local/pkg/ruby-1.8.7/bin/ruby setup.rb
その他モジュールのインストール
gemコマンドを使用して、必要なモジュールをインストールする。
- rails: フレームワーク
- sqlite3-ruby: データベース操作用
- passenger: Apacheから実行するのに必要
Railsインストール
0.8.6ではRails 2.1.2を使用するらしい。最新ではないので以下のようにバージョンを指定してインストールする。
gem install -v=2.1.2 rails
Sqlite3-rubyインストール
これのインストールのために、Ruby 1.8.7が必要だった。
gem install sqlite3-ruby
Passengerインストール
Apache用モジュールを生成するため、apxsが必要。yumでapacheをインストールしたなら、以下でインストールしておく。
yum install httpd-devel
Passengerは[4]を参考にインストール。ビルド前に、apxsの場所とhttpdへのパスを張る必要がある。インストールが終わるとhttpd.confの設定方法が表示される。
export APXS=/usr/sbin/apxs
export PATH=/usr/sbin:$PATH
/usr/local/pkg/ruby-1.8.7/bin/passenger-install-apache2-module
--------------------------------------------
The Apache 2 module was successfully installed.
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/local/pkg/ruby-1.8.7/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/pkg/ruby-1.8.7/lib/ruby/gems/1.8/gems/passenger-2.2.5
PassengerRuby /usr/local/pkg/ruby-1.8.7/bin/ruby
--------------------------------------------
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>
Redmineインストール
http://redmine.jp/tech_note/install/
svn co http://redmine.rubyforge.org/svn/tags/0.8.6 ./RedmineSandbox cd RedmineSandbox rm `find . -name .svn` -r -f vi config/database.yml -------------------------------------------------------------------------------- production: adapter: sqlite3 dbfile: db/redmine.db timeout: 5000 -------------------------------------------------------------------------------- /usr/local/pkg/ruby-1.8.7/bin/rake db:migrate RAILS_ENV=production /usr/local/pkg/ruby-1.8.7/bin/rake load_default_data RAILS_ENV=production chown -R webmaster:apache ../RedmineSandbox chmod -R 770 ../RedmineSandbox
Apache設定
Passengerインストール時に出てきた設定例を参考に、Apache設定ファイルを編集する。 /etc/httpd/conf.d以下においた*.confは自動でインクルードされるので、redmine.confを作る。
vi /etc/httpd/conf.d/redmine.conf -------------------------------------------------------------------------------- LoadModule passenger_module /usr/local/pkg/ruby-1.8.7/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so PassengerRoot /usr/local/pkg/ruby-1.8.7/lib/ruby/gems/1.8/gems/passenger-2.2.5 PassengerRuby /usr/local/pkg/ruby-1.8.7/bin/ruby Listen 45000 <VirtualHost *:45000> DocumentRoot /usr/local/share/RedmineSandbox/public </VirtualHost> --------------------------------------------------------------------------------

