2018年10月8日月曜日

play scalaをvagrantで動かしてみる(覚書 2018.10現在)

久々にplayを動かしてみると、だいぶ環境が変わっていてとまどった。古いネットの情報では、うまく動かせないようだ。覚書として、手順をまとめてみた。

1 Ubuntuをvagrantで利用してみる
 vagrant init bento/ubuntu-18.04
2 Vagrantfileでいくつか編集
①まず、ポート番号9000が使えるように以下の行を追加
  config.vm.network :forwarded_port, host: 9000, guest: 9000
②メモリを標準の2倍にしてみた。
 config.vm.provider "virtualbox" do |vb|
     vb.memory = "2048"
  end
③ipアドレスを指定してHostOnlyモードを有効にした。
 config.vm.network "private_network", ip: "192.168.33.10"
もし、テスト環境でなく、ネットワーク上の他のPCからアクセスするような
本番環境なら ブリッジモードの必要があり たぶん
config.vm.network "public_network"
とするのかもしれない。

3 仮想OSを立ち上げる
 vagrant up 
4 sshでアクセスする
 vagrant ssh
5  ここから先は以下のリンクがとても参考になりました。sbtのインストールは難しかったのですが、このサイトのおかげで解決しました。
 $ sudo add-apt-repository ppa:webupd8team/java 
 $ sudo apt update
 $ sudo apt install oracle-java8-installer
 $ sudo apt install oracle-java8-set-default
 $ echo "export PATH=/usr/local/anaconda2/bin:$PATH" >> /etc/bash.bashrc
$ echo "export JAVA_HOME=/usr/lib/jvm/java-8-oracle/" >> /etc/bash.bashrc
$ echo "export PATH=$PATH:$JAVA_HOME/bin" >> /etc/bash.bashrc
$ sudo apt-get remove scala-library scala
$ sudo wget www.scala-lang.org/files/archive/scala-2.11.8.deb
$ sudo dpkg -i scala-2.11.8.deb
$ echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
$ sudo apt-get update
$ sudo apt-get install sbt

6 適当なディレクトリを作りその中でsbt newを行う。sbt new playframework/play-scala-seed.g8

7 ここで、作成されたディレクトリ(上記6で名前を指定できる)に入る(←ここがうっかり逃しやすい!!)
そして、sbtを実行し、runを実行
 しかし、このままでは、外からアクセスできません。
を参考にして
8 ここで、フィルターの設定を変える必要がある。
# conf/application.conf
play.filters.hosts {
    allowed = ["."]
  }
とすればOkである。セキュリティの制限に応じて、この設定は変える必要あると思いますが。

※ネット上のあちこちの情報をかき集めることで なんとか、新しい環境でPlay scalaを動かすことができた。書籍にも、サイトにも、これらのことをまとめてあるところは、まだ少ない?ように思う。




0 件のコメント:

コメントを投稿