&fmldevel; Overview
See
on the detail of difference between &fml4; and &fml8;.
&fmldevel; Features
&fml8; configuration file format is changed to
new Postfix style format configuration files (.cf files).
usage of CUI is almost same as &fml4;
(it is same as could as possible).
You can use CUI
(makefml and fml command)
to create/remove an ML,
to add/remove/change an addresse of ML members,
to add/remove/change an address of remote administrators,
to see log and member list,
et.al.
Makefml and fml are same programs except for argument order.
See
on the CUI usage difference between &fml4; and &fml8;.
GUI (CGI) interface.
The functions are a subset of CUI ones.
to create/remove an ML,
to add/remove/change an address of ML members,
to add/remove/change an address of remote administrators,
to see log and member list,
et.al.
The configuration file editing is incomplete yet.
article delivery,
header rewriting
and
several filters (
corresponding with &fml4;'s envelope filter and content filter
).
command mail for users.
to add/remove/change the address,
get article summary,
get old articles,
et.al.
command mail (admin command mail) for remote administratoin by mail.
to add/remove/change an addresse of ML members,
to add/remove/change an address of remote administrators,
to see log and member list,
et.al.
automatic analyzer of error messages.
IPv6 ready.
tiny thread track system.
built-in module for HTML converter of articles.
support automatic conversion by default.
fmlhtmlify and makefml supports html conversion functions.
main programs (fml/libexec):
distribute command error
utilities:
fmladdr
fmlailas
fmlconf
fmldoc
makefml
fml
fml4 emulation:
if you replace fml.pl of fml4 and fml.pl of fml8,
fml8 runs as fml4.
After 2004 summer,
the queueing system is implemanted.
Currently the delivery system is queuing based.
So, &fml8; is a MTA in fact.
Abstracted IO layer
to get member list in unified way from
a file,
/etc/group,
NIS,
SQL.
Installation Overview
Run GNU autoconf firstly, and "make install". It is defact standard in
the world of open sources. This procedure is different from &fml4;
installation steps. It may confuse you if you are customered with
&fml4; But &fml8; is more friendly for package systems of free unix
like systems.
The main differece between &fml4; and &fml8; in installation is
"run programs as root",
"use of configure",
and
editing of configuration files.
Suppose we create a new ML named elena ML (elena@fml.org).
The brief flow of installation is as follows:
Download &fml8; source and extract it on the disk.
Install it by user root.
Firstly, change user to "root" and create the user "fml" and
the group "fml".
Secondly, run
configure
and "make install".
% su root
# groupadd fml
# useradd -m -g fml fml
# ./configure
# make install
By default, 4.4 BSD style sub-directories are created.
The path is configurable at
configure options.
For example,
main programs called from MTA
such as distribute, command, et.al. are installed into
under /usr/local/libexec/fml/.
Instead, utility programs are installed to /usr/local/bin.
These are wrappers to call real programs at /usr/local/libexec/fml/.
Perl modules are installed into
/usr/local/lib/fml/$fml_version/
and message templates et.al. are installed into
/usr/local/share/fml/$fml_version/.
Change user to "fml" and create elena ML for test.
% su fml
% makefml newml elena
You can use "fml" instead of makefml.
Both are same except for the argument order.
% su fml
% fml elena newml
Set up MTA which runs &fml8; programs.
Test.
Customize your ML.
Please install by user root.
It is different from &fml4;.
Create An ML
Create an ML by CUI (makefml).
To create elena@fml.org ML (fml.org is the default domain),
run
% su fml
% makefml newml elena
. See the section
for more details.
In the virtual domain case, specify the whole address as an argument.
For example, to create an ML elena@nuinui.net, run the following command:
(At the first time)
% su root
% makefml newdomain nuinui.net /some/where/nuinui.net
% su fml
% makefml newml elena@nuinui.net
(After the 2nd time)
% su fml
% makefml newml elena@nuinui.net
See
for the virtual domain case detail.
Add A New User To ML
In the case of the default domain (fml.org)
% su fml
% makefml subscribe elena rudo@nuinui.net
in the case of virtual domain (nuinui.net),
specify the whole adress of ML name.
% su fml
% makefml subscribe elena@nuinui.net fukachan@sapporo.iij.ad.jp
Remove The User
In the case of the default domain (fml.org),
% su fml
% makefml unsubscribe elena rudo@nuinui.net
in the case of virtual domain (nuinui.net),
specify the whole adress of ML name.
% su fml
% makefml unsubscribe elena@nuinui.net fukachan@sapporo.iij.ad.jp
Customize
"makefml config" is a CUI to customize ML by menu form.
BUT YET INCOMPLETE.
Edit configuration files anyway now.
Common Configurations On This Host
/usr/local/etc/fml/site_default_config.cf
affects all ML on this host
irrespective of the default domain or virtual domains.
This corresponds to site_force.ph of &fml4;.
The format of site_default_config.cf is same as config.cf described
below.
See
list of all variables
for the configurable variation.
elena ML's Configuration
To customize elena ML, edit /var/spool/ml/elena/config.cf file. The
format is
a little modified postfix style.
It is different from both &fml4;'s config.ph and cf.
Add hooks after =cut line if needed.
Add or modify the least variables. If unspecified, the default value
is used. The default value depends fml version and is defined at
/usr/local/etc/fml/defaults/${fml_version}/default_config.cf
The library path depends fml version.
This technique
ensures the easy upgrade/downgrade procedure.
This is a feature of &fml8;.
§.overview.fml.recipes;