ラズパイでミュージックサーバーが立ち上がった。気軽に手持ちの音源を聞くことができる。在宅で音寂しい時にBGMとしてお手軽に流せるようになった。
折角なので、Webでアクセスできた方が便利かも・・・と思って、web clientをインストールしてみる。javaで動く、クライアントで良さそうなものがあったので挑戦。
その前にjavaをraspberry piにインストール。
どうやってインストールするべきか、悩んだ末、snapsを使うことにする。お勉強の意味もありつつ、自動的にupdateするので(放置よりも)安全だろう。
インストール手順:
ただし、3B+だと
sudo snap install core
を実行したあと、待たされた挙句、timeoutでエラーとなった。単にtimeoutだったようで、プロセスを監視してしばらく放置。
snap install hello-world
でhello-worldをインストール後動作確認し終了。
OpenJDKをインストール
Install OpenJDK on Linux | Snap Store
sudo snap install openjdk
環境変数追加のために・・
~/.bashrcに
. $(openjdk)
の一行を追加し、
source ~/.bashrc
で反映。
引き続き、githubからampdをダウンロード。
java -jar -Dserver.port=8003 ampd.jar
で起動。ブラウザからhttp://myserver:8003にアクセスして動作を確認。起動までちょっぴし時間かかるけれども、ラズパイだし許容範囲内。起動してしまえば、動作にもたつきもないし問題なし。
さらに、systemdで起動できるように設定。
あらかじめ、application.propertiesを準備しお好きな設定にカスタマイズ。説明通りに設定したけれども、systemctl start ampdで起動しない。javaそのものにpathが通ってない。30分くらい悩んだ・・・。sudoの時のパスに足すのか、とか。結論としてはampd.serviceファイルにpathの環境変数を追加すると良いらしい。
ampd.service:
[Unit]
Description=ampd
After=syslog.target[Service]
Environment=PATH=/snap/openjdk/current/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
User=home_user
ExecStart=/opt/ampd/ampd.jar
SuccessExitStatus=143[Install]
WantedBy=multi-user.target
でOK。自動起動も設定。
systemctl enable ampd.service
試しに再起動して動作確認も。
細かいところは使いながら設定を吟味していこう。