LoginSignup
1
1

More than 3 years have passed since last update.

東京都 新型コロナウイルス感染症対策サイトをVagrant環境で動かす

Last updated at Posted at 2020-03-12

はじめに

「東京都の新型コロナウイルス感染症対策サイト」についてローカルのVagrant環境で動作確認をする方法についてまとめました。

環境

以下の環境で確認しています。ホストOSはMacOSですが、ゲストOSが同じであれば大きくは変わらないと思います。

  • ホストOS:MacOS Catalina
  • ゲストOS:CentOS7
  • 仮想環境:Vagrant2.2.7 + VirtualBox6.0.18

構築手順

前提としてVagrantとVirtualBoxのインストールは環境していることとします。

仮想環境(CentOS)

CentOSのインストール

vagrantでCentOS7の環境を構築します。

mkdir tokyo-covid19
cd tokyo-covid19
vagrant init centos/7

ホストOSから接続できるように、ネットワークの設定をします。ここではVirtualBox用のプライベートネットワークを追加することにしています。

Vagrantfileの以下の部分をコメントアウトしてゲストOSのIPアドレスを指定します。

config.vm.network "private_network", ip: "192.168.2.100"

デフォルトではゲストOSのメモリが512MBなので2GBに増やします。

config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
     vb.memory = "2048"
end

ゲストOSを起動してSSHで接続します。

vagrant up
vagrant ssh

前提ソフトウェア(git、node.js、g++)のインストール

環境構築には、CentOS上に、ソースコードを取得するためのgit、フレームワークを実行するためのnode.js、パッケージのコンパイルのためのyarnとg++のインストールが必要です。

node.jsのインストール

sudo yum install https://rpm.nodesource.com/pub_12.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm
sudo yum -y install nodejs 

g++のインストール

sudo yum install gcc-c++

yarnのインストール

sudo npm install -g yarn

ファイアウォールの停止

デフォルトではCentOSファイアウォールが起動しているため停止します。

sudo systemctl stop firewalld

新型コロナウイルス感染症対策サイトの構築

githubからソースコード一式を取得する

git clone https://github.com/tokyo-metropolitan-gov/covid19
cd covid19

※ ここでREADME通りだとyarn installとなるのですが、途中でnode.jsがOut of Memoryになってしまったので、ヒープサイズを拡張します

package.jsonのdevの箇所に、「NODE_OPTIONS=--max_old_space_size=2048」を追記し、ヒープサイズを2GBにします。

  "scripts": {
    "dev": "cross-env NODE_OPTIONS=--max_old_space_size=2048 NODE_ENV=development nuxt-ts",
    "build": "nuxt-ts build",
    "start": "cross-env NODE_ENV=production nuxt-ts start",

パッケージのインストールを行い、dev環境を起動します。
なお、ホストOSから接続するためには「--hostname 0.0.0.0」オプションを付ける必要があります。

yarn install
yarn dev --hostname 0.0.0.0

ホストOSから接続確認

ビルドが完了したら、ホストOSから「http://192.168.2.100:3000」にアクセスします。
問題なければ、新型コロナウイルス感染症対策サイトが表示されます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1