ラズパイの 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

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 $

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

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付きも指定しておく

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 をコメントアウト

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

opensslをビルド

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

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 を使うためにソースからビルドする

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を入れないと、↓でエラーになる。

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

Redmineをインストール

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

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 を使う。

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行を実行する。

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の実行で使われる。

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 を書き替える。

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の再起動

sudo a2enconf redmine
apache2ctl configtest
sudo service apache2 reload

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

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

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