開発環境の構築手順

公開日 2020年11月16日

更新日 2023年10月26日

はじめに

当社ではWindowsパソコンに仮想化ソフトウェアを導入し、
仮想マシンにRed Hat系のOSをインストールして開発を行っています。

ここでは仮想化ソフトウェアとしてOracle VM VirtualBox、
OSとしてAlmaLinuxを利用した開発環境の構築方法について記載します。

Oracle VM VirtualBoxのインストール

Oracle VM VirtualBox(以降、VirtualBoxと記述)のサイトから最新版をダウンロードします。
※2023/10/26時点の最新版のダウンロードは下記になります。
https://www.virtualbox.org/wiki/Downloads

ダウンロードしたexeファイルを実行しインストールします。

AlmaLinuxのインストール

ISOイメージファイルのダウンロード

AlmaLinuxの公式サイトからISOイメージファイルをダウンロードします。
※2023/10/26時点での最新版のダウンロードは下記になります。
https://almalinux.org/ja/get-almalinux/

適当なバージョンのISOイメージファイルをダウンロードします。

AlmaLinuxのダウンロード

新規仮想マシンの作成

VirtualBoxを起動後、「新規」をクリックします。

VirtualBox新規仮想マシンの作成

「名前」に仮想マシン名を入力し、「ISO Image」に先ほどダウンロードしたIOSイメージファイルを選択して、「次へ」をクリックします。

VirtualBox新規仮想マシンの作成_OS選択

メモリとCPU数を入力して、「次へ」をクリックします。

VirtualBox新規仮想マシンの作成_ハードウェア要件

ディスク容量を入力して、「次へ」をクリックします。

VirtualBox新規仮想マシンの作成_ディスク容量

「完了」をクリックします。

VirtualBox新規仮想マシンの作成_確認

新規に仮想マシンが作成されます。

VirtualBox新規仮想マシンの作成_完了

仮想マシンでのAlmaLinuxのインストール

仮想マシンを選択して、「起動」をクリックします。

AlmaLinuxのインストール

「Install AlmaLinux」を選択します。

AlmaLinuxのインストール_開始

「日本語」を選択します。

AlmaLinuxのインストール_言語

各種の設定を行います。

AlmaLinuxのインストール_設定

「ソフトウェアの選択」をクリックします。
開発時にGUIは利用しませんので、「最小限のインストール」を選択し、「完了」をクリックします。

AlmaLinuxのインストール_ソフトウェアの選択

「インストール先」を選択し「完了」をクリックします。

AlmaLinuxのインストール_インストール先

「ネットワークとホスト名」を選択します。
ネットワーク接続がある場合は「オン」を選択し「完了」をクリックします。

AlmaLinuxのインストール ネットワークとホスト名

「日付と時刻」を選択します。
「地域」をアジア、「都市」を東京とし、ネットワーク接続がある場合は「ネットワーク時刻」をオンにして
「完了」をクリックします。

AlmaLinuxのインストール 日付と時刻

「ユーザーの作成」を選択します。
適当なユーザーとパスワードを入力します。

AlmaLinuxのインストール ユーザーの作成

「rootパスワード」を選択します。
rootユーザーのパスワードを入力します。

AlmaLinuxのインストール rootパスワード

「インストールの開始」をクリックします。

AlmaLinuxのインストール インストール開始

インストールが完了するまで待機します。

AlmaLinuxのインストール インストール中

インストールが完了したら「システムの再起動」をクリックします。

AlmaLinuxのインストール インストール完了

再起動後、作成したユーザーでログインできることを確認します。
ログイン時にTera TermやPuTTyなどSSHクライアントを利用するのが便利です。

AlmaLinuxのインストール ログイン

共有フォルダ設定

VirtualBoxを起動後、「設定」を選択します。

VirtualBox共有フォルダ設定

メニューから「共有フォルダ」を選択します。
新規追加のボタンをクリックします。

VirtualBox共有フォルダ設定 メニュー

「フォルダーのパス」からWindows側で共有したいフォルダを選択し、
「フォルダー名」にゲストOS側に作成する共有フォルダ名を入力します。
入力後、「OK」をクリックします。

VirtualBox共有フォルダ設定 フォルダ入力

以上の設定が完了するとゲストOS上の/media/sf_***/以下に共有フォルダが作成されます。
※***は先ほど入力したフォルダー名

VirtualBox共有フォルダ設定 完了

エディタについて

当社では開発者が各々に好きなエディタを使用しています。
主にはEclipse、Visual Studio Code、Pulsarなどです。

ゲストOS上のファイルをWindows側のエディタで直接参照できませんが、
共有フォルダの設定後、共有フォルダを通してアクセスできます。
また、FTP接続が行えるプラグインなどを利用できる場合は共有フォルダ設定なしでもアクセスできます。

共有フォルダを通してアクセスするための設定ですが、ゲストOS上の共有フォルダを/media/sf_folder、ソースコードを格納するディレクトリを/var/www/srcとすると

$ ln -s /media/sf_folder /var/www/src

のようにシンボリックリンクを作成することで、共有フォルダを通して/var/www/src以下に配置されたソースコードを参照できます。その後、各種エディタにおいて共有フォルダから編集することができます。

developmentモードでの起動

通常のインストール手順でJoruriをインストールした際、起動モードはproductionモードとなります。
productionモードは本番稼働を想定した環境となり、高速化のためクラスをキャッシュしておりアプリケーションを再起動しないとソースコードの変更が反映されません。
また、ログ出力のレベルも高く設定されており、デバッグ情報を確認できません。 開発を行う際はdevelopmentモードでの起動を推奨しています。
developmentモードで起動する場合は、インストール手順書内の「14.サーバーの起動」の前に、以下の手順を実行してください。

unicorn起動ファイルの編集

unicorn(アプリケーションサーバー)の起動設定をdevelopmentモードに変更します。

# vi /var/www/joruri/config/samples/unicorn.service
---
Environment=RAILS_ENV=development
Environment=PATH=/usr/local/nodenv/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
SyslogIdentifier=joruri_unicorn
PIDFile=/var/www/unicorn/pids/unicorn.pid
ExecStart=/usr/local/rbenv/shims/bundle exec unicorn_rails -c config/unicorn/development.rb -E production
ExecStop=/usr/bin/kill -QUIT $MAINPID
ExecReload=/bin/kill -USR2 $MAINPID
---

developmentモードのデータベース

developmentモードのデータベースはデフォルトではjoruri_developmentです。

データベースを作成するためには、下記のコマンドを実行します。

$ bundle exec rake db:create db:schema:load RAILS_ENV=development

共有フォルダ上でのJoruriの稼働

共有フォルダ上のソースでJoruriを稼働させる場合、通常のインストール手順内でのソースコード設置をシンボリックリンク作成に変更することに加えて、ソースコード内のunicorn設定ファイルを編集する必要があります。

シンボリックリンク作成によるソースコードの設置

共有フォルダ設定」で登録したWindows上のフォルダにファイルを置くと、ゲストOS上の /media/sf_*** にファイルが共有されます。

以下の画像のように、共有フォルダとして設定したWindows側のフォルダにjoruriのソースコードを設置すると、ゲストOS側からは /media/sf_***/joruri のパスでソースコードにアクセスできるようになります。

Windows側のフォルダ

インストール手順書では「11. Joruriのインストール」で /var/www/joruriディレクトリにJoruriのソースコードを設置しています。これを共有フォルダ上のJoruriソースコードに置き換えるため、「11. Joruriのインストール」の「 専用ディレクトリを作成します。 」の手順を下記の通り変更します。

# ln -s /media/sf_folder/joruri /var/www/joruri
# chown -R joruri:joruri /var/www/joruri

unicornの設定ファイル編集

unicornのpidファイルとsocketファイルが共有フォルダ上に存在している時、unicornプロセスが両ファイルにアクセスできずに起動が失敗します。
pidファイルとsocketファイルの場所はソースコード内の以下のファイルで設定しているため、ソースコードの設置場所に合わせて適宜設定を変更してください。

・/var/www/joruri/config/development.rb (developmentモードの場合)
・/var/www/joruri/config/production.rb (productionモードの場合)

例として、/var/runディレクトリ以下に設置する手順を紹介します。修正した内容は太字で表記します。

/var/runディレクトリ以下にunicorn用のディレクトリを作成します。

# mkdir /var/www/unicorn
# mkdir /var/www/unicorn/sockets
# mkdir /var/www/unicorn/pids

unicorn設定ファイルを編集します。(developmentモードの場合)

# vi /var/www/joruri/config/development.rb
---
# listen 8080, backlog: 1024
listen "/var/www/unicorn/sockets/unicorn.sock", backlog: 1024
pid "/var/www/unicorn/pids/unicorn.pid"
---

その他、nginxの設定ファイルとunicorn起動設定ファイル内でもpidファイルとsocketファイルの参照場所を指定しているので、上記の手順で編集した内容に合わせて修正してください。

・/var/www/joruri/config/nginx/nginx.conf

---
upstream joruri_unicorn {
  server unix:///var/www/unicorn/sockets/unicorn.sock;
} upstream joruri_dynamic {
  server unix:///var/www/unicorn/sockets/unicorn.sock;
}
---

・/var/www/joruri/config/samples/unicorn.service

---
PIDFile=/var/www/unicorn/pids/unicorn.pid
---

設定ファイルの編集はインストール手順書内の「14.サーバーの起動」の前に行ってください。

Topへ