WEBメール/squirrelmail


Table of Contents

システム構成

インストール環境

  • OS
    • CentOS 5.5 (kernel 2.6.18-194.3.1.el5)
  • パッケージ
    • httpd-2.2.3-43.el5
    • mod_ssl-2.2.3-43.el5
    • php-5.1.6-27.el5
    • php-ldap-5.1.6-27.el5
    • squirrelmail-1.4.8-5.el5.centos.10

パッケージのインストール

  • apacheのインストール
    # yum install httpd

  • SSLモジュールのインストール
    # yum install mod_ssl

  • PHPのインストール
    # yum install php

  • PHPのモジュールを追加
    # yum install php-mbstring
    # yum install php-ldap

  • squirrelmailのインストール( /usr/share/squirrelmailにインストールされます)
    # yum install squirrelmail
  • インストールされた場所はapacheで非公開のため、シンボリックで公開します。
    # ln -s /usr/share/squirrelmail /var/www/html/webmail

  • squirrelmailのプラグインをダウンロードします(LDAPのパスワードを変更可能にするプラグイン)
    # cd /usr/local/src
    # wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fchange_ldappass-2.2-1.4.0.tar.gz
    # tar zxvf change_ldappass-2.2-1.4.0.tar.gz
    # cp -r change_ldappass /usr/share/squirrelmail/plugins/

apacheの設定

httpd.confの編集

  • apacheの設定ファイル「/etc/httpd/conf/httpd.conf」を編集します
    #265行目 サーバ名を設定します
    ServerName www.oss-d.net:80
    
    #327行目「/var/www/html」以下のディレクトリでhtaccessを有効にします
    AllowOverride All

ssl.confの編集

  • apacheのSSL設定ファイル「/etc/httpd/conf.d/ssl.conf」を編集します
    #112行目 httpsdの使用する公開鍵の場所(デフォルト値)
    SSLCertificateFile /etc/pki/tls/certs/localhost.crt
    
    #119行目 httpsd の使用する秘密鍵の場所(デフォルト値)
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    
    #134行目 中間証明書の場所を指定します。利用するCAによっては設定が必要になります。
    #        今回はCAを利用せず、自己証明書を利用するため設定しません。
    #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
    
    #227行目 ログの出力形式
    CustomLog logs/ssl_access_log combined

秘密鍵と証明書の作成

秘密鍵「localhost.key」と証明書「localhost.crt」を作成します。

  • カレントディレクトリを変更します。
    # cd /etc/pki/tls

  • 秘密鍵を生成します。
    # openssl genrsa -des3 2048 -rand /var/log/ > private/localhost.key
    「Enter PEM pass phrase:」と表示されるので、パスフレーズを入力すると暗号化のための秘密鍵(localhost.key)が生成されます。

  • 秘密鍵からパスフレーズを削除します。削除しないとApache起動時に毎回パスフレーズを入力する必要があります。
    「Enter pass phrase for private/localhost.key:」と表示されるので、先ほどのパスフレーズを入力します。
    # openssl rsa -in private/localhost.key -out private/localhost.key
    Enter pass phrase for private/localhost.key:
    writing RSA key


  • 生成された秘密鍵を使って証明書を発行します(Common NameはURLでのホスト名を入力)
    # openssl req -new -x509 -key private/localhost.key -out certs/localhost.crt -days 3650
    
    -----
    Country Name (2 letter code) [AU]:JP
    State or Province Name (full name) [Some-State]:
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (eg, YOUR name) []:www.oss-d.net
    Email Address []:

phpの設定

php.iniの設定

  • php.iniでPHPの設定を行います。
    # vi /etc/php.ini
    
    ;; 出力のバッファリングを無効とする
    output_buffering              = Off
    
    ;; HTTP charsetヘッダを設定
    default_charset = "UTF-8"
    
    ;; デフォルトの内部エンコーディングを設定
    mbstring.language = Japanese
    
    ;; デフォルトの内部エンコーディングを設定
    mbstring.internal_encoding = UTF-8
    
    ;; デフォルトのHTTP入力文字エンコーディングを設定
    mbstring.http_input = auto
    
    ;; デフォルトのHTTP出力文字エンコーディングを設定
    mbstring.http_output = UTF-8
    
    ;; HTTP入力エンコーディング変換を有効にする
    mbstring.encoding_translation = On
    
    ;; デフォルトの文字エンコーディング検出順序を設定
    mbstring.detect_order = auto
    
    ;; 代替文字のデフォルト値を設定
    mbstring.substitute_character = none;
    

自動起動の設定

  • chkconfigコマンドで自動起動をONにします
    # chkconfig  httpd on

起動

  • apacheを起動します。
    # /etc/init.d/httpd start


  • psコマンドでプロセスの確認します。/usr/sbin/httpdがあれば問題ありません。
    # ps ax|grep http
     1747 ?        S      0:00 /usr/sbin/httpd
     1900 ?        S      0:00 /usr/sbin/httpd
     1923 ?        Ss     0:00 /usr/sbin/httpd

Squirrelmailの設定

  • 設定ツールを起動します。
    # /usr/share/squirrelmail/config/conf.pl
    
    SquirrelMail Configuration : Read: config.php (1.4.0)
    ---------------------------------------------------------
    Main Menu --
    1.  Organization Preferences
    2.  Server Settings
    3.  Folder Defaults
    4.  General Options
    5.  Themes
    6.  Address Books
    7.  Message of the Day (MOTD)
    8.  Plugins
    9.  Database
    10. Languages
    
    D.  Set pre-defined settings for specific IMAP servers
    
    C   Turn color off
    S   Save data
    Q   Quit
    Main Menuの設定を行っていきます。

1. Organization Preferences

  • 組織情報を登録します。
    Organization Preferences
    1.  Organization Name      : WEB Mail                ■変更
    2.  Organization Logo      : ../images/sm_logo.png
    3.  Org. Logo Width/Height : (308/111)
    4.  Organization Title     : webmail                 ■変更
    5.  Signout Page           :
    6.  Top Frame              : _top
    7.  Provider link          : http://www.oss-d.net    ■変更
    8.  Provider name          : oss-d.net               ■変更
    

2. Server Settings

  • ドメイン設定とIMAPサーバ、SMTPサーバを設定します。
    General
    -------
    1.  Domain                 : oss-d.net              ■変更
    2.  Invert Time            : false
    3.  Sendmail or SMTP       : SMTP
    
    IMAP Settings
    --------------
    4.  IMAP Server            : 192.168.11.11          ■変更
    5.  IMAP Port              : 143
    6.  Authentication type    : login
    7.  Secure IMAP (TLS)      : false
    8.  Server software        : other                  ■変更
    9.  Delimiter              : /
    
    SMTP Settings
    -------------
    4.   SMTP Server           : 192.168.11.11          ■変更
    5.   SMTP Port             : 25
    6.   POP before SMTP       : false
    7.   SMTP Authentication   : none
    8.   Secure SMTP (TLS)     : false
    9.   Header encryption key :
    
    
    

6. Address Books

  • アドレス帳にLDAPを利用するよう設定します。
    Address Books
    1.  Change LDAP Servers                            ■変更
        >  192.168.11.100
    2.  Use Javascript Address Book Search          : false
    3.  Global file address book                    :
    4.  Allow writing into global file address book : false
  • 「Change LDAP Servers」の設定
    Command >> 1
     
     You can now define different LDAP servers.
     Please ensure proper permissions for config.php when including
     sensitive passwords.
     
     [ldap] command (?=help) > l
     0. 192.168.11.100
             base: ou=Users,dc=oss-d,dc=net
             name: LDAP: serv100.oss-d.net
          maxrows: 50
    

8. Plugins

  • プラグインを追加します。今回は5,6を追加しました。
    Plugins
      Installed Plugins
        1. delete_move_next
        2. squirrelspell
        3. newmail
        4. message_details
        5. calendar
        6. change_ldappass

10. Languages

  • 日本語用の言語設定を行ないます。
    Language preferences
    1.  Default Language       : ja_JP         ■変更
    2.  Default Charset        : iso-2022-jp   ■変更
    3.  Enable lossy encoding  : false

プラグインの設定

change_ldappass

  • 設定ファイルを作成作成します。
    # cd /var/www/html/webmail/plugins/change_ldappass/
    # cp config_sample.php config.php

  • change_ldappassプラグインの設定を変更します。
    # vi config.php
    $ldap_server = '192.168.11.100';
    $ldap_password_field = 'userpassword';
    $ldap_user_field = 'uid';
    $ldap_base_dn = 'ou=Users,dc=oss-d,dc=net';

その他の設定

  • ブラウザのヘッダに表示されるタイトルを変更します。
    # vi /var/www/html/webmail/config/config.php
    $org_title     = "webmail";
    $hide_sm_attributions     = true;

動作確認

ログイン

  • ブラウザでアクセスしてsquirrelmailにログインします。 (www.oss-d.netの部分は環境に合わせて変更して下さい)

アドレス帳

  • [メッセージ作成]→[アドレス帳ボタン]からアドレス帳の検索を行い、LDAPの情報が正しく表示される事を確認します。
    webmail2.jpg

パスワード変更

  • [オプション]→[Change Password]からパスワード変更の動作確認を行います。
    webmail3.jpg

メールの送受信

  • メールの送受信を行い、問題なければ動作確認は完了です。
このエントリーをはてなブックマークに追加
Last-modified: 2010-10-02 (土) 12:09:24   最終更新のRSS