今まで別の場所で運用していたメーリングリストを、自宅に移すことにする。
うちには、今までもfmlがインストールされていたのだけれど、なかなか普通の人はfmlのコマンドメールなんか送ってくれないので、webのインターフェイスがあるmailmanをインストールすることにする。
  1. いつものようにportsから mail/mailman をインストール。makeオプションは、MAIL_GID=mailman
  2. /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からのメーリングリストの作成ができなかった。
  3. bin/genaliasesコマンドを実行する。data/aliases, data/aliases.dbができる。chownでオーナーをmailman:mailmanにしておく。グループの書き込みもできるように。
  4. bin/newlist mailmanでサイトリスト?を作る。(いまいちこれの必要性がわからないんだけど・・・)
  5. postfixのmain.cfに以下の行を追加する。(これが、mailmanとpostfixの連携の肝らしい)
    alias_maps = hash:/etc/aliases,hash:/usr/local/mailman/data/aliases
    
    ※ 書き換えたら、postfix reload
  6. cronの登録
    # cd /usr/local/mailman/cron
    # crontab -u mailman crontab.in
    
  7. デーモンの起動
    # /usr/local/etc/rc.d/mailman.sh start
    
  8. httpd.confの編集。httpsのvirtualhostの設定のところに以下を追加。
    ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
    Alias /pipermail/ "/usr/local/mailman/archives/public/"
    
  9. iconsの下のアイコンを、apacheのアイコンディレクトリにコピー。
    # cp /usr/local/mailman/icons/* /usr/local/apache/icons/
    
    ※ 多分うちの設定は古い or 特殊なので、コピー先は適当に読み替えてください。
  10. apacheを再起動して、https://www.wizard-limit.net/mailman/listinfo にアクセスする。
  11. 何故か、Powered by FreeBSDのロゴが出ない。findで探しても入ってないみたいなので、FreeBSDのページからもらってくる。(暇があったらトップページにも置こうかしらん)

だいたいこんな感じで、快適にmailmanが使えるようになりました。後の設定は、webからやれるので楽なのではないかしらん・・・。

と思ったんですが、メーリングリストのメールとかまで全部 /usr/local/mailman の下に溜まってしまいます。
これは、うちのパーティション構成上望ましくない・・・。/usr/local/share/doc/mailman/INSTALLによれば、configure--with-var-prefix=hogehoge を着ければ良いとのこと。
しかし、portsのMakefileにはそんな記述はありません。む~なんでなんじゃ~!
どっちにしろ、インストールしなおすのは嫌なので、手でやることにしました。
  1. mailmanのデーモンを止めます。(もし、メールがたくさん来るような場所だったら、postfixも止めた方が無難ですね)
  2. Mailman/Defaults.py の以下の行を変更。
    VAR_PREFIX      = '/var/mailman'
    
    ※ 注意!!このパラメータは、mm_cfg.pyの変更では有効にならない。
  3. ファイルをコピーする。
    # 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 - )
    
  4. postfixのmain.cfのalias_mapsの行を修正。
    alias_maps = hash:/etc/aliases,hash:/var/mailman/data/aliases
    
  5. httpd.confの以下の行を修正。
    Alias /pipermail/ "/var/mailman/archives/public/"
    
  6. 各種デーモンを再起動。
  7. 気持ちが悪かったら、コピー元のファイルを削除。(不安だったらバックアップ。いいかげんだったらそのまま)
    # cd /usr/local/mailman
    # rm -rf lists logs locks data spam archives qfiles
    

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: 自宅でもmailman

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/293

コメントする

このブログ記事について

このページは、falseが2004年3月21日 01:17に書いたブログ記事です。

ひとつ前のブログ記事は「awsのURL変更」です。

次のブログ記事は「会社でもMaildir」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1