*

RaspbianにRedmine3を導入

公開日: : 投稿者:raru Linux, Raspbian, redmine, サーバ

普段Zabbixを入れて運用しいてるRaspbianにRedmineも入れてみました。
ややスペック不足になるかもしれないなと感じながら、まぁ使えると言っていいレベルには動いています。

Rubyのインストール

Raspianではデフォルトでruby1.9あたりがインストールされていますが、せっかくなので最新のrubyを入れてみます。
元々スペックも低いのでできるだけ最新のrubyを入れたいですよね。

もはやおなじみですがrbenvを導入します。
またRubyのインストールにはそれなりに時間がかかります。CPUにはヒートシンクをつけていますが、それでも45℃くらいまで温度が上がっていたので室温は多少気にした方がいいかもしれません。

root@raspberrypi:~# aptitude install git libssl-dev libreadline-dev
root@raspberrypi:~# git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv
...
Checking connectivity... done.
root@raspberrypi:~# git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build
...
Checking connectivity... done.
root@raspberrypi:~# vi /etc/profile.d/rbenv.sh
root@raspberrypi:~# cat /etc/profile.d/rbenv.sh 
export RBENV_ROOT="/usr/local/rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init -)"

// shell再読み込み
root@raspberrypi:~# exec $SHELL -l
root@raspberrypi:~# rbenv install --list
root@raspberrypi:~# CONFIGURE_OPTS="--disable-install-doc" rbenv install 2.2.3
root@raspberrypi:~# rbenv versions
* system (set by /usr/local/rbenv/version)
  2.2.3
root@raspberrypi:~# rbenv global 2.2.3
root@raspberrypi:~# ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [armv7l-linux-eabihf]
root@raspberrypi:~# vi ~/.gemrc
root@raspberrypi:~# cat ~/.gemrc 
gem: --no-rdoc --no-ri

rbenvのlistで確認したところ、今の最新が2.2.3だったのでそれを導入しました。
redmineが導入できないと困るので一応確認はしていますが、2.2系でも問題なく動くようです。

Redmineの導入

続いてRedmineを導入していきます。
apt-get系のパッケージにはredmineが入っているらしいので、apt-get install redmineでも導入できるみたいですが、なんか嫌なのでwgetで取得しています。

例によってbundle installには結構時間がかかります。

// 必要なパッケージインストール
root@raspberrypi:~# aptitude install imagemagick libmagick++-dev libmysqld-dev
root@raspberrypi:~# cd /var/www/public
root@raspberrypi:/var/www/public# wget http://www.redmine.org/releases/redmine-3.1.1.tar.gz
root@raspberrypi:/var/www/public# tar zxvf redmine-3.1.1.tar.gz
root@raspberrypi:/var/www/public# cd redmine-3.1.1

// DB作成
root@raspberrypi:/var/www/public/redmine-3.1.1# mysql -u root -p
mysql> CREATE DATABASE redmine CHARACTER SET utf8;
mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'N)VMD8ykhrdT';
mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
mysql> quit
Bye

// DB接続設定を記載
root@raspberrypi:/var/www/public/redmine-3.1.1#cp config/database.yml.example config/database.yml
root@raspberrypi:/var/www/public/redmine-3.1.1# vi config/database.yml
root@raspberrypi:/var/www/public/redmine-3.1.1# diff config/database.yml.example config/database.yml
9,10c9,10
<   username: root
<   password: ""
---
>   username: hogehoge
>   password: "fugafuga"
root@raspberrypi:/var/www/public/redmine-3.1.1# gem install bundler
root@raspberrypi:/var/www/public/redmine-3.1.1# bundle install --without development test
root@raspberrypi:/var/www/public/redmine-3.1.1# rake generate_secret_token
/usr/local/rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb:465: warning: duplicated key at line 466 ignored: "inodot"
root@raspberrypi:/var/www/public/redmine# RAILS_ENV=production rake db:migrate

ここまでを行うことで、一旦Redmineのインストールまでは完了です。
Railsのインストールはbundle installの場所で行われているということですね。

Passengerインストール

次はApacheを介してRedmineへ接続するためにpassengerを導入します。
これもいくつか導入方法があるようですが、いつもやり方で行っていきたいと思います。

またこちらも同じく時間がかかります。

root@raspberrypi:/var/www/public/redmine-3.1.1# gem install passenger --no-rdoc --no-ri
// passengerの導入に必要なパッケージインストール
root@raspberrypi:/var/www/public/redmine-3.1.1# aptitude install install -y libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev
root@raspberrypi:/var/www/public/redmine-3.1.1# passenger-install-apache2-module
Use <space> to select.
If the menu doesn't display correctly, press '!'

   ⬢  Ruby
 ‣ ⬡  Python
   ⬡  Node.js
   ⬡  Meteor
(省略)
Phusion Passenger is a registered trademark of Hongli Lai & Ninh Bui.

途中で、「Please edit your Apache configuration file, and add these lines:」この出力とともに今後利用する設定ファイルへの記述内容が表示されるのでコピーしておきましょう。

今回はRuby以外を導入するつもりもないのでPythonのチェックを外しました。

Apache サイト設定追加

最後に公開するためにapacheに設定を追加します。

root@raspberrypi:~# chown -R www-data:www-data /var/www/public
root@raspberrypi:~# ln -s /var/www/public/redmine-3.1.1 /var/www/public/redmine
// passenger用設定を追加
root@raspberrypi:~# vi /etc/apache2/conf-available/passenger.conf
root@raspberrypi:~# cat /etc/apache2/conf-available/passenger.conf
LoadModule passenger_module /usr/local/rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.21/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.21
  PassengerDefaultRuby /usr/local/rbenv/versions/2.2.3/bin/ruby
</IfModule>

// redmine用バーチャルホスト設定追加
root@raspberrypi:~# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/redmine.conf
root@raspberrypi:~# vi /etc/apache2/sites-available/redmine.conf 
root@raspberrypi:~# cat /etc/apache2/sites-available/redmine.conf 
<VirtualHost *:80>
        ServerName yourdomain.com
        ServerAdmin root@localhost
	DocumentRoot /var/www/public/redmine/public

	ErrorLog ${APACHE_LOG_DIR}/redmine/redmine-error.log
	CustomLog ${APACHE_LOG_DIR}/redmine/redmine-access.log combined

        <Directory /var/www/public/redmine/public>
            Options FollowSymLinks
            AllowOverride None
        </Directory>
</VirtualHost>

// ログ出力フォルダ作成
root@raspberrypi:~# mkdir /var/log/apache2/redmine
root@raspberrypi:~# chown -R www-data:www-data /var/log/apache2/redmine
// 設定の有効化
root@raspberrypi:~# a2enconf passenger
root@raspberrypi:~# a2ensite redmine
root@raspberrypi:/var/www/public# vi /etc/hosts
root@raspberrypi:/var/www/public# cat /etc/hosts | grep redmine
127.0.0.1       redmine
root@raspberrypi:/var/www/public# systemctl restart apache2
root@raspberrypi:/var/www/public# systemctl status apache2
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)

今回は /var/www/public 以下にRedmine用のフォルダを作成しています。
redmineに対してシンボリックリンクを張っているのは、今後redmineのバージョンをあげるときにリンクの貼り直しで済ませるためです。

あとはブラウザから接続を行い動作確認をしてみてください。
デフォルトのログインID/PWはadmin, adminでした。

あとがき

毎回思いますがRailsの導入には時間がかかりますね。
raspberry piでは普段と違ってCPU温度が気になります。自分はwatchコマンドを使って温度を眺めたりするのですが、そういう数字が常に変動するものをみているのが好きなのでずっと見てしまいます。
有意義に時間使うのであれば技術書でも読むとちょうどいいんでしょうね。

あともしかしてRaspbianというかDebianにはSElinuxはないのでしょうか?
簡単にしか調べてませんが、特に見当たらないですね。audit logもないし。
なんかこう、守られている感が減るので心細い。

関連記事

no image

iptablesで特定のIPからの接続を遮断

WordPressを利用して作成しているこのブログなのですが、管理画面へのログインリンクがあるせいな

記事を読む

no image

Raspbianをwheezyからjessieにアップグレード

2015/04頃にdebianのバージョン8 jessieがリリースされたようです。 それに伴い、

記事を読む

no image

Raspbian(jessie)にssh鍵認証で接続

Debianがjessieになって、sshd_configのデフォルトの設定が変わりました。 それ

記事を読む

no image

CentOS6にredmineを導入

CentOSにredmineを導入しました。 Gitとの連携を目論んでいたのですが、redmine

記事を読む

no image

RaspbianにZabbixをインストール

今回はRaspbianにZabbixをインストールしてみたいと思います。 前回のPidoraでは「

記事を読む

no image

Firewalldで特定IPからの接続をdrop

このサイトは見ての通りwordpressなのですが、wordpressではloginのurlが推測さ

記事を読む

no image

Raspberry Pi/ラズベリーパイ を注文しました

Linuxの学習用途にお勧めされているRaspberry Piを注文しました。 ラズベリーパイ

記事を読む

no image

Raspberry Pi 2(Raspbian) 初期設定

性懲りもせずにRaspberry pi2を購入しました。 初代に比べて相当スペックが向上しており、

記事を読む

no image

Raspbianでメール送信 ssmtp編

Raspbianで監視などをおこなっているとメールが送信したくなります。 とりあえず何かと管理用に

記事を読む

no image

CentOS7にGitLab 9をインストールして日本語化

最近CentOS7にGitLabを入れて、日本語化してみました。 最近9が出たようで、あまり参考に

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑