RedmineをKUSANAGIで動かす!その1(宮崎悟氏)

宮﨑悟

本記事では、Ruby2.4を使用したRails環境の構築方法を解説します。ツールとしてはKUSANAGI 8.1.0と仮想化プラットフォームVirtualBoxを使うことで、Redmineというオープンソースのプロジェクト管理ソフトウェアをインストールします。手順はVirtualBoxとVagrantのインストールから始め、Vagrantfileを用いて仮想マシンの初期設定を終えた後、最新のRails環境を生成します。最終的にRedmineの推奨環境に合わせて設定を行い、次回の記事で具体的なインストールと設定の手順を解説します。

KUSANAGIでRailsを使ってみよう 今回は、KUSANAGI 8.1.0から追加されたRuby2.4を使用したRails環境で、Redmineをインストールしてみようと思います。Redmineは、オープンソースのプロジェクト管理ソフトウェアです。タスク管理、進捗管理、情報共有を行うツールで、多くの企業でも使われています。

KUSANAGI for Vagrantを使ってみよう

今回は、KUSANAGI for Vagrantを使ってみます。KUSANAGI for Vagrantは、どこのご家庭にもあるWindowsやmacOSで使用できる仮想化プラットフォームVirtualBoxを使って、簡単にKUSANAGIを使用することが出来ます。 まずは、お使いのOSをに、VirtualBoxをダウンロードしインストールします。 その後、仮想マシンを構築・設定を行うソフトウェアであるVagrantをダウンロードし、インストールします。お使いのOSに合わせてダウンロードする対象を選んでください。 また、Windowsで日本語ユーザ名を使用している場合、Vagrantの実行に失敗します。詳しくは、KUASANAGI for Vagrantのドキュメントを参照してください。

KUSANAGIのVirtualBoxイメージの用意

Vagrantをインストールしたら、KUSANAGI for Vagrantの使用準備を行います。 適当なディレクトリを作成し、vagrant initコマンドを実行することで、Vagrantの初期設定を行います。以下は、Windowsでの実行例です。

Vagrant.configure("2") do |config|
  config.vm.box = "yuya_tajima/kusanagi"
  config.vm.network "forwarded_port", guest: 22, host: 10021, id: "ssh"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
  end
  config.vm.provision "shell", inline: <<-SHELL
    sudo yum clean all
    sudo yum -y --enablerepo=remi,remi-php56 update  2>&1 > /dev/null
    sudo reboot
  SHELL
end
ここでVagrant は、KUSANAGIのVirtualBoxイメージをダウンロードし、Vagrantfileという設定ファイルを生成します。まずは、今後のためにもyum updateしたイメージを作成します。 Vagrantfileを以下のように修正します。

> vagrant.exe up
> vagrant.exe halt
> vagrant.exe package –output kusanagi.local
> vagrant.exe box add kusanagi_20181101 kusanagi.local
> vagrant.exe box list
kusanagi_20181101    (virtualbox, 0)
yuya_tajima/kusanagi (virtualbox, 0.1)
> vagrant.exe destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Destroying VM and associated drives...
以下のコマンドを使用して、KUSANAGIを最新化したVirtualBoxを作成し、Vagrantの使用イメージに最新のこのイメージを登録します。登録後は、このイメージを削除して構いません。

> vagrant.exe up
> vagrant.exe halt
> vagrant.exe package –output kusanagi.local
> vagrant.exe box add kusanagi_20181101 kusanagi.local
> vagrant.exe box list
kusanagi_20181101    (virtualbox, 0)
yuya_tajima/kusanagi (virtualbox, 0.1)
> vagrant.exe destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Destroying VM and associated drives...
Rails環境の用意 次に、別ディレクトリにRails環境用の仮想マシンを作成します。

> mkdir ..\redmine
> cd ..\redmine
> vagrant.exe init
別ディレクトリを作成し、kusanagi init した後、以下のようにVagrantfileを修正してください。

Vagrant.configure("2") do |config|
  config.vm.box = "kusanagi_20181101"
  config.vm.network "forwarded_port", guest: 22, host: 10022, id: "ssh"
  config.vm.network "private_network", ip: "192.168.33.11"
   config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
  end
  config.vm.provision "shell", inline: <<-SHELL
    export TERM=xterm
    export KUSANAGI_PASSWORD=`mkpasswd -l 20`
    export DBROOTPASS=`mkpasswd -s 0 -l 20`
    export SITE_DOMAIN=redmine.localdomain
    export DBNAME=`mkpasswd -s 0 -l 10`
    export DBUSER=`mkpasswd -s 0 -l 10`
    export DBPASS=`mkpasswd -s 0 -l 20`
    export EMAILOPTION=--no-email
    sudo yum clean all
    echo yum update
    sudo kusanagi init --tz tokyo --lang en --keyboard en --passwd $KUSANAGI_PASSWORD --no-phrase --dbrootpass "$DBROOTPASS" --php7 --nginx --ruby24 --dbsystem mariadb
    sudo kusanagi provision --rails --fqdn $SITE_DOMAIN $EMAILOPTION --dbname $DBNAME --dbuser $DBUSER --dbpass "$DBPASS" redmine
   sudo reboot
  SHELL
end
上記でSITE_DOMAINは任意のFQDNを指定してください。 ここで、vagrant.exe up コマンドを実施すると、/home/kusanagi/redmine 以下に最新のRails環境が生成されます。 しかし、この環境はRedmineの推奨環境とは異なるため、サクッと削除してしまいます。 次回は、Redmineのインストールと設定を行っていきますので、お楽しみに。

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解