メーリングリスト管理システム_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