Fmlの構築¶
- fml(4.0系)でのメーリングリスト構築に関するページです。
前提条件¶
- このソフトウェアの構築にはSMTPサーバの導入が前提となります。
- ここではPostfixおよびApache導入済み環境を想定しています。
旧バージョンのperlのインストール¶
- CentOS 7以降
**最近のperlではfml4が動作しないため、利用中のperlとは別に古いバージョンのperlをインストールします。- perl5.8.9をダウンロード・展開します
# cd /usr/local/work # wget https://www.cpan.org/src/5.0/perl-5.8.9.tar.gz # tar xzf perl-5.8.9.tar.gz
- perl5.8.9をダウンロード・展開します
- prefixを変更し、コンパイル・インストールします
# ./Configure -de -Accflags='-fPIC' -Dprefix=/usr/local/perl-5.8 # make # make test # make install
- PATH配下にシンボリックリンクを張ります
# cd /usr/local/bin/ # ln -s /usr/local/perl-5.8/bin/perl perl58
- 実行確認
# perl58 -v This is perl, v5.8.9 built for x86_64-linux Copyright 1987-2008, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.
事前準備¶
- 必要なユーザ・ディレクトリを設定します。
# mkdir /usr/local/fml # mkdir /var/spool/ml # groupadd fml # useradd -g fml -d /var/spool/ml/etc fml # passwd fml
ダウンロード¶
- fmlのソースコードをダウンロード・展開します
# wget ftp://ftp.fml.org/pub/fml/stable/fml-4.0-stable-20040215.tar.gz # tar xzf fml-4.0-stable-20040215.tar.gz
インストール¶
- ディレクトリに入ります
# cd fml-4.0-stable-20040215
- 先にインストールしたperl58を指定してインストールを行います
# env _PATH_PERL=/usr/local/bin/perl58 perl makefml install ----------------------------- ……(前略) ---Please Define Your Fml System Configurations Personal Use or ML-Admin-Group-Shared or fmlserv you use? Personal, Group, Fmlserv (personal/group/fmlserv) [personal] DOMAIN NAME [mailinglist] example.com FQDN [mailinglist] mail.example.com EXEC FILES DIRECTORY [/usr/local/fml] TOP LEVEL ML DIRECTORY [/var/spool/ml] Language (Japanese or English) [English] Japanese TimeZone (TZ: e.g. +0900, -0300) [+0900] --- summary --- DOMAIN: example.com FQDN: mail.example.com 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 ……(後略)
- エイリアスファイルを作成しておきます
# touch /var/spool/ml/etc/aliases # postalias /var/spool/ml/etc/aliases
- 権限を編集します
# chown -R fml.fml /var/spool/ml # chown -R fml.fml /usr/local/fml
設定ファイル編集¶
- Postfixの設定ファイルを編集します
# vi /etc/postfix/main.cf # ------------------------------------------------------ allow_mail_to_commands = alias,forward,include alias_maps = hash:/etc/aliases, hash:/var/spool/ml/etc/aliases alias_database = hash:/etc/aliases, hash:/var/spool/ml/etc/aliases
- 変更後、postfixを再起動します
# systemctl restart postfix
- エイリアスを更新します
# newaliases
- 仮のメーリングリストを作成
# su - fml $ /usr/local/fml/makefml newml test-ml exit
- 仮のメーリングリストにユーザを追加します
# su fml $ /usr/local/fml/makefml add test-ml user@example.com
テスト用リスト設定¶
テストをするにあたり、下記の点を設定する
- メンバー外からの受信を受け入れる
- メッセージを拒否した際にREJECTメッセージを返さない
- モデレータからの設定コマンドのみを受け入れる
- 設定コマンドを拒否した際にREJECTメッセージを返さない
- rootユーザ、postmasterからの送信を受信拒否しない
- 設定ファイルを編集する
# vi /var/spool/ml/test-ml/config.ph ----------------------------- #$PERMIT_POST_FROM = "members_only"; $PERMIT_POST_FROM = "anyone"; #$REJECT_POST_HANDLER = "reject"; $REJECT_POST_HANDLER = "ignore"; #$PERMIT_COMMAND_FROM = "members_only"; $PERMIT_COMMAND_FROM = "moderator"; #$REJECT_COMMAND_HANDLER = "reject"; $REJECT_COMMAND_HANDLER = "ignore"; #$REJECT_ADDR = "root|postmaster|MAILER-DAEMON|msgs|nobody|news|majordomo|listserv|listproc|\S+\-help|\S+\-subscribe|\S+\-unsubscribe"; $REJECT_ADDR = "";
送信テスト¶
- test-ml@example.comにメールを送ってみる。
# mail test-ml@example.com Subject: test test . Cc:
- test-ml@example.com から自分宛にメールが届くこと。
WebUIの設定(WebUIが必要であれば)¶
- 下記のコマンドでコンテンツを作成します
# cd /usr/local/fml/ # su - fml $ ./makefml admin.cgi config ----------------------------- ************************************************************ <<< makefml --- FML CGI Configuration Interface --- >>> 0 END 1 USE_MOD_SSL YES 2 REAL_CGI_PATH /usr/local/fml/www/share/cgi-bin/fml 3 CGI_AUTHDB_DIR /usr/local/fml/www/authdb 4 CHANGE PASSWORD 5 REMAKE CGI SCRIPTS 6 MTA postfix 7 HOW TO UPDATE ALIAS newaliases which ? (0-7) [0] 4 WebUIのユーザ名とパスワード追加・変更 6 MTAをSendmailからPostfixに変更 5 スクリプトを再生成する 0 終了
- コンフィグ作成を行います
Q: Can I recreate cgi scripts? (y/n) [n] y * create /usr/local/fml/www/share/cgi-bin/fml/admin/.htaccess * create CGI scripts in /usr/local/fml/www/share/cgi-bin/fml/admin/ menu.cgi makefml.cgi mlmenu.cgi menubar.cgi index.cgi newml.cgi rmml.cgi done.
- fmlユーザから抜けます
$ exit
- Apacheの設定ファイルを作成します
# vi /etc/httpd/conf.d/fml4.conf ----------------------------- Alias /fml /usr/local/fml/www/share/cgi-bin/fml <Directory /usr/local/fml/www/share/cgi-bin/fml> Options +ExecCGI AddHandler cgi-script .cgi AllowOverride All Order allow,deny Allow from all </Directory>
- Apacheを再起動する
# systemctl restart httpd
- クライアントのWebブラウザがchromeの場合、デフォルトではエンコードを変更できないため次のエクステンションを導入する
https://chrome.google.com/webstore/detail/set-character-encoding/bpojelgakakmcfmjfilgdlmhefphglae?hl=ja - ブラウザで次のアドレスへアクセスする
https://サーバのIPアドレス/fml/admin/menu.cgi - 先にmakefmlコマンドで作成したユーザ・パスワードで認証する
- 文字化けするので、画面内で右クリックしエンコードを「EUC-JP」に変更する
- WebUIにアクセスできることを確認する
以上。
¶
¶