perl-5.32上でfml4を動作させる。ついでにWebUIを設定する。

Linux

Raspberry PiのRocky LinuxにFML8にインストールしたが、設定が不明な点が有り動作させられなかった。
FML4を動作させるために、perl-5.8.9をコンパイルするがエラーとなった。
対応をwebで検索していたら、デフォルトインストールされているperl-5.32上でFML4を動作させるためのパッチを発見した。
若干修正が必要で有るため記録する。

以下のURLからfml4のパッチをダウンロードする。

「Satoru Yamane」さん、パッチ作成ありがとうございます。
FML4 patch :: Yamane’s Home (carina.gr.jp)

パッチを適用する。

FML4のソースディレクトリと同じところにパッチを展開して、FML4のソースディレクトリに移動後パッチを適用するため適用するパッチのファイルパスは、「../fml-4.0-stable-20040215.diff 」になります。

makefmlのperlコマンドのパスを修正する。

標準のperlコマンドを利用するため、シェル内のperlのパスを「/usr/bin/perl」に変更する。

WebUIのモジュールを修正する。

「getopts.pl」はperl-5.32では利用できないため、「Getopt::Std 」を利用するように修正する。

FMLをインストール

/usr/local/fmlにfmlをインストールする。

fmlユーザを登録してfmlユーザにfmlのコマンドのパスを追加する。

fmlのインストールパスは、fmlユーザでのみ使用するのでfmlユーザにのみに、fmlのインストールパスを「.bashrc」のPATH設定に追加する。

postfixにfmlのaliases定義を追加する。

fmlで使用する「/var/spool/ml/etc/aliases」をposfixに追加する。

FML用のaliasesを作成する。

ファイルは存在しないため、touchコマンドでファイルを作成し、postaliasコマンドでDBを作成する。

fmlで使用するファイルの所有権をfmlに変更する。

/var/spool/mlと/usr/local/fmlの所有権をfmlユーザに変更する。

nginxにWebUIを設定する。

nginxにfml用の設定を追加する。

nginxを再起動する。

fmlのGUIサイトにアクセスでる。

以下のURLでGUIの画面が表示される。
https://<IPアドレス|ホスト名>/fml/admin/index.cgi

メールアドレスの追加や削除なめ画面遷移すると、アクセスするファルのアクセス権がfmlのためHTTP(nginxユーザ)からはアクセス(更新処理など)できません。
修正方法は今後調査して公開します。