今まで別の場所で運用していたメーリングリストを、自宅に移すことにする。
うちには、今までもfmlがインストールされていたのだけれど、なかなか普通の人はfmlのコマンドメールなんか送ってくれないので、webのインターフェイスがあるmailmanをインストールすることにする。
だいたいこんな感じで、快適にmailmanが使えるようになりました。後の設定は、webからやれるので楽なのではないかしらん・・・。
うちには、今までもfmlがインストールされていたのだけれど、なかなか普通の人はfmlのコマンドメールなんか送ってくれないので、webのインターフェイスがあるmailmanをインストールすることにする。
- いつものようにportsから mail/mailman をインストール。makeオプションは、MAIL_GID=mailman
- /usr/local/mailman/Mailman/mm_cfg.pyを修正。以下をファイルの後ろにつける。
DEFAULT_SERVER_LANGUAGE = 'ja' DEFAULT_EMAIL_HOST = 'wizard-limit.net' DEFAULT_URL_HOST = 'www.wizard-limit.net' DEFAULT_URL_PATTERN = 'https://%s/mailman/' PUBLIC_ARCHIVE_URL = 'https://%(hostname)s/pipermail/%(listname)s' MTA = 'Postfix'
うちの場合はパスワードが流れる系は全てhttpsで。
ちなみに、ここに書く設定項目については、Defaults.pyを読めばわかる。
MTA='Postfix'って書くと、Mailmanがpostfixと連携してくれるようになるので、いちいちrootでaliasesとか書き換えなくても良くなる。webからメーリングリストの作成とかも可。
※ DEFAULT_EMAIL_HOSTと、DEFAULT_URL_HOSTはDefault.pyで書かないとwebからのメーリングリストの作成ができなかった。 - bin/genaliasesコマンドを実行する。data/aliases, data/aliases.dbができる。chownでオーナーをmailman:mailmanにしておく。グループの書き込みもできるように。
- bin/newlist mailmanでサイトリスト?を作る。(いまいちこれの必要性がわからないんだけど・・・)
- postfixのmain.cfに以下の行を追加する。(これが、mailmanとpostfixの連携の肝らしい)
alias_maps = hash:/etc/aliases,hash:/usr/local/mailman/data/aliases
※ 書き換えたら、postfix reload - cronの登録
# cd /usr/local/mailman/cron # crontab -u mailman crontab.in
- デーモンの起動
# /usr/local/etc/rc.d/mailman.sh start
- httpd.confの編集。httpsのvirtualhostの設定のところに以下を追加。
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/" Alias /pipermail/ "/usr/local/mailman/archives/public/"
- iconsの下のアイコンを、apacheのアイコンディレクトリにコピー。
# cp /usr/local/mailman/icons/* /usr/local/apache/icons/
※ 多分うちの設定は古い or 特殊なので、コピー先は適当に読み替えてください。 - apacheを再起動して、https://www.wizard-limit.net/mailman/listinfo にアクセスする。
- 何故か、Powered by FreeBSDのロゴが出ない。findで探しても入ってないみたいなので、FreeBSDのページからもらってくる。(暇があったらトップページにも置こうかしらん)
だいたいこんな感じで、快適にmailmanが使えるようになりました。後の設定は、webからやれるので楽なのではないかしらん・・・。
と思ったんですが、メーリングリストのメールとかまで全部 /usr/local/mailman の下に溜まってしまいます。
これは、うちのパーティション構成上望ましくない・・・。/usr/local/share/doc/mailman/INSTALLによれば、configureに--with-var-prefix=hogehoge を着ければ良いとのこと。
しかし、portsのMakefileにはそんな記述はありません。む~なんでなんじゃ~!
どっちにしろ、インストールしなおすのは嫌なので、手でやることにしました。
- mailmanのデーモンを止めます。(もし、メールがたくさん来るような場所だったら、postfixも止めた方が無難ですね)
- Mailman/Defaults.py の以下の行を変更。
VAR_PREFIX = '/var/mailman'
※ 注意!!このパラメータは、mm_cfg.pyの変更では有効にならない。 - ファイルをコピーする。
# mkdir /var/mailman # chown mailman:mailman /var/mailman # chmod 2775 /var/mailman # cd /usr/local/mailman # tar cfp - lists logs locks data spam archives qfiles | ( cd /var/mailman; tar xfp - )
- postfixのmain.cfのalias_mapsの行を修正。
alias_maps = hash:/etc/aliases,hash:/var/mailman/data/aliases
- httpd.confの以下の行を修正。
Alias /pipermail/ "/var/mailman/archives/public/"
- 各種デーモンを再起動。
- 気持ちが悪かったら、コピー元のファイルを削除。(不安だったらバックアップ。いいかげんだったらそのまま)
# cd /usr/local/mailman # rm -rf lists logs locks data spam archives qfiles
カテゴリ
Networkトラックバック(0)
このブログ記事を参照しているブログ一覧: 自宅でもmailman
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/293
コメントする