ユーザ用ツール

サイト用ツール


メーリングリスト管理システム_mailman

メーリングリスト管理システム(Mailman)のインストール

前提

OS : Debian GNU/Linux lenny
webサーバ : 2.2.9-10+lenny8
mailサーバ : Postfix 2.5.5-1.1
python : python2.7 <= lennyの 2.5.2-15+lenny1 では、iso-2022-jp 関連のエラーが発生
mailman : mailman-2.1.14+j

webサーバ,mailサーバ,mailmanは同一マシン上にあるものとします。

準備

1 グループとユーザの追加
  $ sudo groupadd mailman
  $ sudo useradd -c"GNU Mailman" -s /no/shell -d /no/home -g mailman mailman

2 インストールディレクトリの作成
  $ sudo mkdir /usr/local/mailman
  $ cd /usr/local/mailman
  $ sudo chgrp mailman .
  $ sudo chmod a+rx,g+ws .

Mailmanの構築とインストール

1 mailmanのソース取得と解凍
  $ cd /usr/local/src
  $ wget https://mm.tkikuchi.net/mailman-2.1.14+j.tgz <= pythonのバージョン注意
  $ tar xzvf mailman-2.1.14+j.tgz
  $ cd mailman-2.1.14+j

2 configure,make,make install
  $ ./configure --with-mailhost=メールが出て行く時のホスト名(FQDN) --with-urlhost=ウェブURLのホスト名(FQDN)
  $ make
  $ sudo make install
 
3 インストールのチェック
  $ cd /usr/local/mailman
  $ sudo bin/check_perms -f
    No problems found が表示されるまで、コマンドを実行

4 webサーバの設定
  $ sudo cp /usr/local/mailman/icons/*.{jpg,png} /usr/share/apache2/icons
  で、アイコンをコピー
  $ sudo emacs /etc/apache2/sites-enabled/xxxxx 
  で、以下を追加
  ScriptAlias     /mailman/       /usr/local/mailman/cgi-bin/
  Alias           /pipermail/     /usr/local/mailman/archives/public/
  <Directory "/usr/local/mailman/archives/public/">
    AddDefaultCharset Off
  </Directory>

5 mailサーバの設定
  $ sudo emacs /etc/postfix/main.cf
  で、
  owner_request_special = no
  recipient_delimiter = +
  unknown_local_recipient_reject_code = 550
  を追加し、
  alias_maps = hash:/etc/aliases
  を
  alias_maps = hash:/etc/aliases,
               hash:/usr/local/mailman/data/aliases
  に変更

6 PostfixとMailmanの統合
  $ sudo emacs /usr/local/mailman/Mailman/mm_cfg.py
  で、末尾に以下を追加(だだし、#以降の説明文は除く)
  DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] "  # 通し番号を付ける
  DEFAULT_SERVER_LANGUAGE = 'ja'                   # 日本語表示
  DEFAULT_EMAIL_HOST = 'hogehoge.jp'               # メールサーバのホスト名?
  DEFAULT_URL_HOST = 'hogehoge.jp'                 # web管理画面用のホスト名?
  MTA = 'Postfix'
  DEFAULT_URL_PATTERN = 'https://%s/mailman/'      # sslの場合
  PUBLIC_ARCHIVE_URL = 'https://%(hostname)s/pipermail/%(listname)s'  # sslの場合

  $ cd /usr/local/mailman
  $ sudo bin/genaliases
  $ sudo chown mailman:mailman data/aliases*
  $ sudo chmod g+w data/aliases*
  $ sudo /etc/init.d/apache2 reload
  $ sudo /etc/init.d/postfix reload

7 Cronの設定
  $ cd /usr/local/mailman/cron
  $ sudo crontab -u mailman crontab.in

8 Mailmanのqrunnerの自動起動を設定
  $ sudo cp /usr/local/mailman/scripts/mailman /etc/init.d/mailman
  $ sudo update-rc.d mailman defaults

9 サイト全体のメーリングリストを作る
  $ cd /usr/local/mailman
  $ sudo bin/newlist mailman
  Enter the email of the person running the list: mailnan@hogehoge.jp  <= mailmanの管理者用メールアドレス
  Initial mailman password: xxxxxxxx  <= mailmanの管理用パスワード
  Hit enter to notify mailman owner...
  $ sudo emacs /etc/aliases
  で、
  mailman: 管理者のユーザid
  を追加
  $ sudo newaliases
  $ sudo /etc/init.d/mailman start

10 サイトパスワードの作成
  サイトパスワードの設定には
  $ sudo /usr/local/mailman/bin/mmsitepass <あなたのサイトパスワード>
  リスト作成パスワードの設定は
  $ sudo /usr/local/mailman/bin/mmsitepass -c <リスト作成パスワード>

リストの作成と削除

1 ブラウザで
  https://ドメイン名/mailman/admin
  にアクセス
2 "新しいメーリングリストを作成する"ボタンをクリック
3 画面に出ている指示に従ってフォームに記入して, 
  "リスト作成者の パスワード"にリスト作成パスワードを入力
4 "リストを作成する"ボタンをクリック
5 新しいメーリングリストが作成されたメールが届くので、そのメールの内容に従う
6 リストの削除
  $ sudo /usr/local/mailman/bin/rmlist -a リスト名

メーリングリストへの参加

1 ブラウザで
  https://ドメイン名/mailman/listinfo
  にアクセス
2 表示されたメーリングリストの一覧の中から、参加したいリスト名をクリック
3 "メールアドレス"欄に自分のメールアドレス、その他名前などを入力し、
  "入会を申し込む"ボタンをクリック
4 "メーリングリストへの入会に関する確認"メールが届くので、指示に従う

Namazuによる検索機能の追加

1 前準備
  $ sudo apt-get update
  $ sudo apt-get install namazu2 namazu2-index-tools mhonarc
  $ sudo apt-get install kakasi libtext-kakasi-perl libnkf-perl

2 Namazuインデックス用ディレクトリ作成
  $ sudo mkdir /usr/local/mailman/namazu

3 インデックスの作成
  $ sudo /usr/bin/mknmz --media-type='text/html; x-type=pipermail' \
         /usr/local/mailman/archives/public/*

4 インデックスの確認
  $ sudo ls /usr/local/mailman/namazu/
   Password:
  NMZ.body                NMZ.field.uri         NMZ.result.normal.es
  NMZ.body.es             NMZ.field.uri.i       NMZ.result.normal.fr
  NMZ.body.fr             NMZ.foot              NMZ.result.normal.ja
  NMZ.body.ja             NMZ.foot.de           NMZ.result.normal.pl
  NMZ.body.pl             NMZ.foot.es           NMZ.result.short
  NMZ.err                 NMZ.foot.fr           NMZ.result.short.de
  NMZ.field.date          NMZ.foot.ja           NMZ.result.short.es
  NMZ.field.date.i        NMZ.foot.pl           NMZ.result.short.fr
  NMZ.field.from          NMZ.head              NMZ.result.short.ja
  NMZ.field.from.i        NMZ.head.de           NMZ.result.short.pl
  NMZ.field.message-id    NMZ.head.es           NMZ.slog
  NMZ.field.message-id.i  NMZ.head.fr           NMZ.status
  NMZ.field.newsgroups    NMZ.head.ja           NMZ.t
  NMZ.field.newsgroups.i  NMZ.head.pl           NMZ.tips
  NMZ.field.size          NMZ.i                 NMZ.tips.es
  NMZ.field.size.i        NMZ.ii                NMZ.tips.fr
  NMZ.field.subject       NMZ.log               NMZ.tips.ja
  NMZ.field.subject.i     NMZ.p                 NMZ.tips.pl
  NMZ.field.summary       NMZ.pi                NMZ.version
  NMZ.field.summary.i     NMZ.r                 NMZ.w
  NMZ.field.to            NMZ.result.normal     NMZ.wi
  NMZ.field.to.i          NMZ.result.normal.de  make_namazu

5 インデックス作成用スクリプト
  $ cd /usr/local/mailman/namazu
  $ sudo emacs make_namazu

  #!/bin/csh
  setenv LANG ja
  cd /usr/local/mailman/namazu
  /usr/bin/mknmz --media-type='text/html; x-type=pipermail' \
      /usr/local/mailman/archives/public/*

  実行属性を付ける
  $ sudo chmod +x make_namazu

  起動確認
  $ sudo ./make_namazu

  自動実行の設定
  $ sudo crontab-e
  0 0 * * * /usr/local/mailman/namazu/make_namazu

6 namazu.cgiのコピー
  $ sudo cp /usr/lib/cgi-bin/namazu.cgi /usr/local/mailman/cgi-bin/

7 .namazurcの作成
  $ sudo emacs /usr/local/mailman/cgi-bin/.namazurc

  Index         /usr/local/mailman/namazu
  Template      /usr/local/mailman/namazu
  Replace       /usr/local/mailman/archives/public/ https://ドメイン名/mailman/public/
  Lang          ja

8 https://ドメイン名/mailman/admin/メーリングリスト名 にアクセス後、
  「公開 HTML ページとテキストファイルを編集する」をクリックし
  「リスト総合案内ページ」をクリック
  <a href="../namazu.cgi">発言内容の検索</a>
  を適当な位置に追加後、「変更を送信」ボタンをクリック

機種依存文字の文字化け対策

メーリングリストの保守

1 件名の通し番号の変更<例:10から1(次回の発言番号)へ>
  $ sudo withlist (メーリングリスト名)
  (メーリングリスト名) のリストを読み込中 (ロック解除)
  変数 `m' が (メーリングリスト名) の MailList インスタンスです
  >>> m.Lock()
  >>> m.post_id
  10
  >>> m.post_id = 1
  >>> m.Save()
  >>> quit()
  リストをロック解除 (保存はしてません):  (メーリングリスト名)
  最終処理中

2 「保存庫」の再構築
  $ cd /var/lib/mailman
  $ sudo bin/arch --wipe (メーリングリスト名)
  $ sudo bin/check_perms -f
メーリングリスト管理システム_mailman.txt · 最終更新: 2020/04/23 00:52 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki