OpenADR VTN サーバの構築
OpenADR VTN サーバの構築といっても学習用で自分のMacにEPRIから提供されているソフトウェアを使うというものです。
具体的な構築方法は
にある補足資料を読みながら行いました。以下はその備忘録です。
事前準備とOpenADR VTN サーバの構築とでまとめてあります。
事前準備は、Viurtal box環境にUbuntuをインストールする備忘録
OpenADR VTN サーバの構築は、書籍紹介ページに添付されている
補足資料を読みながら作業した備忘録です。
この補足資料とおりにうまくできなかった箇所については著者の山田先生に直接ご教示いただいた内容を反映しています。
補足資料とおりでうまくいかないので、参考にしていただければ幸いです。
事前準備
MacにViurtal box環境を作りUbuntuをインストール
MacにViurtal box環境を作るのはこちらを参考にしました。
Ubuntuインストールに手こずってしまったが、こちらを参考にしたらうまくインストールできた。手こずってたのはストレージ設定でした。
ホストWindowsからコピペすることが多いので以下の設定を忘れないこと。
なお、設定後はUbuntuの再起動が必要。
OpenADR VTN サーバの構築
1. Ubuntu にログインし,端末(ターミナル)を起動
2. PostgreSQL のインストール
$ sudo apt update
$ sudo apt install postgresql-9.5
3. Java7をインストール
3.1 Ubuntu のアーカイブからソースパッケージをダウンロードします.
$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openjdk-7/openjdk-7-jdk_7u51-2.4.6-1ubuntu4_amd64.deb
$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openjdk-7/openjdk-7-jre_7u51-2.4.6-1ubuntu4_amd64.deb
補足資料に記載ある次のコマンドは誤植。ハイフンがない
$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openjdk-7/openjdk-7-jreheadless_7u51-2.4.6-1ubuntu4_amd64.deb
正しくは次のとおり。
$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openjdk-7/openjdk-7-jre-headless_7u51-2.4.6-1ubuntu4_amd64.deb
$ wget http://archive.ubuntu.com/ubuntu/pool/main/g/giflib/libgif4_4.1.6-11_amd64.deb
$ wget http://archive.ubuntu.com/ubuntu/pool/main/t/tzdata/tzdata_2014b-1_all.deb
$ wget http://archive.ubuntu.com/ubuntu/pool/main/t/tzdata/tzdata-java_2014b-1_all.deb
3.2 tzdata をダウングレードするため,既にインストールされているパッケージを削除します.
$ sudo apt remove tzdata
3.3 ダウンロードしたソースパッケージをインストールします.
以下も誤植でした。
$ sudo apt install -y ./openjdk-7-jdk_7u51-2.4.6-1ubuntu4_amd64.deb ./openjdk-7-jre_7u51-2.4.6-1ubuntu4_amd64.deb ./openjdk-7-jre-headless_7u51-2.4.6-1ubuntu4_amd64.deb ./libgif4_4.1.6-11_amd64.deb ./tzdata_2014b-1_all.deb ./tzdatajava_2014b-1_all.deb
次が正しい
$ sudo apt install -y ./openjdk-7-jdk_7u51-2.4.6-1ubuntu4_amd64.deb ./openjdk-7-jre_7u51-2.4.6-1ubuntu4_amd64.deb ./openjdk-7-jre-headless_7u51-2.4.6-1ubuntu4_amd64.deb ./libgif4_4.1.6-11_amd64.deb ./tzdata_2014b-1_all.deb ./tzdata-java_2014b-1_all.deb
3.4 Java 7 がインストールできたことを確認します."java version 1.7.0_51"と表示されます.
$ java -version
4. TorqueBox 実行用に新しいユーザアカウントを作成
$ sudo adduser torquebox --system --disabled-login
5. suコマンドでTorqueBox ユーザに切替
$ sudo su -l --shell=/bin/bash torquebox
6. JRuby をインストールし,環境変数にJRuby 設定追加
$ wget https://s3.amazonaws.com/jruby.org/downloads/1.7.10/jruby-bin-1.7.10.tar.gz
$ tar xzvf jruby-bin-1.7.10.tar.gz
$ echo 'export PATH=/home/torquebox/jruby-1.7.10/bin:$PATH' | tee -a ~/.profile
$ echo 'export RAILS_ENV=production' | tee -a ~/.profile
6.1 JRuby がインストールできたことを確認します."jruby 1.7.10"と表示されます.
$ more .profile
次のようになっているかを確認する。
$ source .profile
$ jruby -v
次のようになっているかを確認する。
$ exit
7. PostgerSQL のデータベースを設定
PostgreSQL データベース用のユーザアカウントepriとデータベースepri_oadr を作成します.
$ sudo apt remove postgresql-9.5
$ sudo apt install postgresql-9.5
$ sudo su - postgres
$ createuser -P epri
passwordはepriとする
$ createdb --owner epri epri_oadr
$ exit
8. TorqueBox とRuby on Rails をインストール
ここでは、必要なRuby モジュールをインストールします.
$ sudo su -l --shell=/bin/bash torquebox
$ gem source -r https://rubygems.org/
$ gem source -a http://rubygems.org/
$ gem install thor -v 0.16.0
$ gem install torquebox-server -v 3.0.2
$ gem install rack -v 1.4.5
$ gem install rack-cache -v 1.2
$ gem install concurrent-ruby -v 1.1.8
$ gem install rails -v 3.2.12
8.1 RubyGems(Ruby のライブラリ)がインストールできたことを確認します.前でインストールしたgem の他,依存するgem もインストールされています.
$ gem list
9. EPRI OADR VTN をインストール
$ wget https://github.com/epri-dev/OpenADR-Virtual-Top-Node/archive/v0.9.7.tar.gz
$ tar xzvf v0.9.7.tar.gz
10. Ruby on Rails のモジュールをインストール
インストール前にダウンロード先を"http:"に変更する必要があります.その後,bundle コマンドでインストールしますが,仮想環境に割り当てたメモリが少ないためjruby のヒープメモリ量を指定して実行します.
$ mv OpenADR-Virtual-Top-Node-0.9.7 oadr
$ cd oadr
$ sed --in-place=.orig -e 's;https://rubygems.org;http://rubygems.org;g' Gemfile
$ jruby -J-Xmx1024m -S bundle
11.Rudy on Rails の設定
$ cp config/database.yml{.example,}
$ cp config/torquebox.yml{.example,}
$ cp config/initializers/secret_token.rb{.example,}
$ SECKEY=$(rake secret)
$ sed -i -e "s/ = 'place token here'/ = '$SECKEY'/" config/initializers/secret_token.rb
$ rake db:setup
$ rake db:seed
11.1 Rails のproduction 環境上でアセットパイプラインを通るようにプリコンパイルを実行します(プリコンパイルには時間が掛かります)。
$ rake assets:precompile RAILS_ENV=production
12. TorqueBoxのデプロイ
$ torquebox deploy
13. EPRI OADR VTN サービスを起動
$ torquebox run -b 0.0.0.0
13.1 ブラウザ(Firefox)から,http://localhost:8080/ へアクセスします.EPRI DR Test Server のログイン画面が表示されます.
14. TorqueBox の終了
$ [ctrl] + [c]
15. 再起動のTorqueBox の起動
新しいシェルから起動するときは,torquebox ユーザになってから起動します.
$ sudo su -l --shell=/bin/bash torquebox
$ torquebox run -b 0.0.0.0
この後、ブラウザ(Firefox)から,http://localhost:8080/ へアクセスします.
以上で作業は終わりです。山田先生にはお忙しいところ教えていただき助かりました。