fml8 チュートリアル (バージョン 7.99.1-20180910)
Prev | Chapter 4. Unix 上での fml のインストール | Next

# configure を実行する

configure (by GNU autoconf) および make を実行して下さい。 configure の前に、 ユーザ fml とグループ fml を作っておく必要がありますので注意して下さい。 ここまでの作業をまとめて書くと、次のようになります。

    % su root
    # groupadd fml
    # useradd -g fml -m fml
    # ./configure
    # make install

configure が適宜 script 群や .cf 群の変数を書き換えます。

make install を実行する際には、 configure が生成した etc/fml/install.cf を元に、 configure が生成した install.pl (perl script) がインストールを行ないます。

ユーザ名や基本的なディレクトリ構成などは configure の引数で変更して下さい。 変更できる変数は以下のものです。configure --help で表示されます。 fml では各ディレクトリにさらに /fml といった suffix をつけます。 変更できるのは、その直前の prefix 部分までです。

    変数            configure のデフォルト値    fml の利用するディレクトリ例
    --------------------------------------------------------
    prefix          /usr/local                  /usr/local
    exec_prefix     /usr/local                  /usr/local
    bindir          ${exec_prefix}/bin          /usr/local/bin
    sbindir         ${exec_prefix}/sbin         /usr/local/sbin
    libexecdir      ${exec_prefix}/libexec      /usr/local/libexec/fml
    datadir         ${prefix}/share             /usr/local/share/fml
    sysconfdir      ${prefix}/etc               /usr/local/etc/fml
    sharedstatedir  ${prefix}/com
    localstatedir   ${prefix}/var
    libdir          ${exec_prefix}/lib          /usr/local/lib/fml
    includedir      ${prefix}/include
    oldincludedir   /usr/include
    infodir         ${prefix}/info
    mandir          ${prefix}/man

そして、これらの変数も configure の引数で上書きすることができます。

    fmlconfdir      $sysconfidr/fml             /usr/local/etc/fml
    mlspooldir      /var/spool/ml               /var/spool/ml
    fml_owner       fml                         fml
    fml_group       fml                         fml
    default_domain  推測する                    推測する

これらのオプションは

    configure --help

で表示されます。

    例

    ./configure --help

    `configure' configures this package to adapt to many kinds of systems.

    	... snip ...

    Installation directories:
      --prefix=PREFIX         install architecture-independent files in PREFIX
                              [/usr/local]
      --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                              [PREFIX]

    	... snip ...

    Fine tuning of the installation directories:
      --bindir=DIR            user executables [EPREFIX/bin]
      --sbindir=DIR           system admin executables [EPREFIX/sbin]
      --libexecdir=DIR        program executables [EPREFIX/libexec]
      --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
      --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
      --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
      --libdir=DIR            object code libraries [EPREFIX/lib]
      --includedir=DIR        C header files [PREFIX/include]
      --oldincludedir=DIR     C header files for non-gcc [/usr/include]
      --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
      --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
      --infodir=DIR           info documentation [DATAROOTDIR/info]
      --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
      --mandir=DIR            man documentation [DATAROOTDIR/man]
      --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
      --htmldir=DIR           html documentation [DOCDIR]
      --dvidir=DIR            dvi documentation [DOCDIR]
      --pdfdir=DIR            pdf documentation [DOCDIR]
      --psdir=DIR             ps documentation [DOCDIR]

    Optional Packages:
      --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
      --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
      --without-warning       run perl as perl without -w
      --with-fmlconfdir=DIR   use DIR instead of SYSCONFDIR/fml
      --with-mlspooldir=DIR   use DIR instead of /var/spool/ml
      --with-fml-owner=USER   use USER instead of fml
      --with-fml-group=GROUP  use GROUP instead of fml
      --with-default-domain=DOMAIN     use DOMAIN as the default ML domain
      --with-default-hostname=HOSTNAME use HOSTNAME as the default hostname
      --without-mime-component-filter  disable mime_component_filter
      --with-group-writable-fmlconfdir=DIR   instead of \$fmlconfdir/config.gw
      --with-ml-home-prefix-map=PATH   use PATH as primary_ml_home_prefix_map
      --with-group-writable-ml-home-prefix-map

## 例: configure の実行

例: NetBSD は /usr/pkg 以下へ。

    % ./configure --prefix=/usr/pkg

例: FreeBSD は全部 /usr/local 以下でいい？

    % ./configure

例: main.cf の置き場所として /etc/fml を使うなら、こうする(Debian だとこうするべし？)。

    #  ./configure --with-fmlconfdir=/etc/fml
    checking for perl... perl
    checking for perl... /usr/bin/perl
    "checking whether optional useful commands are available or not"
    checking for cc... /usr/bin/cc
    checking for install... /usr/bin/install
    checking for cksum... /usr/bin/cksum
    checking for sum... /usr/bin/sum
    checking for md5... /usr/bin/md5
    checking for digest... /usr/bin/digest
    checking for ls... /bin/ls
    checking for tar... /bin/tar
    checking for gzip... /usr/bin/gzip
    checking for zcat... /usr/bin/zcat
    checking for gzcat... /usr/bin/gzcat
    checking for gunzip... /usr/bin/gunzip
    checking for lha... no
    checking for ish... no
    checking for bzip2... /usr/bin/bzip2
    checking for bunzip2... /usr/bin/bunzip2
    checking for uuencode... /usr/bin/uuencode
    checking for compress... /usr/bin/compress
    checking for sendmail... /usr/sbin/sendmail
    checking for makemap... no
    checking for newaliases... /usr/bin/newaliases
    checking for postfix... /usr/sbin/postfix
    checking for postalias... /usr/sbin/postalias
    checking for postconf... /usr/sbin/postconf
    checking for postmap... /usr/sbin/postmap
    checking for nkf... /usr/bin/nkf
    checking for kakasi... no
    checking for namazu... no
    checking for pgp... /usr/bin/pgp
    checking for pgp5... /usr/bin/pgp5
    checking for pgpe... /usr/bin/pgpe
    checking for pgpk... /usr/bin/pgpk
    checking for pgps... /usr/bin/pgps
    checking for pgpv... /usr/bin/pgpv
    checking for gpg... /usr/bin/gpg
    checking for gpgv... /usr/bin/gpgv
    checking for gpgsplit... /usr/bin/gpgsplit
    checking for less... /usr/bin/less
    checking for more... /usr/bin/more
    checking for w3m... /usr/bin/w3m
    checking for spamassassin... no
    checking for spamd... no
    checking for spamc... no
    checking for bogofilter... no
    checking for clamscan... /usr/bin/clamscan
    checking for vi... /usr/bin/vi
    checking for ng... /usr/bin/ng
    checking for mule... /usr/bin/mule
    checking for emacs... no
    checking for xemacs... no
    configure: creating ./config.status
    config.status: creating install.pl
    config.status: creating config.sh
    config.status: creating fml/etc/install.cf
    config.status: creating fml/etc/main.cf
    config.status: creating fml/etc/default_config.cf.ja
    config.status: creating fml/etc/default_config.cf.en
    config.status: creating fml/etc/site_default_config.cf
    config.status: creating fml/libexec/loader
    config.status: creating fml/bin/fmladdr
    config.status: creating fml/bin/fmlalias
    config.status: creating fml/bin/fmlconf
    config.status: creating fml/bin/fmldoc
    config.status: creating fml/bin/fmlhtmlify
    config.status: creating fml/bin/fmlsch
    config.status: creating fml/bin/fmlproj
    config.status: creating fml/bin/fmlpgp
    config.status: creating fml/bin/fmlpgp5
    config.status: creating fml/bin/fmlpgpe
    config.status: creating fml/bin/fmlpgpk
    config.status: creating fml/bin/fmlpgps
    config.status: creating fml/bin/fmlpgpv
    config.status: creating fml/bin/fmlgpg
    config.status: creating fml/bin/fmlgpgv
    config.status: creating fml/bin/fml
    config.status: creating fml/bin/makefml
    enabled: perl -w

    fml has been configured with the following options:

                        prefix: /usr/local
                   exec_prefix: ${prefix}
                        bindir: ${exec_prefix}/bin
                       sbindir: ${exec_prefix}/sbin
                       lib_dir: ${exec_prefix}/lib
                   libexec_dir: ${exec_prefix}/libexec
                        mandir: ${datarootdir}/man
                   datarootdir: ${prefix}/share
                       datadir: ${datarootdir}

             fml process owner: fml
             fml process group: fml
                    fmlconfdir: /etc/fml
            ml_home_prefix_map: /etc/fml/ml_home_prefix
                    mlspooldir: /var/spool/ml
                default domain: home.fml.org
              default hostname: elena.home.fml.org

             mime based filter: yes

    Now you must run "make install" as user "root".

補足: いや、こういうタイプの設定をする OS の場合 /usr/local ではなく /usr 直下に入れるですかね？

    # ./configure --prefix=/usr --with-fmlconfdir=/etc/fml

Prev | Home | Next
Unix 上での fml のインストール | Up | 補足: 各ディレクトリの役割

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.