Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

Redmine3.1.0をRaspberryPi2にインストールする

Redmine3.1.0をRaspberryPi2にインストールしてみた(*´∀`)ノ

以前、RaspberrypPiにredmineをセットアップしたのですが、apt-getからセットアップするとバージョンが1.4.4になってしまいます。
現時点での最新バージョンは3.1.0です。
新しいものが必ずしも良いとも思いませんが、まぁ気になりまして(´д`ι)、趣味で使っている状況ですので、試しに3.1.0をインストールする方法を探ってみました。
結果、思ったよりもストレスなく動作しましたので、ここにセットアップ手順を残そうと思います。

環境

項目 バージョン 備考
OS raspbian-wheezy  
DB MySQL5.5.41 apt-getでインストール
Ruby 1.9.3p194 初期状態でインストールされている
ImageMagick ImageMagick apt-getでインストール
bundler bundler gemでインストール
Apache Apache2.2 apt-getでインストール
passenger passenger gemでインストール

目次

  1. Redmineのダウンロード
  2. セットアップに必要なライブラリをインストール
  3. ImageMagickをインストール
  4. Rubyのバージョン確認
  5. MySQLをインストール
    1. MySQLのrootパスワード設定
    2. RubyからMySQLを操作するためのライブラリをインストール
  6. その他Ruby用のライブラリをインストール
    1. bundlerをインストール
    2. bundlerによるRuby用ライブラリインストール
  7. データベース接続設定ファイルの作成
  8. データベースのセットアップ(MySQL)
    1. データベース作成
    2. 初期データをデータベースに反映
  9. Webサーバーのセットアップ
    1. Apache2のインストール
    2. モジュールのセットアップ
    3. Apache2の設定にRedmine用の物を追加
    4. VirtualHost設定にRedmine用の記述を追加
    5. ドキュメントルートにredmineディレクトリのシンボリックリンクを作成
  10. Redmine動作のためパーミッションを変更
  11. Apache2を起動する
  12. Redmine起動確認

Redmineのダウンロード

本家から目的の圧縮ファイルをダウンロードします。
ダウンロードした圧縮ファイルを解凍し、名前をredmineに変えて/var/optに移動します。
Linuxのディレクトリ構成ルールに従って考え、/var/optに配置することに決定

$ wget "http://www.redmine.org/releases/redmine-3.1.0.tar.gz" 
$ tar zxvf tar zxvf ./redmine-3.1.0.tar.gz
$ sudo mv ./redmine-3.1.0 /var/opt/redmine
$ cd /var/opt

■セットアップに必要なライブラリをインストール

セットアップに必要なライブラリをapt-getコマンドでインストール。
すでに導入されている場合は必要なし。

$ sudo apt-get -y install git make g++
$ sudo apt-get -y install libssl-dev libreadline-gplv2-dev zlib1g-dev libyaml-dev
$ sudo apt-get -y install build-essential curl

ImageMagickをインストール

Redmineで画像を扱う処理を行うために、ImageMagickをインストール

$ sudo apt-get -y install imagemagick libmagickcore-dev libmagickwand-dev

Rubyのバージョン確認

セットアップに必要なRubyのバージョンについては本家に記載されています。
http://redmine.jp/guide/RedmineInstall/

current trunk ruby 1.9.3, 2.0.0, 2.1, jruby-1.7.6

となっています。

$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [arm-linux-eabihf]

上記の通り、確認結果は動作するRubyのバージョンと一致しているので、無理にバージョンアップせずに利用することとします。

MySQLをインストール

こちらも本家を確認すると、「MySQL5.0以上を推奨」とありますので、apt-getコマンドでインストールできるバージョンを利用します。

$ sudo apt-get -y install mysql-server
$ sudo apt-get install -y libmysqlclient-dev
MySQLのrootパスワード設定

MySQLインストールの過程で、rootのパスワード入力を求められるので、任意のパスワードを入力。
※忘れないように注意!!

RubyからMySQLを操作するためのライブラリをインストール

RubyからMySQLを操作するためのライブラリをインストール。

$ sudo apt-get install ruby-dev 
$ sudo gem install mysql2

■その他Ruby用のライブラリをインストール

bundlerを利用し、redmineに必要なライブラリを一括インストールします。

・bundlerをインストール
$ cd /var/opt/redmine
$ sudo gem install bundler --no-rdoc --no-ri
・bundlerによるRuby用ライブラリインストール

コマンド実行後、端末上にインストール中の項目が流れます。
終了するまで待ちます。

$ cd /var/opt/redmine
$ sudo bundle install --without development test

もしも、途中でエラーになった場合、端末に表示されるエラー内容を確認し必要なソフトウェアをapt-get等でインストールします。
必要なアプリケーションをインストールした後、再び「sudo bundle install --without development test」を実行します。
エラーなく完了するまで「sudo bundle install --without development test」を繰り返します。

■データベース接続設定ファイルの作成

redmineが利用するデータベース接続情報を、configファイルに記載します。
configファイルは新規作成します。

$ cd /var/opt/redmine 
$ sudo vi config/database.yml

設定ファイルの内容

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: my_password

■データベースのセットアップ(MySQL)

前項で作成したymlファイルに記載したdatabase、username、passwordと同じ情報を指定してデータベースを作成します。

$ sudo mysql --user=redmine --password=my_password --execute="CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;" 
・データベース作成

セッションストア秘密鍵を作成した後、データベースのmigrateを実行します。

$ sudo rake generate_secret_token
$ sudo RAILS_ENV=production rake db:migrate
・初期データをデータベースに反映

redmine本家では、デフォルトデータをセットするコマンドの実行を推奨しているようなので、それにならいます。

$ sudo RAILS_ENV=production REDMINE_LANG=ja rake redmine:load_default_data

■Webサーバーのセットアップ

・Apache2のインストール

apache2をインストールします。

$ sudo apt-get install -y apache2
・モジュールのセットアップ

apache2でredmine(ruby)を動作させるために必要なモジュールをセットアップします。

$ sudo gem install passenger --no-rdoc --no-ri
$ sudo apt-get install -y libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev
$ sudo passenger-install-apache2-module

「passenger-install-apache2-module」を実行すると、端末上にメッセージが表示されキーボードによる選択を促されます。
キー操作は下記のとおりです。

1 → Enter → Enter

1時間ほど動き続けます。
無事に終了すると、下記の情報が端末に表示されます。

--------------------------------------------
Almost there!

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

   LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-5.0.15/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /var/lib/gems/1.9.1/gems/passenger-5.0.15
     PassengerDefaultRuby /usr/bin/ruby1.9.1
   </IfModule>

After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!

Press ENTER when you are done editing.
・Apache2の設定にRedmine用の物を追加

前項で表示された設定情報を、redmine用の設定としてApache2設定に追加します。

$ sudo vi /etc/apache2/conf.d/redmine.conf

設定内容は下記の通り

   LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-5.0.15/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /var/lib/gems/1.9.1/gems/passenger-5.0.15
     PassengerDefaultRuby /usr/bin/ruby1.9.1
   </IfModule>

このファイル内容は、前項で表示された設定情報です。

・VirtualHost設定にRedmine用の記述を追加

Apache2のVirtualHost設定に、redmine設定を追加します。

$ sudo vi /etc/apache2/sites-enabled/000-default 
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        RackBaseURI /redmine  ← ココの行を追加
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
・ドキュメントルートにredmineディレクトリのシンボリックリンクを作成

apache2のドキュメントルートディレクトリにアクセス用のシンボリックリンクを作成します。

$ sudo ln -s /var/opt/redmine/public /var/www/redmine

Redmine動作のためパーミッションを変更

redmineディレクトリのオーナーをwww-data(apache)にします。
さらに、redmineが添付ファイルやログファイルを作成できるようにパーミッションを変更します。

$ sudo cd /var/opt
$ sudo chown -R www-data:www-data ./redmine
$ sudo cd ./redmine
$ sudo chmod -R 755 files log tmp public/plugin_assets
$ sudo cd ../

■Apache2を起動(再起動)する

/etc/init.d/apache2 restart

Redmine起動確認

デフォルトのアカウントで起動を確認します。

ユーザー:admin パスワード:admin

http://XXX.XXX.XXX.XXX/redmine