ラズパイの Readmine 3.4 をインストールする手順

基本は、以下の redmine.jp の手順に従えばいいのだが、自分のメモ用に。

Redmine 3.4をUbuntu Server 16.04.2 LTSにインストールする手順 | Redmine.JP Blog
http://blog.redmine.jp/articles/3_4/install/ubuntu/
Raspberry Pi 3 に Redmine 3.3 をインストール | スモールサーバ開発部 https://blog.smallserver.jp/raspberry-pi-3-%E3%81%AB-redmine-3-3-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

– Raspberry Pi3 Rasbian Jessie
– Redmine 3.4
– MySQL 5.5
– Apache 2.4.10

1
2
3
4
5
6
7
8
pi@raspi3:/usr/local $ uname -a
Linux raspi3 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
pi@raspi3:/usr/local $ mysql --version
mysql  Ver 14.14 Distrib 5.5.60, for debian-linux-gnu (armv8l) using readline 6.3
pi@raspi3:/usr/local $ sudo apachectl -v
Server version: Apache/2.4.10 (Raspbian)
Server built:   Apr  3 2018 16:25:06
pi@raspi3:/usr/local $

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

1
2
3
4
sudo locale-gen ja_JP.UTF-8
sudo apt-get update
sudo apt-get install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev
sudo apt-get install mysql-server libmysqld-dev

MySQLの準備

外部から直接MySQLに触れるようにIP付きも指定しておく

1
2
3
4
5
mysql -u root -p
 
CREATE DATABASE redmine charset="utf8";
GRANT ALL PRIVILEGES ON redmine.* TO redmine@localhost IDENTIFIED BY 'redmine';
GRANT ALL PRIVILEGES ON redmine.* TO redmine@"172.16.0.%" IDENTIFIED BY  'redmine' WITH GRANT  OPTION;

my.cnf で bind-address をコメントアウト

1
2
3
vi /etc/mysql/my.cnf
↓コメントアウト
# bind-address = 127.0.0.1

opensslをビルド

Rubyがopensslを必要とするのでビルド。ラズパイの場合はパッケージがないので、ソースからビルドする。

1
2
3
4
5
wget https://www.openssl.org/source/openssl-1.0.2.tar.gz
tar xvf openssl-1.0.2.tar.gz
cd openssl-1.0.2
./config zlib shared no-ssl2
make && sudo make install

rubyをビルド

ruby 2.4 を使うためにソースからビルドする

1
2
3
4
5
6
curl -O https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
tar xvf ruby-2.4.1.tar.gz
cd ruby-2.4.1
./configure --disable-install-doc --with-opt-dir=/usr/local/ssl --enable-shared
make && sudo make install
cd ..

opensslを入れないと、↓でエラーになる。

1
sudo gem install bundler --no-rdoc --no-ri

Redmineをインストール

Redmine を svn でとってきて配置。最終的には、http://raspi3.local/redmine でアクセスできるようにするが、/var/lib/redmine にインストールして alias する。

1
2
3
sudo mkdir /var/lib/redmine
sudo chown www-data /var/lib/redmine
sudo -u www-data svn co http://svn.redmine.org/redmine/branches/3.4-stable /var/lib/redmine

database.yml を作成する。データベースは mysql2 を使う。

1
2
3
4
5
6
7
8
9
sudo vi /var/lib/redmine/config/database.yml
 
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "redmine"
  port: 3306

gem パッケージをインストールした後、初期データを入れる。初期データを戻したい場合は、drop database redmine ; してから、RAILS_ENV の 2行を実行する。

1
2
3
4
5
6
cd /var/lib/redmine
sudo -u www-data bundle install --without development test --path vendor/bundle
 
sudo -u www-data bundle exec rake generate_secret_token
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

Apacheの設定

Passenger をインストールする。Apache上のRailsの実行で使われる。

1
2
3
sudo gem install passenger -v 5.1.12 --no-rdoc --no-ri
sudo passenger-install-apache2-module --auto --languages ruby
passenger-install-apache2-module --snippet

redmine.conf を作成する。
最後の Alias /redmine で、ブラウザからアクセスする場所を決める。ルートにしたい場合は、/etc/apache2/sites-enabled/000-default.conf の DocumentRoot を書き替える。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
sudo vi /etc/apache2/conf-available/redmine.conf
 
# Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定。
# Apache 2.4のデフォルトではサーバ上の全ファイルへのアクセスが禁止されている。
<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>
 
# Passengerの基本設定。
# passenger-install-apache2-module --snippet で表示された設定を記述。
# 環境によって設定値が異なるため以下の5行はそのまま転記せず、必ず
# passenger-install-apache2-module --snippet で表示されたものを使用すること。
#
 
LoadModule passenger_module /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.1.12
  PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>
 
# 必要に応じてPassengerのチューニングのための設定を追加(任意)。
# 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library/config/apache/reference/)参照。
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerStatThrottleRate 10
 
Alias /redmine /var/lib/redmine/public
<Location /redmine>
  PassengerBaseURI /redmine
  PassengerAppRoot /var/lib/redmine
</Location>

設定の反映と、apacheの再起動

1
2
3
sudo a2enconf redmine
apache2ctl configtest
sudo service apache2 reload

これで、http://raspi3.local/redmine でアクセス可能になる。
最初は、admin/admin で入れる。

ちなみに、ラズパイ3でも結構遅いので実運用する場合は別途PCに立てるのがベターだと思う。

カテゴリー: 開発, RaspberryPi パーマリンク