メーリングリス
トFMLのインストール
1.FMLのダウンロード
fml project top page
より fml-4.0.3.tar.gz をダウンロード
2. fmlユーザの登録
fmlをセットアップするには、必ずfmlユーザ、fmlグループを最高権限とする。したがって、
rootから
Linuxの場合、
# useradd fml
FreeBSDの場合、
# /stand/sysinstall
メニューでユーザとグループを登録する。
3.fmlディレクトリの作成
fmlのディレクトリとメーリングリストディレクトリを作成する。rootから、
# mkdir /usr/local/fml
# chown fml.fml /usr/local/fml
# chmod 755 /usr/local/fml
# mkdir /var/spool/ml
# chown fml.fml /var/spool/ml
# chmod 755 /var/spool/ml
4.インストール
tarボールのソースを解凍してインストールする。
suでfmlに切り替えてから、
$ tar -zxvf fml-***-***.tar.gz
$ cd fml-***-***
$ perl makefml install
[fml@fmv fml-4.0.3]$ perl makefml install
unshift(@INC, /tmp/fml-4.0.3/src)
---NOT USING configuration file (for the first time)
THIS HOST (fmv.anabuki.instat.ne.jp) IS [i586-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]
小
規模のためpersonal
DOMAIN
NAME
[anabuki.instat.ne.jp]
FQDN
[fmv.anabuki.instat.ne.jp]
EXEC FILES DIRECTORY [/usr/local/fml]
TOP LEVEL ML DIRECTORY [/var/spool/ml]
Language (Japanese or English) [Japanese]
TimeZone (TZ: e.g. +0900, -0300) [+0900]
--- summary ---
DOMAIN: anabuki.instat.ne.jp
FQDN:
fmv.anabuki.instat.ne.jp
EXEC_DIR: /usr/local/fml
ML_DIR: /var/spool/ml
Language: Japanese
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
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!
5.Postfixのmain.cfへの追加点
デフォルトでは :include: が使えないので /etc/postfix/main.cf
を次のように変更する。
これで :include: 命令が有効になる。main.cfへ一行定義を追加する。rootから、
# cd /etc/postfix
# vi main.cf
省略
allow_mail_to_commands
= alias,forward,include
main.cfの最後に、この記述を、追加しないとPostfix環境でfmlは使えない。
6.各ディレクトリの説明
● /usr/local/fml
fmlの本体及びライブラリを収容。
● /usr/local/fml/.fml
インストール時の基本設定が保存される。
● /usr/local/fml/bin
メーリングリストのテスト用スクリプトを収容。
● /usr/local/fml/doc
fmlのドキュメント関係収容。
● /usr/local/fml/drafts
メーリングリストを作成した時に自動的に作られる。
ドキュメントのひな型が収容されている。
● /usr/local/fml/etc
各種ファイルのひな型が収容されている。
● /usr/local/fml/libexec
POP管理で使うスクリプト及び他のメーリングリストエンジンの互換用I/F収容。
● /usr/local/fml/messages
エラー時に返す文字列の収容。
● /usr/local/fml/sbin
fmlインストール時に使われるスクリプトファイル収容。
● /usr/local/fml/sys
OSに依存するファイルが、OS別に収容。
● /var/spool/etc
この中には、マシン共通のメーリングリスト設定ファイルが収容。
7.メーリングリストの作成
実際のメーリングリストを作る手順。fmlユーザから、
$ /usr/local/fml/makefml newml test
[fml@fmv etc]$ /usr/local/fml/makefml newml test
DO "newml" for test mailing list.
---Creating test mailing list
directory /var/spool/ml/test is created as UID=12346
directory /var/spool/ml/test/spool is created as UID=12346
---Generting configuration examples.
Generate template files in /var/spool/ml/test/
include include-ctl
include-mead aliases Makefile crontab
fmlwrapper.c
fmlwrapper.h
Generate qmail template files in
/var/spool/ml/etc/qmail/alias/
.qmail-test
.qmail-test-ctl .qmail-test-default .qmail-test-admin
.qmail-test-request
.qmail-owner-test .qmail-owner-test-ctl
Update /var/spool/ml/etc/qmail/users/assign
Update /var/spool/ml/etc/crontab/fml
Create config.ph(/var/spool/ml/test/config.ph):
/var/spool/ml/test/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/test/aliases >> /etc/aliases
# newaliases
FYI: See templates in '/var/spool/ml/test/'
done.
testと言うメーリングリストが作られる。
8.aliasesファイルの編集
fmlのaliasesの内容をPostfixのaliasesに登録する。rootから、
# cat /var/spool/ml/test/aliases
この内容を、/etc/aliasesに追記する。
# cp /etc/aliases /etc/aliases.bak
#
cat /var/spool/ml/test/aliases >> /etc/postfix/aliases
#cp /etc/postfix/aliases
/etc 私の場合、main.cf で
/etc/aliases.db を使用する設定としているため。
# newaliases
aliasesの内容を反映。
9.その他
● testの設定
fmlユーザから、
$ /usr/local/fml/makefml config test
省略
メニューにしたがって設定する。
● メーリングリストユーザの登録
fmlユーザから、
$ /usr/local/fml/makefml add test
hoge@hogehoge.com
省略
以上で、設定完了。後はテストであるが、登録したメンバーからFMLサーバーである
test@hogehoge.jp に送信すると登録メンバーに同一のメールが同報される。
上の設定でタイトルの設定をしておけばメーリングリストによる配信の番号が付加される。
To:test@hogehoge.jp
from:hoge1@hogehoge.jp
Subject:MLテスト
本文
hoge1@hogehoge.jp、hoge123@hoge.co.jp、test@hogehoge.jp に
下の同じメールが配信されるはずです。
From: hoge1@hogehoge.jp
Reply-To: test@hogehoge.jp
Subject: [test:0001] MLテスト
To: test@hogehoge.jp
本文
メーリングリストのメンテ
ユーザを削除する時
$ makefml bye test user1@ws.elsewhere.japan
とします。さらに /var/spool/ml/test/log にこの作業の内容が記録されます。
直接編集する時
/var/spool/ml/test にある members と actives
というファイルに
user1@ws.elsewhere.japanを追加すれば完了です。
削除する時は members と actives というファイルから
user1@ws.elsewhere.japan という行を削除します。
test ML を削除する時
rm -rf /var/spool/ml/test
ML ディレクトリを削除。
/etc/postfix/aliases から該当する (test ML
に関係する)部分を消し /etc にコピーした上で
#newaliases
でデータペースを更新する。
10.CGIの設定 今回の目的であるCGI版のインストールをします。今回は、apacheのBasic 認証 を使用します。 まず、HTMLの格納エリアを作成する。 $ mkdir ~/public_html $ mkdir ~/public_html/cgi-bin $ mkdir ~/public_html/cgi-bin/fml $ mkdir ~/public\html/cgi-bin/fml/admin
$ ./makefml admin.cgi config 変更部分のみ記載 1 USE_MOD_SSL NO 2 REAL_CGI_PATH /home/fml/public_html/cgi-bin/fml 4 CHANGE PASSWORD 必須事項 ログイン時の認証用 6 MTA postfix 7 HOW TO UPDATE ALIAS postalias /var/spool/ml/etc/aliases
設定後、[5]を選択して、スクリプト再構築を行ない、最後に[0]を選択する。 ここでどうもうまく動作していないのか、cgi ファイルが所定の所にインストールされない。 仕方ないので、/usr/local/fml/www/cgi-bin/fml/admi/ にある cgi ファイルを手動でコピーした。
CGIをApacheで動作させるための設定 $ cd /home/fml/public_html/cgi-bin $ vi .htaccess AddType text/x-server-parsed-html .htm AddType application/x-httpd-cgi .cgi 以下は、類似のものが初期設定で記載されているのでコメントマークを削除 <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI←追記 </A>
AddHandler cgi-script .cgi
apacheの実行権nobodyでアクセスできるように、まず、fmlのグループに nobody を追加する。 #adduser -G fml nobody その後、 $ chmod g+rx /home/fml $ chmod g+rx /usr/local/fml/www/authdb $ chmod g+rx /usr/local/fml/www/authdb/admin $ chmod g+r /usr/local/fml/www/authdb/admin/htpasswd $ chmod g+w /var/spool/ml /var/spool/ml/etc で、nobodyからのアクセスを許可する。
Apacheの再起動を行う。 # /usr/local/apache/bin/apachectl restart
これで認証が動くはずなのだが、上の config がうまく動かなかった影響か認証のウィンドウが 表示されずそのまま入れてしまう。 これを防ぐため、nagios の設定をコピーした。~/public_html/cgi-bin/ に以下の内容の .htaccess を作成
AuthName "FML Access" AuthType Basic AuthUserFile /usr/local/fml/www/authdb/admin/htpasswd require valid-user
3) postfix の /etc/postfix/main.cf を ==== /etc/postfix/main.cf ==================================== alias_database = hash:/etc/aliases, hash:/var/spool/ml/etc/aliases これは効いていないようである。結局上と同じでroot になって/etc/aliases に追記し、 newaliases を実行せざるを得なかった。 その後、main.cf の最後に alias_maps = hash:/var/spool/ml/etc/aliases と追記し、CGI の設定である $ ./makefml admin.cgi config で7のHow To Update Aliase を postalias /var/spool/ml/etc/aliases とする事でWebからのメーリングリストの追加もできるようになり正常に動作した。 を、修正し再ロードします。 # /usr/sbin/postfix stop # /usr/sbin/postfix start
4) 確認 netscapeかIEを使って、「http://「ホスト名」/~fml/cgi-bin/fml/admin/menu.cgi」 を、アクセスすることで確認できます。 また、登録等を行なったときにパーミッションエラーが出たときは、nobodyで アクセスできるか確認してください。
|