2,003 views
この記事は最終更新から 2150日 が経過しています。
1. やりたいこと
前回の投稿 (103) Intel NUCを Subversionサーバーにする。 【採用!】 では、新品購入した Intel NUC を Subversion専用物理サーバーとして使えるようにした。
だが Intel NUCはなかなかの高性能マシンで Subversion専用とするのはもったいない。
マシン性能的には 10年前の第一線のパソコンぐらいの力がある。
そこで…
Intel NUCに Redmineを入れて使うことにした。
2. やってみる
インストール手順はこちらに詳しく書かれている。
http://redmine.jp/install/
まずは、ここに書かれている通りにやってみる。
(1) ja_JP.UTF-8ロケールの作成
sudo locale-gen ja_JP.UTF-8
(2) パッケージのインストール
1) Ubuntuお約束のアップデート&アップグレードを実行する。
main, restrictedに加えて universe repositoryも使う。
sudo add-apt-repository universe sudo apt update sudo apt upgrade
2) Ruby関連パッケージをインストールする。
sudo apt install build-essential zlib1g-dev sudo apt install libssl-dev libreadline-dev sudo apt install libyaml-dev libcurl4-openssl-dev libffi-dev sudo apt install ruby ruby-dev sudo gem install bundler --no-rdoc --no-ri
3) PostgreSQL関連パッケージをインストールする。
sudo apt install postgresql libpq-dev sudo systemctl enable postgresql
4) Apache2関連パッケージをインストールする。
sudo apt install apache2 apache2-dev libapr1-dev libaprutil1-dev
5) ImageMagick関連パッケージをインストールする。
sudo apt install imagemagick libmagick++-dev fonts-takao-pgothic
6) PostgreSQLの初期設定
Redmine用ユーザーを作成する。
複数の Redmineを併用したいので、ここでは redmine_bbとする。
後で redmine_cc, redmine_dd とかを増殖させるから。
sudo -u postgres createuser -P redmine_bb
Redmine用 DBを作成する。
sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine_bb -T template0 redmine_bb
DBへのアクセス許可設定をする。
※下記の 10 は PostgreSQLのバージョンで変わる。
sudo vi /etc/postgresql/10/main/pg_hba.conf
以下を書き足す。
host redmine_bb redmine_bb 127.0.0.1/32 md5 host redmine_bb redmine_bb ::1/128 md5
PostgreSQLを再起動する。
sudo service postgresql restart sudo service postgresql status
7) Redmineをインストールする。
最新ソースコードを公式 SVNディレクトリから取得する。
2018年11月6日時点の最新版 Redmine ver.3.4 の安定版を取得した。
sudo mkdir -p /var/lib/redmine/redmine_bb sudo chown -R www-data:www-data /var/lib/redmine sudo -u www-data svn co http://svn.redmine.org/redmine/branches/3.4-stable /var/lib/redmine/redmine_bb
DB接続情報を書く。
cd /var/lib/redmine/redmine_bb/config sudo cp database.yml.example database.yml sudo vi database.yml
開いたファイルには以下を書く。
production: adapter: postgresql database: redmine_bb host: localhost username: redmine_bb password: "xxxxxxxxxx" # ← 上記6)でユーザー作成時に入力したパスワードを書く。 encoding: utf8
各種設定情報を書く。
※今回は特にカスタマイズしないのでサンプルをそのまま使用する。
cd /var/lib/redmine/redmine_bb/config sudo cp configuration.yml.example configuration.yml sudo vi configuration.yml
bundler (Rubyのパッケージ管理ツール)を使用し、Redmineが依存する gemパッケージをインストールする。
sudo chown -R www-data:www-data /var/lib/redmine/redmine_bb cd /var/lib/redmine/redmine_bb sudo -u www-data bundle install --without development test --path vendor/bundle
8) Redmineを初期化する。
cd /var/lib/redmine/redmine_bb sudo -u www-data bundle exec rake generate_secret_token
データベースにテーブルを作成する。
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
デフォルトデータを登録する。
後で Redmineにログインしてカスタマイズできる。
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
9) Passengerをインストールする。
この辺になると「言われるがまま」にやってる状態だ…
何をしているのか?後で調べよう。
cd /var/lib/redmine/redmine_bb sudo gem install passenger -v 5.1.12 --no-rdoc --no-ri sudo passenger-install-apache2-module --auto --languages ruby
以下のコマンドで表示された内容は、下記10)で使用するのでコピペしておくこと。
passenger-install-apache2-module --snippet
↓ こんな感じで出力される。
LoadModule passenger_module /var/lib/gems/2.5.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /var/lib/gems/2.5.0/gems/passenger-5.1.12 PassengerDefaultRuby /usr/bin/ruby2.5 </IfModule>
10) Apache2の Redmine用設定をする。
sudo vi /etc/apache2/conf-available/redmine.conf
作成したファイルに以下を書く。
<Directory "/var/lib/redmine/redmine_bb/public"> Require all granted </Directory> LoadModule passenger_module /var/lib/gems/2.5.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /var/lib/gems/2.5.0/gems/passenger-5.1.12 PassengerDefaultRuby /usr/bin/ruby2.5 </IfModule> Alias /redmine_bb /var/lib/redmine/redmine_bb/public <Location /redmine_bb> PassengerBaseURI /redmine_bb PassengerAppRoot /var/lib/redmine/redmine_bb </Location>
Apache2の設定を反映させる。
sudo a2enconf redmine apache2ctl configtest sudo systemctl restart apache2 sudo systemctl status apache2
(3) いざ Redmineを開いてみる!
WEBブラウザで 192.168.1.2/redmine_bb にアクセスしてみる。
インストール直後の初期設定についてはこちらを参照のこと。
http://redmine.jp/tech_note/first-step/admin/
まずは初期ユーザー(管理者)でログインする。
admin admin で入れる。
パスワードを変えろと怒られたので変える。
その後、
・メンバーの新規作成
・プロジェクトの新規作成
・メンバーでログイン
・チケットの新規作成
まで出来ることを確認した。
4. 応用
(1) 既存のバックアップデータをリストアする。
以下の2ファイルがバックアップされていたとする。
files.zip
postgres.sql
1) files.zipを filesディレクトリに展開する。
REDMINE=/var/lib/redmine/redmine_bb unzip files.zip sudo rm -rf ${REDMINE}/files sudo cp -r ./files $REDMINE sudo chown -R www-data:www-data $REDMINE
2) DBをリストアする。
まず一旦 DBを削除する。
DB_NAME=postgres DBUSER_NAME=redmine_bb psql -h localhost -U ${DBUSER_NAME} -d ${DB_NAME}
SQLコマンドを打って DBを削除する。
drop database redmine_bb;
バックアップしてあった DBデータをリストアする。
DB_NAME=redmine_bb sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O $DB_NAME -T template0 $DB_NAME psql -h localhost -U ${DBUSER_NAME} -d ${DB_NAME} < ./postgres.sql cd /var/lib/redmine/${DB_NAME} sudo -u www-data REDMINE_LANG=ja bundle exec rake db:migrate RAILS_ENV=production sudo chown -R www-data:www-data $REDMINE
(2) バックアップを取る。
こちらの過去記事を参照のこと。
(79) redmineをバックアップする。
3. 所感
うまく行かなくて右往左往して疲れたので、所感はまた後日書こう…
でも忘れちゃうんだろうな。
少しだけメモ書きしておこう。
Intel NUCの Redmineは快適に動作します!
部屋の片隅に置ける省電力且つ高性能なプチサーバーマシンです!
Subversionサーバーと併用して、しばらくこの環境を使います!
まだまだマシン性能に余裕があるので、他の用途でも使いたい…
今まで DELL T100 サーバーにやらせていた仕事を全部 Intel NUC に移そうかと思っている。
ちなみに我が家の Linuxマシンは今 4台ある。
・親分: HP Z820 E5-2687W V2 Dual 64GB (CentOS7) 我が家の主戦機、VirtualBoxで動く仮想マシンを 5台内包
・副将: DELL T5500 X5690 Dual 48GB (CentOS7) 高性能GPUを搭載し機械学習専用機としてチューニング
・新人: Intel NUC J5005 Single 8GB(Ubuntu18) Subversion, Redmine専用機としてデビュー
・長老: DELL T100 X3330 Single 8GB (CentOS7) 2008年からの相棒も NUCの登場でいよいよ引退か…
PASSMARKのスコアでは少しだけ長老の方が新人よりも力が強いみたいだが…
でもメインメモリのバス速度が 800MHz と 2400MHz とでは全然違うよな。
以下の4点を購入して作りました。