2026/06/02(火)Icecast 2.5.0 は FreeBSD ではまともに動作しないので「ダウングレード」した

2026/06/02 13:37 サーバ運営・管理
自分メモ。表題通りです。

Icecast 2.5.0 と ezstream 0.5.6 の組合せは FreeBSD では使えない模様

Icecast は、Webラジオをサービスするにあたって、
おそらく最も使用されているサーバソフトウェアと思われます。
ところが、 Icecast 2.4.4 を Icecast 2.5.0(FreeBSD Ports での最新版)にアップデートすると、
こうなります ↓
20260602_2.jpg
20260602_1.png


「404 File Not Found」という謎のエラー。
動作ログを眺めると
EROR admin/admin_handle_request Error parsing command string or unrecognised command: \x21POKE
EROR util/util_http_select_best Input string does not parse as KVA. Selecting first option.
というのが残っています。
どうも、 '!POKE' (「\x21」は「!」の文字コードです)いうコマンド(?) が ezstream 側から発生しており、
Icecast 2.5 側で「意味不明」として処理されているのが直接の原因らしいです。

FreeBSD 14/15 で Webラジオストリーミングをする場合、
# pkg info | grep icecast

ezstream-0.5.6_11              Command line utility for streaming to icecast servers
icecast-2.5.0,1                Streaming mp3/ogg-vorbis audio server
このバージョンの組み合わせで Ports/Package で提供されており、ezstream の古さが際立っている感はあります。(ezstream の最新バージョンは 1.0.2)

おそらく、ezstream 1.0.2 を「ソースコードから適切にインストール」すればよいのでしょうが、
どうも上手くいきません・・・・・・

なのでIcecast 2.4.4 に「ダウングレード」することにしました。
あまり経験がないので、以下はその手順です。他のPorts でも応用が利きます。

Icecast 2.5.0 を ダウングレード

まず、 Ports から、 ports-mgmt/portdowngrade と、devel/subversion をインストールします。
# cd /usr/ports/ports-mgmt/portdowngrade
# make install clean 
# cd /usr/ports/devel/subversion
# make install clean
# rehash
# cd
実際、portdowngrade は、subversion が無いと動作しない(依存関係にある)のですが、
自動で依存関係のインストールをしないため、手動で2つのPorts をインストールします。
最後の cd は、ログインユーザのホームディレクトリに移動するためのものです。
一連の動作は root ユーザで行うとトラブルなく進みます。
次に
# portdowngrade audio/icecast | more
 または
# portdowngrade audio/icecast > (好きな名前のファイル名)
として、更新リビジョン履歴を取得・表示します。
通常、表示画面に収まらない分量なので、 上記のやりやすいほうでどうぞ。
こんな感じで、リビジョン情報が取得できます:
Choose a revision from this list and run /usr/local/sbin/portdowngrade audio/icecast revision
------------------------------------------------------------------------
r514128 | bapt | 2019-10-09 19:20:58 +0900 (2019/10/09 (水)) | 2 lines

Drop the ipv6 virtual category for a* category  as it is not relevant anymore

------------------------------------------------------------------------
r508834 | mat | 2019-08-14 01:00:39 +0900 (2019/08/14 (水)) | 2 lines

Convert to UCL & cleanup pkg-message (categories a-c)

------------------------------------------------------------------------
r484332 | sunpoet | 2018-11-07 06:09:42 +0900 (2018/11/07 (水)) | 8 lines

Update to 2.4.4

- Update MASTER_SITES
- Fix LIB_DEPENDS
- Use USES=gnome

Changes:        https://gitlab.xiph.org/xiph/icecast-server/raw/release-2.4.4/ChangeLog

------------------------------------------------------------------------
r483913 | sunpoet | 2018-11-04 07:15:38 +0900 (2018/11/04 (日)) | 5 lines

Move audio/icecast2 to audio/icecast

- Clean up Makefile
- Bump PORTREVISION for package change

------------------------------------------------------------------------
r478138 | sunpoet | 2018-08-27 03:41:03 +0900 (2018/08/27 (月)) | 2 lines

Update WWW
上記は、最初の一部です。直前の Icecast リビジョンは r514128 のようなので、このリビジョン(バージョン)へダウングレードします。

次に、該当リビジョンの Ports 取得を行います:
# portdowngrade audio/icecast r514128
コマンドを実行したカレントディレクトリに取得した Ports ディレクトリが作成されることに注意してください。
/usr/ports ディレクトリツリー配下で、 portdowngrade コマンドを実行しないようにしましょう。
本例示の場合は、カレントディレクトリに icecast ディレクトリが作成され、これが Ports ディレクトリになり
ます。

その次に、いよいよダウングレード作業ですが、
ここでの注意点は、「現在のリビジョンを先ず消去すること」です。
以下のように手順を進めます:
# cd /usr/ports/audio/icecast
# make deinstall
# cd 
# cd icecast
# make install clean
これで、icecast は 2.4.4 にダウングレードされ、ezstream 0.5.6 との組み合わせで不具合は解消しました。
こんな感じ ↓
# pkg info | grep icecast

ezstream-0.5.6_11              Command line utility for streaming to icecast servers
icecast-2.4.4,1                Streaming mp3/ogg-vorbis audio server
20260602_4.jpg
20260602_3.png


この Icecast ストリーミングは、エンドレスで数十曲の音楽垂れ流しをしていますが、
著作権上の問題があり非公開です。個人で聴取するためと、技術的検証目的で稼働させています。

最後に、ちょっと気になるのですが、最近の Ports は、確か git による管理に移行していて、 subversion での管理は過去のものだったような??

2026/05/27(水)dovecot 2.4.3 は FreeBSD15 で使える

2026/05/27 14:54 サーバ運営・管理
dovecot 2.4.2 は、何故か構築自体が出来なかったが、dovecot 2.4.3 は大丈夫です。
最近、旧バージョンからの入れ替えで運用開始しましたが、特に問題は起きていないようです。

[2026/06/02 追記]
dovecot 2.4.3 を SASL にしている場合、
認証形式のうち、DIGEST-MD5 が正常に機能しない場合があることを確認しています。
dovecot 2.4.3にて DIGEST-MD5 の実装に何かしらの変化か問題があるものと認識しています。

因みに dovecot は、メールサーバにインストールし、POP3/IMAP4 サーバとして機能させる為のものです。

ソースコードを /usr/local/src ディレクトリ上に置いた gz アーカイブから展開し、
# setenv CPPFLAGS '-I/usr/local/include -I/usr/include'
# setenv LDFLAGS '-L/usr/local/lib -L/usr/lib'
# cd dovecot-2.4.3
# ./configure --sysconfdir=/usr/local/etc/ --localstatedir=/var --with-ldap=yes --with-ssldir=/usr --with-lua --with-pcre2 --without-bsdauth
として、
# gmake
# gmake install
で大丈夫です。dovecot 2.4.1 からのアップデートでは、特に dovecot.conf 群の変更は必要無いと思います。
一部、configure のオプションを変更していますが、Warning が出るので、適宜変更しています。

また、gmake 進行途上で
*** Warning: Linking the executable test-smtp-client-errors against the loadable module
*** libssl_iostream_openssl.so is not portable!
という、メッセージが時折出力されますが、FreeBSD14,FreeBSD15 上での dovecot 2.4.3 運用においては、特に支障ないという見解になっています。

2026/05/25(月)FreeBSD Ports における FLAVOR の件・・・

2026/05/27 15:39 サーバ運営・管理
自分メモで記述。。
この件について、正直なところ、まともな理解をしていなかった訳だが・・・

FLAVOR (フレーバ) とは、簡単に述べると『構築選択メニュー』のようなものです。
最も判りやすいのは 「X11 対応あり」か「X11 対応無し」かを、選択する感じです。

例えば、ImageMagick 7.x を Ports にて X11 対応無しでインストールする場合、
 # cd /usr/ports/graphics/ImageMagick7
  # make install FLAVOR=nox11
でインストール出来ます。
FLAVOR を指定しない場合、ImageMagick7 の場合は、「X11 対応あり」で構築が進んでしまい、
X11 を使わない場合に、大量の不要ソフトウェアがインストールされてしまいます。

また、アップデートする場合、
多くの方々が使われていると思われる、portupgrade は、今だに FLAVOR 付き Ports には対応していません。
手っ取り早く、FLAVOR 対応済の、portmaster を使用することになります。

で、この FLAVOR は、Ports 毎に種別や有無があり、どのような FLAVOR があるのかを確認するには、各々の Ports ディレクトリ直下で
 # make pretty-flavors-package-names
を実行します。ImageMagick7 の場合は、おもむろに上記を実行すると、
 x11: ImageMagick7-7.1.2.23
 nox11: ImageMagick7-nox11-7.1.2.23
のように出力され、x11 と nox11 の2つのFLAVOR が確認出来ます。
一方で FLAVOR が設定されていない Ports の場合は、
 no flavor: perl5-5.42.2
のように出力されます。
しかし!! これは覚えにくい!!
何故、「pretty-flavors-package-names」・・・なんて、こんな長ったらしいのか!
素直に make flavors とかにすればよいのに、、とか思ってしまう。