*

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でメール送信 ssmtp編

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

記事を読む

no image

Raspberry Pi/ラズベリーパイ にFedora(Pidora)をインストール

Raspberry PI2にFedoraをインストール 注文していたRaspberry P

記事を読む

no image

ZabbixからsSMTPを利用してエラー通知メール送信

今回はsSMTPを利用してRaspbian上のZabbix Serverからアラートメールの送信を行

記事を読む

no image

SPFの送受信設定

今回はSPFの設定を行います。 SPFとは何かということについてはここでは割愛しますが、メールの送

記事を読む

no image

CentOSで不要カーネルの削除

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

記事を読む

no image

Raspberry Piのpidoraをセットアップ

以前私はRaspberry PiにPidoraを入れたのですが、初期設定をしたつもりになっていてして

記事を読む

no image

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

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

記事を読む

no image

PidoraにZabbix2.2を入れてみた

※完璧な状態ではありません。 こちらの記事のzabbix設定周りを行うと解決する可能性がありま

記事を読む

no image

rsyncでsshの鍵を指定してデータ転送

今回は旧サーバから新サーバへいろいろ移設するために便利なrsyncの設定です。 設定というほどのも

記事を読む

no image

CentOS7 初期設定

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

記事を読む

Message

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

PAGE TOP ↑