2016年4月26日火曜日

PlayFramework-2.5をHerokuで動かす


基本的にはここに書かれている通りに進めた。: https://www.playframework.com/documentation/ja/2.4.x/ProductionHeroku

herokuツールのインストールおよび、herokuアカウントは取得済みとする。

activatorでプロジェクトの作成

$ activator new プロジェクト名 play-scala
 

git管理化

$ git init
$ git add .
$ git commit -m "initial commit"

herokuプロジェクトの作成

$ heroku create

デプロイ

$ git push heroku master

ここで http://アプリ名.heroku.com/ にアクセスできるはずだがエラーになってしまう。試しに heroku logs でログを見てみると次のようなエラーログが。

 2016-04-25T10:27:14.332916+00:00 app[web.1]: [error] p.a.l.c.CryptoConfigParser - The application secret has not been set, and we are in prod mode. Your application is not secure.
2016-04-25T10:27:14.337915+00:00 app[web.1]: [error] p.a.l.c.CryptoConfigParser - To set the application secret, please read http://playframework.com/documentation/latest/ApplicationSecret
2016-04-25T10:27:14.435785+00:00 app[web.1]: [error] p.a.l.c.CryptoConfigParser - The application secret has not been set, and we are in prod mode. Your application is not secure.
2016-04-25T10:27:14.435967+00:00 app[web.1]: [error] p.a.l.c.CryptoConfigParser - To set the application secret, please read http://playframework.com/documentation/latest/ApplicationSecret
2016-04-25T10:27:14.436789+00:00 app[web.1]: [error] p.a.l.c.CryptoConfigParser - The application secret has not been set, and we are in prod mode. Your application is not secure.
2016-04-25T10:27:14.436985+00:00 app[web.1]: [error] p.a.l.c.CryptoConfigParser - To set the application secret, please read http://playframework.com/documentation/latest/ApplicationSecret


エラーメッセージで検索してみると次の解決策が見つかった。 http://stackoverflow.com/questions/8686394/how-to-keep-the-app-secret-a-secret

conf/application.conf の「play.crypto.secret」の行を次のように修正

play.crypto.secret = ${APP_SECRET}

そして、heroku環境でAPP_SECRETという環境変数が設定されているようにする

$ heroku config:add APP_SECRET=xxxxxxxx

(xxxxxxx)のところに秘密のキーを適当に作って入れる

これで、git pushしたら動くはず
ローカルでstartしたいときのためにローカルでもAPP_SECRETを設定しておく

$ export APP_SECRET=hoge


環境

  • Play framework 2.5.2
  • JDK: java-8-oracle
  • OS: Ubuntu 14.04

2016年4月12日火曜日

Latexで "Encoding file `eu2enc.def' not found." と言われた時の対処法

 次のようなエラーが出てしまうときの対処法


! Package fontenc Error: Encoding file `eu2enc.def' not found.
(fontenc)                You might have misspelt the name of the encoding.

See the fontenc package documentation for explanation.
Type  H <return>  for immediate help.
texlive-xetex というパッケージをインストールすればいいようだ。

$ sudo apt-get install texlive-xetex

私の環境は
  • Ubuntu 14.04 (Trusty Tahr) amd64
  • lualatex: This is LuaTeX, Version beta-0.76.0-2013121407  (TeX Live 2013/dev/Debian) (rev 4627)
以上。

latexで「LaTeX Error: File `luaotfload.sty' not found.」と言われた時の対処法

latexで次のようなエラーが出たときの対処法
! LaTeX Error: File `luaotfload.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.

Ubuntu package searchで「luaotfload.sty」を持つパッケージを検索してみると「texlive-luatex」というのが該当したのでこれをapt-getでインストールした。

$ sudo apt-get install texlive-luatex

私の環境は以下の通り
  • Ubuntu 14.04 (Trusty Tahr) amd64
  • lualatex: This is LuaTeX, Version beta-0.76.0-2013121407  (TeX Live 2013/dev/Debian) (rev 4627)

以上。

関連記事