投稿

8月, 2019の投稿を表示しています

Raspberry PiのTomcat 9にLet's Encryptを

Raspberry Piといえども最近はTLSが必要らしいので早々にTLS化する必要があります。 Let's Encryptを使用してみました。 # apt-get install python-certbot-apache というのでいろいろインストールされた。 いろいろつついてしまった中で、最初はメールアドレスやライセンスの質問があった気がします。 とりあえず全部rootで実行してしまいましたがtomcatかなにかで使えるのかな? 何度か試してみた後… # certbot certonly -d siisise.net How would you like to authenticate with the ACME CA? (認証方法どないする?) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Apache Web Server plugin (apache) (Apacheのプラグイン使う) 2: Spin up a temporary webserver (standalone) (仮の独立Webサーバ立ててサインアップする) 3: Place files in webroot directory (webroot) (webのrootディレクトリにファイル置いて認証する) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3つの選択肢、サーバを止められるなら2、止められないなら3かな とりあえず2と3で試してみた。ワイルドカード証明書はこれとは別でDNSを使うと取れるらしいです。 2の場合はポート80を使っているサーバを止めてから実行するだけ。 # service tomcat9 stop を先に実行しておく 仮のサーバが起動し、ドメイン接続確認後、 /etc/letsencrypt/live/siisise.net/ に各種ファイルを作ってくれました。developer.jpも同じように作成。 3の場合は Plugins selected: Authenticato

Raspberry PiでTomcat 9とPostgreSQLをぐりぐりする

Raspberry Pi Zero WでJava SE 8が使えるようになったところでApache TomcatやPostgreSQLを使いたいのです。アクセス負荷に耐えられるようmicroSDカードは大容量や高耐久のものにしてみたのでした。 Tomcatは9だった tomcatはパッケージを入れても動くのですが、常時動いてほしいのでaptで取ってくるとどうなるのかというお試し。最新のTomcat 9はJDK 8でも動きます。 # apt-get install tomcat9 で、だいたい入ります。tomcat9-admin も入れてみるといいのでしょうか。 他のパッケージはtomcat9-docs, tomcat9-examples, tomcat9-users とあるようです。 /usr/share/tomcat9 がCATALINA_HOME、/var/lib/tomcat9 がCATALINA_BASE となり、tomcatグループとユーザも作られ、サーバもtomcat権限で動いています。アプリ系のアカウントは基本rootやsudoで作業すればいいのでパスワードを設定してはいけません。 CATALINA_HOMEは基本的に触れません。CATALINA_BASEのconf内をいろいろカスタマイズすることで、いろいろと動いてくれます。/etc/tomcat9 にリンクされています。 初期ポートは8080なので、conf/server.xml でport 80にしたり、複数仮想サーバを作ったりできます。 サービス開始/停止は # service tomcat9 start # service tomcat9 stop でできるようです。どこに設定があるのかよくわからない。 RedHat系で/etc/rc.d/init.d/ にあるようなものは /etc/default/ にあるのかな。 Webはオートデプロイにして、webapps相当のグループをtomcatにして書き込みもできるようにしておくと、管理も楽かもしれませぬ。 PostgreSQLはもう11か Raspberry Pi Zero WとWH、ふたつあるのでTomcatとは別の方にPostgreSQL入れます。 # apt-get install postgresql

RazpberryPi Zero WでJavaを使おう

というわけでRaspberryPiどころか家でPCにも触ってなかったのですが最近Ryzen 5 2600XなPCを組んでからプログラミングやらいろいろ再開中で、RaspberryPiでWebサーバでもと思ったら2Bが行方不明なのでZero Wを買って挑戦してみることに。 いろいろ罠にはまります。 RaspberryPi Zero WとWHをスイッチサイエンスで1つずつ購入 microSDXCカード 128GBを2枚購入していた(危険 class 10、UHS-Ⅰ Speed Class 1、A1対応) microSDHC 8~32GBが推奨 USBキーボードがなかった(Logiのワイヤレスドングルので可。SANWAのキーボードもあった) てきとーなmicroUSBで繋がる電源 PuTTYとWinSCPでリモート接続 本体の選択 まずは本体の選択、初心者はできれば3B+かな。Zeroは2台目以降でもいいのかもしれない。 フルサイズUSB端子がある、有線LANがある、無線LANもある、HDMIがフルサイズ、などの理由です。変換ケーブル類も高いので予備がないなら3B+です。 Zero Wは、シングルコアARMv6、microUSB OTGがある、有線LANがない、無線LANがある、HDMIがminiサイズ、といろいろと不便です。Zeroになると無線LANまでないので別途用意しないといけません。 Javaを動かしたいならARMv7以降のCPUのものを選ぼう。NOOBSにはARMv7対応のJava11くらいが入っていた。Zero WはARMv6です。あとで対応したJavaを探します。 メモリーカード、OSの選択 メモリーカードの設定から入ります。microSDHC、microSDXCが使えますが、推奨は8GB以上のようです。microSDXCはフォーマットがFAT32ではないという理由で初心者にはおすすめしません。というわけで、初心者向けの容量は8GBから32GBの間で選びます。挑戦したい人はmicroSDXCも今は512GBくらいまであるので選び放題です。 速度など容量以外の選択基準では、class10、UHS不要、A1かA2対応のスマホ用に最適化されているようなものや、書き換えに高耐久なもの、がおすすめです。PCで最初に書き込むのが速