fml4をWebUIで実行させる(パート1)

Linux

perl-5.32上でfml4を動作させる。ついでにWebUIを設定する。で止まっていた、WebUIの対応です。

エラーの確認

WebUIでMLにメールアドレスを登録しようとすると、以下の様な画面が表示される。
MLにユーザを追加するため、以下の処理を行う。
 ①「MLメンバーの登録/削除」の下になる「メンバー登録」にチェックを入れる。
 ②「MLの選択」から、対象のMLを選択する。
 ③「GO」をクリックする。

CUIを基本としているたため、makefmlコマンドで操作されるファイルはfmlユーザのアクセス権が設定されている。
よって、MLで使用するメンバー一覧ファイルをnginxユーザで処理しようとすると以下の様にアクセスできないエラーが発生する。
nginxユーザにfmlに関するファイルのアクセス権が無いためである。
「ERROR: cannot open ‘/var/spool/ml/hogehoge/members’

 

拡張aclを設定するディレクトリやファイルの確認

通常のアクセス権では、fmlユーザとnginxユーザの2人に同時にアクセス権を設定できない。
chmodコマンドでotherのアクセス権を設定すれば利用可能となるが、誰でも操作できる状態になってしまう。
よって、拡張アクセス権でnginxユーザも所有者となるような設定する必要がある。この設定を行うのが拡張ACLである。拡張ACLについての説明は省略する。

以下のファイル対して拡張ACLを設定する。
 /var/spool/ml ・・・・・・・・・・・・・・ fmlがMLのため使用するディレクトリ
 /var/spool/ml/etc/aliases・・・・・・・・・fmlが使用するaliasesファイル
 /var/spool/ml/hogehoge・・・・・・・・・ ml名ディレクトリ
 /var/spool/ml/hogehoge/members・・・・ mlのメンバーファイル

 

拡張ACLを設定する

拡張aclを設定する例です。
・setfacl …… nginxユーザに読み書き権を付与する。
・getfacl …… 拡張aclの設定を表示する。

 

ユーザ登録の再テスト

MLにユーザを追加するため、以下の処理を行う。
 ①「MLメンバーの登録/削除」の下になる「メンバー登録」にチェックを入れる。
 ②「MLの選択」から、対象のMLを選択する。
 ③「GO」をクリックする。
以下の画面が表示された。成功です。

ユーザを登録するため、以下の操作を行う。
 ①登録するメールアドレスを入力する。
 ②左下の「Submit」をクリックする。

 

makefmlのエラーが表示された。

「Unknown option: E」なるエラーが発生した。

GUIで利用するラッパーシェルに問題が有るように思われる。
まだまだ調査が続く。

 

対処法判明

パッチの修正内容が間違っていたため、本障害になった。
パッチの作り直して適用したら正常に動作した。
以下の情報を更新しなした。参照ください。
perl-5.32上でfml4を動作させる。ついでにWebUIを設定する。(再投稿)