カスタム検索
|
Tweet |
|
|
fmlのインストール
Modified: 10 August 2003
RedhatLinuxでの実験です。
fmlのダウンロードからインストール (3 August 2003)
fmlの動作テストをする (10 August 2003)
fmlのダウンロード
以下の本家のサイトからダウンロードできます。
「ダウンロード」をクリックし、「Stable」(動作安定版)をダウンロードします。私は、2003年8月3日に、"fml-4.0-stable-20030607.tar.gz"をダウンロードしました。
管理ユーザの作成
fmlというグループを作り、fmlという名前のユーザを作り、パスワードを設定します。
# groupadd fml
# useradd -g fml fml
# passwd fml
Changing password for user fml.
New password: **********
Retype new password: **********
passwd: all authentication tokens updated successfully.
#
管理ディレクトリの作成
以下のように、2つの管理ディレクトリを作成します。
# mkdir /usr/local/fml
# chown fml /usr/local/fml
# chgrp fml /usr/local/fml
#
# mkdir /var/spool/ml
# chown fml /var/spool/ml
# chgrp fml /var/spool/ml
#
解凍する
fmlのホームディレクトリ("/home/fml")に移動し、ダウンロードしたファイル("fml-4.0-stable-20030607.tar.gz")を、ここに移動します。
上記の場所出ない場合、インストールでエラーになりますの、必ずにここに移動してください。
# cd /home/fml
# su fml
$ tar zxvf fml-4.0-stable-20030607.tar.gz
:
$ cd fml-4.0-stable-20030607
解凍しインストール
$ perl makefml install unshift(@INC, /home/fml/fml/fml-4.0.3/src) ---NOT USING configuration file (for the first time) THIS HOST (rh73-93-postfix.tomo.ac) IS [i686-pc-linux-gnu] ---Please Define Your Fml System Configurations Personal Use or ML-Admin-Group-Shared or fmlserv you use? Personal, Group, Fmlserv (personal/group/fmlserv) [personal] <Enter> DOMAIN NAME [tomo.ac] <Enter> FQDN [rh73-93-postfix.tomo.ac] <Enter> EXEC FILES DIRECTORY [/usr/local/fml] <Enter> TOP LEVEL ML DIRECTORY [/var/spool/ml] <Enter> Language (Japanese or English) [English] <Enter> TimeZone (TZ: e.g. +0900, -0300) [+0900] <Enter> --- summary --- DOMAIN: tomo.ac FQDN: rh73-93-postfix.tomo.ac EXEC_DIR: /usr/local/fml ML_DIR: /var/spool/ml Language: English TimeZone: +0900 The current configuration is saved in /usr/local/fml/.fml/system ---Install the Fml system to /usr/local/fml. (y/n) [n] y <Enter> Installing fml system to /usr/local/fml Fixing Path: src ............................................................... ............. libexec ..... sbin . cf . bin .................... www/cgi-bin ... ...... www/lib ... sys ......... module .. Done. Generate nroff manuals: Installing bin ... Installing sbin . Installing libexec . Installing cf . Installing etc .... Installing sys .. Installing src ....... Installing drafts .. Installing messages ..... Installing www ...... Installing module ............ Installing databases ... Installing doc ................................................................. ................... Done. Setup CGI examples ........ CGI configuration is saved in /usr/local/fml/.fml/cgi.conf -- Enjoy Internetworking! $
なぜかエラー: fmlのホームディレクトリで実行しないと、以下のようなエラーが出ます。
$ perl makefml install unshift(@INC, /home/tomo/sources/fml/fml-4.0.3/src) ---NOT USING configuration file (for the first time) THIS HOST (rh73-93-postfix.tomo.ac) IS [i686-pc-linux-gnu] Can't locate libloadconfig.pl in @INC (@INC contains: /home/tomo/sources/fml/fml -4.0.3/src /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/s ite_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_per l/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl /usr/ lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib /perl5/vendor_perl . ) at makefml line 1579. $
Postfixの設定変更
"/etc/postfix/mail.cf"の最後に、以下を追加します。
:allow_mail_to_commands = alias,forward,include設定を有効にするために、再起動します。
# postfix reload postfix/postfix-script: refreshing the Postfix mail system #
動作テストする
テストメーリングリストを作成する
# su fml password: ******** $ perl makefml newml elena DO "newml" for elena mailing list. ---Creating elena mailing list directory /var/spool/ml/elena is created as UID=501 directory /var/spool/ml/elena/spool is created as UID=501 ---Generting configuration examples. Generate template files in /var/spool/ml/elena/ include include-ctl include-mead aliases Makefile crontab fmlwrapper.c fmlwrapper.h Generate qmail template files in /var/spool/ml/etc/qmail/alias/ .qmail-elena .qmail-elena-ctl .qmail-elena-default .qmail-elena-admin .qmail-elena-request .qmail-owner-elena .qmail-owner-elena-ctl Update /var/spool/ml/etc/qmail/users/assign Update /var/spool/ml/etc/crontab/fml Create config.ph(/var/spool/ml/elena/config.ph): /var/spool/ml/elena/cf -> config.ph ... Done. Create template files for commands (help, guide ...) help help-admin deny guide welcome confirm objective Update /var/spool/ml/etc/aliases The next step: update your MTA configuration. For example % su root # cat /var/spool/ml/elena/aliases >> /etc/aliases # newaliases FYI: See templates in '/var/spool/ml/elena/' done. $ exit #
aliasesを作成する
# cat /var/spool/ml/elena/aliases >> /etc/postfix/aliases # newaliases #
テストを実行する
# su fml password: ********$ perl makefml test elenarm DO "test" for elena mailing list. Do you test command mode? (y/n) [n] y done. *** -------------------; ; * Enter mailbody, end with "." on a line by itself Test mail desu. . FIELD>Return-Path:< > "fml" <fml@tomo.ac> < FIELD>Date:< > Sun, 10 Aug 2003 13:08:21 +0900 (JST)< FIELD>From:< > "fml" <fml@tomo.ac>< FIELD>Message-Id:< > <200308101308/23488.fml@tomo.ac>< FIELD>To:< > (list suppressed)< FIELD>Subject:< > test mail< *** Gecos ["fml"]; ; *** REWRITE_TO 0; ; INPUT BUF> Test mail desu. SCAN BUF> Test mail desu. (1 line) /or.jp/ && ADDR_CHECK_MAX += 1 /ne.jp/ && ADDR_CHECK_MAX += 1 PERMIT_POST_FROM members_only PERMIT_COMMAND_FROM members_only REJECT_POST reject REJECT_COMMAND reject FQDN rh73-93-postfix.tomo.ac DOMAIN tomo.ac Mailing List elena@tomo.ac Return Path fml@tomo.ac From(Original): "fml" <fml@tomo.ac> From_address: fml@tomo.ac Original Subject: test mail To: (list suppressed), , Reply-To: Addr2Reply: fml@tomo.ac DIR /var/spool/ml/elena LIBDIR /usr/local/fml ACTIVE_LIST /var/spool/ml/elena/actives @ACTIVE_LIST /var/spool/ml/elena/actives MEMBER_LIST /var/spool/ml/elena/members @MEMBER_LIST /var/spool/ml/elena/members CONTROL_ADDRESS: elena-ctl@tomo.ac Do uip LOAD_LIBRARY DupMessageIdP::(200308101308/23488.fml@tomo.ac, var/run/msgidcache) DupMessageIdP::(OK NOT LOOPED) ===Tick called now qp=2 fp=TimeOut finally qp=2 fp=TimeOut ---Debug::OutputEventQueue(); qp=1 link->2 fp= qp=2 link->0 fp=TimeOut now set alarm(43200) for the queue id 2 ===Tick called now qp=3 fp=TimeOut finally qp=3 fp=TimeOut ---Debug::OutputEventQueue(); qp=1 link->3 fp= qp=3 link->2 fp=TimeOut qp=2 link->0 fp=TimeOut now set alarm(3600) for the queue id 3 DupMessageIdP::(200308101308/23488.fml@tomo.ac, var/run/msgidcache) DupMessageIdP::(OK NOT LOOPED) DoMailListMemberP( fml@tomo.ac in /var/spool/ml/elena/members); *** ModeBifurcate: $PERMIT_POST_FROM members_only; ; *** ModeBifurcate: $PERMIT_COMMAND_FROM members_only; ; *** ModeBifurcate: artype confirmation; ; *** ModeBifurcate: key subscribe; ; *** ModeBifurcate: member_p ; ; *** $command_mode = 1;; ; *** 03 $command_mode = 1;; ; ADD_FIELD List-Subscribe ADD_FIELD List-Subscribe *** RejectHandler called from 270; ; *** Rejected: "From:" field is not member; ; CheckAddr2Reply 01: OK elena-admin@tomo.ac CheckAddr2Reply 01: OK elena-admin@tomo.ac CheckAddr2Reply 02: OK elena-admin@tomo.ac CheckAddr2Reply 02: OK elena-admin@tomo.ac *** Set Perl 5::Socket O.K.; ; CheckAddr2Reply 01: OK fml@tomo.ac CheckAddr2Reply 01: OK fml@tomo.ac CheckAddr2Reply 02: OK fml@tomo.ac CheckAddr2Reply 02: OK fml@tomo.ac NeonSendFile[main /usr/local/fml/libsmtputils.pl 108]: SUBJECT You fml@tomo.ac are not member (elena ML) FILES: /var/spool/ml/elena/deny SmtpFiles2Socket::(/var/spool/ml/elena/deny) ---ClearEvent: qp=3 fp=TimeOut Run hooks archive -> if (defined $ID) { &SmtpLogExpire() if $ID % 10 == 0; } if (defined $ID) { &SmtpLogExpire() if $ID % 10 == 0; } $
テスト用メーリングリストを削除する
$ perl makefml destructml elena DO "destructml" for elena mailing list. renamed /var/spool/ml/elena to /var/spool/ml/@elena (disabled). Please run "rm -fr /var/spool/ml/@elena " to remove it really. Update /var/spool/ml/etc/aliases done. $ exit # rm -rf /var/spool/ml/@elena #