2012-06 / 2012-06-25

前のエントリ: win7にBitNami Redmine Stackを入れたら503エラーで動作しない [win]
次のエントリ: 鷹の祭典 vs西武ライオンズ@東京ドーム [diary]

ubuntu12.04(x64 server版)にRedmine2.0.3をインストール
2012-06-25-1 / カテゴリ: [ubuntu] / [permlink]

パッケージで入れば楽なんだけどubuntu公式は1.3.2だったのでソースから入れてみることにした。
rubyはaptでもインストールできるけど、gemを使って追加モジュールを入れたりすると管理が煩雑になるのでソースから入れた方がいいとアドバイスもらったのでrubyもソースから。

環境はApacheでpukiwikiが動いてる程度の環境がベース。

参考


Redmineパッケージのダウンロードと展開

http://www.redmine.jp/download/ からリリースバージョンをダウンロードして展開する。
うちは /var/local/redmine 以下で作業した
# wget http://rubyforge.org/frs/download.php/76259/redmine-2.0.3.tar.gz
# tar xf redmine-2.0.3.tar.gz


パッケージのインストール

動作に必要なパッケージおよび、ソースのビルドに必要なパッケージを入れる。
CentOSの手順の必要なパッケージのインストール以下参照

ビルド用開発パッケージ

# aptitude install make gcc g++ libncurses5-dev libgdbm-dev libssl-dev libyaml-dev libreadline-dev tk-dev zlib1g-dev

MySQLとヘッダファイル

# aptitude install mysql-server mysql-client libmysqld-dev
debconfでrootユーザのパスワードを聞かれるので登録しておく

Apacheのヘッダファイル

# aptitude install apache2-dev
Apache未インストールなら apache2 も入れる

ImageMagickとヘッダファイル

# aptitude install imagemagick libmagick-dev

Rubyのインストール

http://www.ruby-lang.org/ja/downloads/ から最新の安定版をダウンロードしてコンパイル&インストール。現在 ruby 1.9.3-p194
% wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz
% tar xf ruby-1.9.3-p194.tar.gz
% ./configure; make; sudo make install

Bundlerのインストール

ここからはこっちの手順参照

% sudo gem install bundler

必要なモジュールのインストール


Redmineのパッケージファイルを展開したGemFileのあるディレクトリで実行
% sudo bundle install --without development test

するとこんなエラーが出力された
Can't install RMagick 2.13.1. Can't find MagickWand.h.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1/ext/RMagick/gem_make.out
An error occured while installing rmagick (2.13.1), and Bundler cannot continue.
Make sure that `gem install rmagick -v '2.13.1'` succeeds before bundling.

ので必要なパッケージをaptで追加インストール
$ sudo aptitude install libmagickwand-dev

MySQLのセットアップ


プロンプトの起動
$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.24-0ubuntu0.12.04.1 (Ubuntu)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

DBの作成

mysql> create database redmine character set utf8;

ユーザ作成

mysql> create user 'redmine'@'localhost' identified by 'パスワード';
'パスワード'のところはアクセスに必要なパスワードを入れる

権限の付与

mysql> grant all privileges on redmine.* to 'redmine'@'localhost';

で quit で sql を抜ける。

設定ファイルの作成


Redmineを展開したディレクトリの config/database.yml.example を config/database.yml にコピーして中身を編集する。
# cp config/database.yml.example config/database.yml
# vi config/database.yml

中身はこんな感じ
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: パスワード
  encoding: utf8
パスワードはSQLのユーザ作成で指定したパスワードを記述する。

秘密鍵の生成

Redmineを展開したディレクトリの Rakefile ファイルがあるパスで
$ rake generate_secret_token

テーブルのセットアップとデータ登録

$ RAILS_ENV=production rake db:migrate
$ RAILS_ENV=production rake redmine:load_default_data

Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja
(言語設定聞かれたので ja にしておいたけど、どこに効果があるかよくわからんかった)

ディレクトリ作成

$ mkdir public/plugin_assets

WEBrickによるサーバ起動と確認

$ ruby script/rails server webrick -e production
これでアプリケーションが起動し、localhost:3000 にアクセスすればRedmineのページにアクセスできる。(終了はCtrl-c)

Passengerインストール

Apacheとの連携用。ここからはまたCentOS側の手順で。

$ sudo gem install passenger

Apacheo用モジュールのインストール
$ sudo passenger-install-apache2-module
Welcome to the Phusion Passenger Apache 2 module installer, v3.0.13.
 
This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.
 
Here's what you can expect from the installation process:
 
 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.
 
Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.
 
Press Enter to continue, or Ctrl-C to abort.
Enter押下で進めると
--------------------------------------------
 
Checking for required software...
 
 * GNU C++ compiler... found at /usr/bin/g++
 * Curl development headers with SSL support... not found
 * OpenSSL development headers... found
 * Zlib development headers... found
 * Ruby development headers... found
 * OpenSSL support for Ruby... found
 * RubyGems... found
 * Rake... found at /usr/local/bin/rake
 * rack... found
 * Apache 2... found at /usr/sbin/apache2
 * Apache 2 development headers... found at /usr/bin/apxs2
 * 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
 
Some required software is not installed.
But don't worry, this installer will tell you how to install them.
 
Press Enter to continue, or Ctrl-C to abort.
Installation instructions for required software
 
 * To install Curl development headers with SSL support:
   Please run apt-get install libcurl4-openssl-dev or libcurl4-gnutls-dev, whichever you prefer.
 
If the aforementioned instructions didn't solve your problem, then please take
a look at the Users Guide:
 
  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/doc/Users guide Apache.html
エラーになった。

必要なパッケージをaptで入れて再度実行するとEnter押下後コンパイルが始まる
$ sudo apt-get install libcurl4-openssl-dev
$ sudo passenger-install-apache2-module
:
checking for alloca.h... yes
checking for ruby/io.h... yes
creating Makefile
cd 'ext/ruby/ruby-1.9.3-x86_64-linux/' && make
compiling /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/ruby/passenger_native_support.c
linking shared-object passenger_native_support.so
 
--------------------------------------------
The Apache 2 module was successfully installed.
 
Please edit your Apache configuration file, and add these lines:
 
   LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/apache2/mod_passenger.so
   PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13
   PassengerRuby /usr/local/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.

Apacheの設定

conf.d 以下に設定ファイルを新規に作成する。

サーバワイドじゃなくて、特定のディレクトリ以下で動作させる設定の場合。(手順の「パターン2: サブディレクトリでRedmineを実行」の場合)
# cat /etc/apache2/conf.d/passenger.conf
# Passengerの基本設定。
# passenger-install-apache2-module --snippet を実行して表示される設定を使用。
# 環境によって設定値が異なりますので以下の3行はそのまま転記しないでください。
#
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13
PassengerRuby /usr/local/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
先頭の LoadModule, PassnegerRoot, PassengerRuby は、前述 passenger-install-apache2-module のインストール実行時の最後の出力のパスを指定する
末尾の RailsBaseURI には、Redmineを実行させたいパスを記述。

symlinkの追加

RedmineのパスはApacheのDocumentRootからのパスを見ているらしいので、前述RailsBaseURIと、DocumentRoot(デフォルトなら/var/www)のパスが一致するようにリンクを作成する
# ln -s /var/local/redmine/redmine-2.0.3/public /var/www/redmine
リンク先は redmine 直下でなくて、直下にあるpublicディレクトリなのに注意(ここでハマったw)

これでファイルのオーナをApache用にセットして、Apacheをリスタートして、(上記のRailsBaseURI設定なら) localhost/redmine にアクセスすればOK
# chown -R www-data:www-data /var/local/redmine/redmine-2.0.3/
# /etc/init.d/apache2 restart

あとはこちら
Redmineを使い始めるための初期設定
前のエントリ: win7にBitNami Redmine Stackを入れたら503エラーで動作しない [win]
次のエントリ: 鷹の祭典 vs西武ライオンズ@東京ドーム [diary]

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12