徒然なるままな想い書き

何気なく見たり聞いたりした時に得られる『思わぬ発見、気付き』を読者の皆さまに届けています。

【Raspberry Pi 2】 プロジェクト管理ツール"Redmine"を入れる方法

tsurzur.hatenablog.com

 

前回はvncサーバを導入しましたが、次はプロジェクト管理ツールRedmineを導入してみました。Redmineについても他のサイト等で色々と導入方法が書いてありましたが、思い通りに行かなかった部分が多々あったので自分がやったことや注意点を残しておきます。OSはRaspbianのjessieです。

 

 

1.apt-getでのパッケージ導入

はじめはお決まりのパッケージインストール。apache2とかはWebサーバを入れたことがある人にはお馴染みのやつです。

sudo apt-get install apache2 libapache2-mod-passenger redmine redmine-mysql ruby ruby-mysql mysql-server

redmineのinstall時、データベースをどれにするか選択する必要があります。私はmysqlにしました。mysqlの場合、後にデータベースを作成する必要があるのですが、その時に"ruby-mysql"がないとうまくデータベースを作成することができません。なのでここでruby-mysqlもインストールしておきます。

 

2.Webサーバの設定

RedmineをWebで見られるようにします。

RedmineのデータのWebサーバディレクトリへのシンボリックリンク

cd /var/www
sudo ln -s /usr/share/redmine/public redmine

sudo chown -R www-data:www-data /usr/share/redmine

 

Redmine用の設定

sudo emacs /etc/apache2/site-available/redmine.conf

(redmine.confは任意の名前で良い)

とし、以下を書き込み

# redmine
<Location "/redmine">
    Options FollowSymLinks
    RailsBaseURI /redmine
</Location>
LogLevel warn

redmine.confをコンフィグとして登録する

sudo a2ensite redmine

 

DocumentRootの設定

sudo emacs /etc/apache2/site-available/000-default.conf 

とし、DocumentRootが書いてあるところを探して以下に変更

    DocumentRoot /var/www

 

Passengerの設定

sudo emacs /etc/apache2/mods-available/passenger.conf

とし、以下のように変更

<IfModule mod_passenger.c>

    PassengerDefaultUser www-data

    PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini

    PassengerDefaultRuby /usr/bin/ruby
</IfModule>

注意点として、Locationで指定している/redmineですが、000-default.confに記載されているDocumentRootからの相対パスとなります。今回で言うと、redmineの位置は、/var/www/redmineとなります。そのため、パスが合うようにシンボリックリンクをはっています。また、apache2のデフォルトのDocumentRootが/var/www/htmlみたいなので、自分用に変更しておかないと後々自分の作ったWebページが見られないという残念なことになってします。もちろん、/var/www/html/redmineというようにシンボリックリンクをはってしまうのもありなんですが。

 

3.データベースの構築

セッションの作成

cd /usr/share/redmine
sudo rake generate_session_store

 

データベース用設定ファイルの作成

cd /usr/share/redmine/templates
sudo cp -p database.yml.template /etc/redmine/default/database.yml

 

sudo emacs /etc/redmine/default/database.yml

とし、以下を記入

production:
adapter: mysql
database: redmine
host: localhost
port: 3306
username: redmine
password: password
encoding: utf8

 (username, passwordは自分で決める)

 

mysqlの設定

mysql -u root -p

redmineのデータベース、ユーザを作成する

create database redmine;
create user 'redmine'@'localhost' identified by 'password'
grant all privileges on redmine.* to 're

dmine'@'localhost';

 ここで、username, passwordであるredmine, passwordは先ほどのdatabase.ymlで書いたusername, passwordと同じものになるようにする。

 

mysqlにredmine用テーブルを作成する

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

 

4.Redmineへの接続

Webサーバの再起動

sudo /etc/init.d/apache2 restart

 

初回接続

RaspberryPi(IP:xxx.xxx.xxx.xxx)にあるRedmineにアクセス(http://xxx.xxx.xxx.xxx/redmine)し、初期アカウントadmin(パスワードもadmin)でログインできれば、見事Redmine環境の構築完了です。ログイン後は、自分のアカウント、adminアカウントのパスワード変更等行ってください。

 

感想

Raspberry上でRedmineを動かすと、毎回初回接続に時間がかかってしまいます。また、VPN接続などで接続した場合、さらに時間がかかってしまいます。

 

Redmineの構築を通じて、Webサーバの知識もそうだし、データベースの知識も少し身につけることができたのかなと思います。今回の経験を通じてapache2の設定(DocumentRoot等)がどうなっているのかが気になったので、これを機にWebサーバの知識も身につけていけたらいいなとも思います。

 

 

ではでは。