*

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

RaspbianのZabbix ServerにZabbix Agentをインストール

前回の記事でRaspbianにZabbixサーバをインストールしてみました。 今回はzabbi

記事を読む

no image

CentOS6 初期設定

自宅に置いてある安鯖にCentOS6を入れて初期設定を行ないました。 前提条件/設定項目

記事を読む

no image

RedmineからsSMTPでメールを送信

Redmineの管理画面にアクセスしたところメール通知設定は所定のファイルを編集しないとできないよう

記事を読む

no image

Raspberry Pi2/ラズベリーパイ2にFedoraをインストール

Raspberry pi2にFedoraがインストールできるという情報を入手したので2台目を購入して

記事を読む

no image

apache2.4でBOTからのアクセスを排除

私は何か数字が動くものを見るのが好きでgoogle analyticsのリアルタイム情報をよく見てい

記事を読む

no image

Raspberry Pi 2(Raspbian) 初期設定

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

記事を読む

no image

CentOS7 初期設定

しばらく振りになりますが、ひっそりとWordpressの移設を行っていました。 お仕事が多忙を極め

記事を読む

no image

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

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

記事を読む

no image

CentOSで不要カーネルの削除

サーバを利用して時間が経過すると溜まってくるLinuxのkernelの削除方法の備忘録。 忘れるた

記事を読む

no image

yum使いがハマるaptitudeの罠 update

最近までaptitudeの使い方に関して大いなる勘違いをしていました。 yum使いの皆様も私と同様

記事を読む

Message

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

PAGE TOP ↑