メールサーバの構築 Edit

  • はじめに
    以下のプログラムを使用してメール環境を構築したときのメモを記します。
    • SMTPサーバ … postfix Maildir形式で運用 (OSXに付属)
    • IMAPサーバ … dovecot
    • IMAPクライアント … Mail.app(OSXに付属)
    • WEBメール … SquirrelMail

  • 注意事項
    SquirrelMailの節では、HTTPSではなく、通常のHTTPプロトコルを用いたWEBメール環境を構築します。従って、インターネット上を平文のまま、パスワードやメール本文が送信されることを、ご留意ください。万が一に備え、WEBメール専用のアカウントでの使用をお勧めします。
    (そうは言っても、それほど神経質にならなくても良いと思いますけど。)

Postfix Edit

  • Postfixの設定方針
    • 直接、インターネットへメールの送受信が行えるよう設定を行います。
      (デフォルトでは送受信できないよう設定されているため。)
    • Maildir形式(メール1通、1ファイル形式)で運用します。

  • Postfixの設定
    • /etc/hostconfig
      MAILSERVER=-AUTOMATIC--YES-に書き換えます。
      MAILSERVER=-YES-
      
    • /etc/postfix/master.cf
      --- master.cf.backup  Tue Nov 30 14:13:16 2004
      +++ master.cf   Sun Jul 31 12:33:45 2005
      @@ -74,7 +74,7 @@
       # service type  private unpriv  chroot  wakeup  maxproc command + args
       #               (yes)   (yes)   (yes)   (never) (100)
       # ==========================================================================
      -#smtp      inet  n       -       n       -       -       smtpd
      +smtp      inet  n       -       n       -       -       smtpd
       #smtps   inet  n       -       n       -       -       smtpd
       #  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
       #submission    inet    n       -       n       -       -       smtpd
      
    • /etc/postfix/main.cf
      最終行付近にAPPLEが inet_interfaces = local と設定してある箇所があるので、
      それを上書きする意味も込めて、最終行に下記を追加しました。)
      --- main.cf.bakup       Sun Jul 31 11:52:17 2005
      +++ main.cf     Sun Jul 31 13:08:20 2005
      @@ -646,3 +646,10 @@
       # myhostname is not fully qualified.  It is ignored if neither are true.
       #
       mydomain_fallback = localhost
      +
      +# my setting
      +myhostname = eggplant.ddo.jp   自身のドメインを指定。
      +mydomain = eggplant.ddo.jp     自身のドメインを指定。
      +inet_interfaces = all
      +mydestination = $myhostname, localhost.$mydomain $mydomain
      +home_mailbox = Maildir/
      
    • $HOME/Maildir
      メール受信時、自動で作成されるみたいなので特に作成する必要は無いみたいです。

  • Postfixの起動&動作確認
    • 起動
      (最後にHangupと出るのはなぜ? psコマンドで確認すると正常に起動しているようだ!)
      Macmini:~ user$ sudo SystemStarter start SMTP
      Welcome to Macintosh.
      Initializing network
      Starting mail services
      postfix/postfix-script: starting the Postfix mail system
      Startup complete.
      Hangup
      
    • ルータ設定 … SMTP(Port25)のフォワード
      インターネット経由でメールの送受信を行えるよう、ADSLモデム(ルータ)のポート設定を行います。
      具体的には、smtpポート(25番)をMac miniへフォワードするように設定します。
      ADSLモデムの設定変更やリセットでWAN側IPアドレスが変化する環境の方は、
      DynamicDNSの更新も同時に行ってくださいね。私はこれに気付かず、随分はまりました。

  • 動作確認
    • 他のマシンからOSXのユーザへメールを送信、
    • ユーザの$HOMEにMaildirディレクトリが作成されていることを確認、
    • $HOME/Maildir/new の下にメールが届いていることを確認すればOKです。

dovecot -- IMAPサーバ Edit

  • dovecot本家サイト
  • インストール
    DarwinPortsに用意されているので、それを入れちゃいます。
    Macmini:~ user$ sudo port install dovecot
    
  • ユーザdovecotの作成
    システム環境設定のアカウントでユーザdovecotを作成
    (もっとスマートは方法がありそうですが、ユーザの作成方法がわからなかったので、とりあえず。)

  • PAM認証の設定
    sshdの設定を流用。
    Macmini:~ user$ sudo cp /etc/pam.d/sshd /etc/pam.d/dovecot
    

  • /opt/local/etc/dovecot/dovecot.conf
    dovecot-example.confをコピーして、
    Macmini:~ user$ cd /opt/local/etc/dovecot
    Macmini:/opt/local/etc/dovecot user$ sudo cp dovecot-example.conf dovecot.conf
    
    次の箇所を変更します。
    (SSLをとりあえずディセーブル。今後の課題)
    --- dovecot-example.conf        Sat Jul 30 14:17:52 2005
    +++ dovecot.conf        Sat Jul 30 15:19:30 2005
    @@ -16,6 +16,7 @@
     # Protocols we want to be serving:
     #  imap imaps pop3 pop3s
     #protocols = imap imaps
    +protocols = imap
     
     # IP or host address where to listen in for connections. It's not currently
     # possible to specify multiple addresses. "*" listens in all IPv4 interfaces.
    @@ -31,7 +32,7 @@
     #ssl_listen =
     
     # Disable SSL/TLS support.
    -#ssl_disable = no
    +ssl_disable = yes
     
     # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
     # dropping root privileges, so keep the key file unreadable by anyone but
    
  • /opt/local/var/run
    Macmini:/usr/local/etc user$ sudo mkdir -p /opt/local/var/run
    

  • /etc/hostconfig
    最終行へ追加
    DOVECOT=-YES-
    
  • 起動方法等
    ブート時に自動でdovecotが起動します。
    なお、手動でデーモンを起動/停止/再起動するには、次のようにします。
    Macmini:~ user$ sudo SystemStarter start Dovecot
    Macmini:~ user$ sudo SystemStarter stop Dovecot
    Macmini:~ user$ sudo SystemStarter restart Dovecot
    

  • 補足…MacOSX付属のMail.appからアクセスするには?
    Mail.appを起動して、環境設定→アカウントへ、localhostのIMAPサーバを指定すればOK!

SquirrelMail -- WEBメール Edit

  • ソースダウンロード
  • インストール
    /Users/www/Sites/webmailへインストールします。
    Macmini:~ user$ cd /Users/www/Sites
    Macmini:/Users/www/Sites user$ sudo tar vxf squirrelmail-1.4.5-ja-20050714.tar
    Macmini:/Users/www/Sites user$ sudo mv squirrelmail-1.4.5-ja webmail
    Macmini:/Users/www/Sites user$ sudo tar vxf ja_JP-1.4.5-ja-20050714.tar -C webmail
    
  • owner設定
    Macmini:/Users/www/Sites user$ sudo chown -R www:www webmail
    
  • SquirrelMailの設定
    Macmini:/Users/www/Sites user$ sudo ./webmail/config/conf.pl
    
    • 2. Server Setting
      • 1. Domain → eggplant.ddo.jp 自身のドメインを指定。
    • 10. Languages
      • 1. Default Language → ja_JP
      • 2. Defailt Charset → iso-2022-jp
    • Q. Quit → 設定を保存します。

  • Apacheの設定
    • /etc/httpd/users/www.confへ以下を追加します。
      Alias /webmail /Users/www/Sites/webmail
      <Directory /Users/www/Sites/webmail>
          AllowOverride none
      </Directory>
      
    • Apacheの再起動
      まず、confファイルの文法チェックを行い、
      Macmini:~ user$ sudo apachectl configtest
      Processing config directory: /private/etc/httpd/users/*.conf
       Processing config file: /private/etc/httpd/users/www.conf
      Syntax OK
      
      再起動
      Macmini:~ user$ sudo apachectl restart
      
  • 動作確認
    • ブラウザから、ログインできるか確認します。
      http://IP_ADDRESS/webmail/
      
      squirrelmail.png

    • 個人情報等の設定
      ログイン後、オプション→個人情報の下記項目を設定しておくと良いでしょう。
      • フルネーム
      • メールアドレス
      • 返信先を設定



添付ファイル: filesquirrelmail.png 171件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-13 (火) 20:02:26 (6532d)