2015年4月14日火曜日

Raspberry Pi 2でTomcat

Raspberry PiにはRSコンポーネンツ版とElement14版があると。 違いは箱と説明書ぐらいかな。

PCとの比較
  • マザーボード+CPU+GPU+メモリ → Raspberry Pi
  • 電源 → USB ACアダプタ
  • HDD/SSD → microSDHCカード
  • ケース → ケース

Pidoraも試してみようと思ったのですが、まだRaspberry Pi 2には対応していないようですね。LinuxはSnappy Ubuntu CoreかRaspbian Debian Wheezyですか。

Raspberry Pi 2のRaspbianにJDK8を後で入れてみましたが、Raspbian February 2015には標準で入っているようです。
Tomcatはopenjdk7を探しているようなので、OpenJDK7やOracle Java SE 7を追加で入れる場合は

apt-get install openjdk-7-jdk
または
apt-get install oracle-java7-jdk

apt-get install tomcat7

くらいでいいようです。openjdk-7-jdkとtomcat7で使ってみることにします。

CATALINA_HOMEは /usr/share/tomcat7
CATALINA_BASEは /var/lib/tomcat7
さらに
conf  → /etc/tomcat7
logs → /var/log/tomcat7
work → /var/cache/tomcat7

なのでしょうか

/var/lib/tomcat7/webappsは使いたくないのでserver.xml を適度に編集します。

Apacheは2.2系が入っているのか入れられるのかなので、mod_proxyとmod_proxy_ajpを有効にしてTomcatと繋ぎます。mod_jk2よりはるかに簡単ですが、ApacheもDebian系の癖がある分難解でしたがとりあえず略で。

/etc/apache2/mods-enabled にmods-availableのmod_proxy系のシンボリックリンクを貼って、sites-availableとsites-enabledも同様にします。
sites-availableの対象ホストに

 ProxyPass ajp://localhost:8080/

のようなものを追加して終了。
ServerNameとServerAliasも入れてみたり適度に設定されていることを確認しておきましょう。
VirtualHostsの設定を無視してとりあえず全部Tomcatへ繋がってしまったのでそのまま。

Tomcat側の設定はAJP13だけなので略。
旧サーバのWebをROOT.warにまとめてRaspbianの指定したところへコピーすると勝手に展開してくれるので簡単にテストをして、公開してみました。

PostgreSQL 9.1もあります。

apt-get install postgresql
/var/lib/postgresql/9.1 にデータベース
/etc/postgresql/9.1 に各種設定

さくさくっと設定も特になく動いてくれます。変更するのはpg_hba.confの接続設定ぐらいでしょうか。

旧サーバではPPPoE接続もしていてルータ兼用でしたが、ルータ機にDMZとか設定できる機能があるのでそれを使ってみます。