土曜日 10 25, 2008

SJSMS - Sun Convergence をインストール

Communications Suite 6 に含まれる Sun Convergence は、今流行の AJAX を利用し、ドラッグアンドドロップによるメールのフォルダへの移動や、メール・フォルダなどの 右クリックメニューの表示、メール作成時のアドレス補完機能など、Web インターフェース ながら、スタンドアロンのメールアプリケーションに近い操作が可能なアプリケーションです。

前回、Messaging Server 7.0 のインストールをご紹介しましたので、その続きで、 Sun Convergence をインストールしましょう。

目次
  1. インストール手順
    1. Sun Convergence のインストール
  2. 初期設定
    1. Sun Convergence の初期設定
  3. スクリーンショット
インストール手順
    Sun Convergence のインストール
Sun Convergence は、Communications Suite に含まれるコンポーネントですので、 前回、Messaging Server 等をインストールした commpkg コマンドを使って、 インストールを行います。

また、Sun Convergence 自体は、Mail, Calendar, Instant Messaging の統合 Web インターフェース となっておりますが、今回は、純粋に Web Mail インターフェースとしてセットアップしますので、 追加でインストールするコンポーネントは、Sun Convergence のみです。(Calendar や Instant Messaging は、インストールしません。)
 sw-89# pwd
 /var/tmp/sjsms/Comms6
 sw-89# ls
 Legal_Folder
 README
 SunJava_CommsInstaller_Suite6_solaris-sparc.zip
 SunOS_sparc
 commpkg
 sw-89# ./commpkg install
          リンク : 詳細ログ

以上で、Sun Convergence 自体のインストールが終わりました。

初期設定
  1. Sun Convergence の初期設定
それでは、Sun Convergence の設定を行いましょう。
 sw-89# pwd
 /opt/sun/comms/iwc/sbin
 sw-89# ls
 config-servicetags  init-config         iwcadmin            locatejdk
 sw-89# ./init-config
          リンク : 詳細ログ

これで、Convergence の設定が終わりましたので、Application Server の再起動を行います。
 sw-89# /opt/SUNWappserver/bin/asadmin stop-domain domain1
 ドメイン domain1 が停止しました。
 sw-89# /opt/SUNWappserver/bin/asadmin start-domain --user admin domain1
 ドメイン domain1 を起動しています。お待ちください。
 ログは /opt/SUNWappserver/domains/domain1/logs/server.log にリダイレクトされます。
 管理パスワードを入力してください>
 マスターパスワードを入力してください>
 出力を /opt/SUNWappserver/domains/domain1/logs/server.log にリダイレクトしています
 ドメイン domain1 が起動しました。
 ドメイン [domain1] はその設定で [Sun Java System Application Server 9.1_01 (build local)] を実行しています。ログは [/opt/SUNWappserver/domains] にあります。
 管理コンソールは [https://localhost:4848] で使用できます。
 "asadmin" コマンドにも同じポート [4848] を使用します。
 ユーザーの Web アプリケーションは次の URL で使用できます:
 [http://localhost:80 https://localhost:8181 ]。
 次の web-contexts を使用できます:
 [/web1  /__wstx-services amserver ampassword amcommon amconsole /da /commcli /iwc ]。
 標準の JMX クライアント (JConsole など) はドメイン管理のために JMXServiceURL:
 [service:jmx:rmi:///jndi/rmi://sw-89.japan.sun.com:8686/jmxrmi] に接続できます。ドメインは少なくとも次のポートで接続を待機しています:
 [80 8181 4848 3700 3820 3920 8686 ]。
 ドメインはアプリケーションサーバークラスタおよびその他のスタンドアロンインスタンスをサポートします。
 
 sw-89#
以上で、Sun Convergence の設定が完了しました。

          \* Sun Convergence へアクセスする為の URL
          例) https://sw-89.japan.sun.com/iwc

尚、もし、サインイン後、画面が英語で表示されてしまっていた場合、Options から Language を「日本語」に設定し、Save Preferences をクリックした後、 サインアウト・サインインをする事で、日本語の画面になります。

それでは、新しい Web Mail を存分におためし下さい!
    スクリーンショット
  • ログイン画面
  • メールの右クリックメニュー
  • フォルダの右クリックメニュー
  • アドレス補完
  • 金曜日 9 26, 2008

    SJSMS - 最新の Messaging Server 7 をインストール

    今年の 8 月にリリースされた Communications Suite 6 に含まれる Messaging Server 7.0 は、64bit 対応となり 42.9億通のメール貯留等が可能となるラージメールボックスがサポート されました。
    さらに、Message future Release (RFC 4865) 等の新しい、RFC もサポートされメールの予約送信等も 可能となっております。
    また、Communications Suite 6 よりインストールコマンドも新しくなっておりますが、 Directory Server、Access Manager、Application Server 等は、それぞれ別途インストールする 必要があります。
    今回は Messaging Server の動作に最低限必要なコンポーネントをインストール・設定してみる事で、 新しくなったインストール手順をまとめてみました。

    目次
    1. パッケージのダウンロード
    2. 事前確認
    3. インストール手順
      1. Application Server 9.1 のインストール
      2. Directory Server 6.3 のインストール
      3. Access Manager のインストール
      4. Messaging Server 7.0, DSsetup, Delegated Administrator のインストール
    4. 初期設定
      1. Messaging Server 向けに Directory Server を構成する
      2. Delegated Administrator の初期設定
      3. Messaging Server の初期設定
    5. ユーザの追加
    6. 動作確認
    7. 参考資料
    パッケージのダウンロード

    Messaging Server 7.0 は、Communications Suite 6 に含まれておりますので、 Sun Download Center より Communications Suite 6 をダウンロードします。

              尚、インストールは面倒だけど、今すぐ試してみたいという方の為に、VMware のイメージも配布されています。
              英語環境のイメージとなってしまいますが、インストールを飛ばしてすぐに Communications Suite 6 をお試しいただけます。

              VMware イメージの説明

    Messaging Server の動作に最低限必要なコンポーネントは以下になります。

    • Java Enterprise System
      • Directory Server
    • Communicatoins Suite
      • Messaging Server 7.0 (32bit or 64bit)
      • DSsetup

    また、Delegated Administrator というドメイン・ユーザ・グループ管理用の Web 管理ツールを使用するためには、下記のコンポーネントが必要になります。

    • Java Enterprise System
      • Access Manager
        • Web コンテナ (Web Server or Application Server)
    • Communicatoins Suite
      • Delegated Administrator
        • Web コンテナ (Web Server or Application Server)

    今回は、後ほど Sun Convergence(新しい WebMail アプリケーション) をインストールする事を考えて、Convergence が唯一サポートしている Application Server 9.1 を Web コンテナに使用しましょう。
    したがって、先ほどのサイトより下記をダウンロードしておいてください。

    • SunJava_CommsInstaller_Suite6_solaris-sparc.zip
    • sjsas_ee-9_1_01-solaris-sparc-ml.bin
    • DSEE.6.3.Solaris-Sparc-full.tar.gz
    • java_es-5u1-ga-solaris-sparc.zip

    事前確認
    1. 正しく DNS クライアントとして設定されている事を確認してください。
    2. /etc/hosts に FQDN を記載します。また、FQDNが、ホスト名より前に来るようにします。
     # cat /etc/hosts 
     #Internet host table
     127.0.0.1       localhost
     10.14.11.89     sw-89.japan.sun.com     sw-89   loghost
    
    インストール手順
    1. Application Server 9.1 のインストール
     sw-89# pwd
     sw-89# ls
     sw-89# chmod +x sjsas_ee-9_1_01-solaris-sparc-ml.bin
     sw-89# ./sjsas_ee-9_1_01-solaris-sparc-ml.bin -console
    
              リンク : 詳細ログ

              \* Application Server の起動
     sw-89# /opt/SUNWappserver/bin/asadmin start-domain domain1
    
              \* Application Server の管理画面の URL
              例) https://sw-89.japan.sun.com:4848/
    1. Directory Server 6.3 のインストール
     sw-89# pwd
     /var/tmp/sjsms/DSEE
     sw-89# ls
     DSEE.6.3.Solaris-Sparc-full.tar.gz
     sw-89# gzcat DSEE.6.3.Solaris-Sparc-full.tar.gz| tar xf -
     sw-89# ls
     DSEE.6.3.Solaris-Sparc-full.tar.gz
     DSEE_Directory_Editor
     DSEE_Identity_Synchronization_for_Windows
     DSEE_ZIP_Distribution
     LICENSE.txt
     Legal
     README.txt
     sw-89# cd DSEE_ZIP_Distribution
     sw-89# ls
     dsee_data    dsee_deploy  idsktune
     sw-89# ./dsee_deploy install -i /opt/SUNWdsee
    
              リンク : 詳細ログ

              \* Directory Server Instance の作成
     sw-89# mkdir /var/opt/SUNWdsee
     sw-89# cd /opt/SUNWdsee/ds6/bin
     sw-89# ./dsadm create -p 389 -P 636 /var/opt/SUNWdsee/dsins1
     Directory Manager パスワード を選択:
     Directory Manager パスワード を確認:
     インスタンスを起動するには「dsadm start '/var/opt/SUNWdsee/dsins1'」を使用します
    
              \* Directory Insrance の起動
     sw-89# ./dsadm start /var/opt/SUNWdsee/dsins1
     Directory Server インタンス '/var/opt/SUNWdsee/dsins1' が起動されました: pid=13917
     sw-89# ./dsconf create-suffix -h sw-89 -p 389 o=isp
     サーバーから提示された証明書「CN=sw-89, CN=636, CN=Directory Server, O=Sun Microsystems」は信頼できません。
     受け入れは「Y」、1 回だけ受け入れは「y」、拒否は「n」、詳細を表示は「d」を入力: Y
     「cn=Directory Manager」のパスワードを入力:
     sw-89#
    
    1. Access Manager のインストール
     sw-89# pwd
     /var/tmp/sjsms/JES5u1
     sw-89# ls
     java_es-5u1-ga-solaris-sparc.zip
     sw-89# unzip -q java_es-5u1-ga-solaris-sparc.zip
     sw-89# ls
     Copyright                         Solaris_sparc
    
     License                           java_es-5u1-ga-solaris-sparc.zip
     README
     sw-89# cd Solaris_sparc
     sw-89# ls
     Product       installer     release_info
     sw-89# ./installer -nodisplay
    
              リンク : 詳細ログ

              \* Access Manager の管理画面の URL
              例) http://sw-89.japan.sun.com/amconsole
    1. Messaging Server 7.0, DSsetup, Delegated Administrator のインストール
              \* mailsrv ユーザの作成
     sw-89# grep mail /etc/group
     mail::6:root
     sw-89# useradd -u 7633 -g mail -d /export/home/mailsrv -m mailsrv
     64 ブロック
     sw-89#
    
              \* sendmail の停止
     sw-89# svcadm disable sendmail
     sw-89# 
    
              \* Communications Suite パッケージ(MS7,DSsetup, DA) のインストール
     sw-89# pwd
     /var/tmp/sjsms/Comms6
     sw-89# ls
     SunJava_CommsInstaller_Suite6_solaris-sparc.zip
     sw-89# unzip -q SunJava_CommsInstaller_Suite6_solaris-sparc.zip
     sw-89# ls
     Legal_Folder
     README
     SunJava_CommsInstaller_Suite6_solaris-sparc.zip
     SunOS_sparc
     commpkg
     sw-89# ./commpkg install
    
              リンク : 詳細ログ
    初期設定
    1. Messaging Server 向けに Directory Server を構成する
              \* スキーマの選択
              Sun Java System Messaging Server では、ドメイン・ユーザのための LDAP
              スキーマとして、Schema 1, 1.5, 2 が用意されています。
              Schema1 は、Messaging Server 5.2 までに使われていたスキーマ
              Schema2 は、Messaging Server 6.0 から使われているスキーマ
                Access Manager 等のコンポーネントと組み合わせる場合 2 が必須
              Schema 1.5 は、1 から 2 への移行時のための互換スキーマ
              となりますが、今回は、Schema2 を使用しましょう。
     sw-89# pwd
     /opt/sun/comms/dssetup/sbin
     sw-89# ls
     comm_dssetup.pl  schema
     sw-89# /usr/bin/perl comm_dssetup.pl
    
              リンク : 詳細ログ
    1. Delegated Administrator の初期設定
     sw-89# pwd
     /opt/sun/comms/da/sbin
     sw-89# ls
     config-commda       config-servicetags  getEncode
     sw-89#
    
              リンク : 詳細ログ

              \* Applicatoin Server の再起動
     sw-89# /opt/SUNWappserver/bin/asadmin stop-domain domain1
     ドメイン domain1 が停止しました。
     sw-89# /opt/SUNWappserver/bin/asadmin start-domain --user admin domain1
     ドメイン domain1 を起動しています。お待ちください。
     ログは /opt/SUNWappserver/domains/domain1/logs/server.log にリダイレクトされます。
     管理パスワードを入力してください>
     マスターパスワードを入力してください>
     出力を /opt/SUNWappserver/domains/domain1/logs/server.log にリダイレクトしています
     ドメイン domain1 が起動しました。
     ドメイン [domain1] はその設定で [Sun Java System Application Server 9.1_01 (build local)] を実行しています。ログは [/opt/SUNWappserver/domains] にあります。
     管理コンソールは [https://localhost:4848] で使用できます。
     "asadmin" コマンドにも同じポート [4848] を使用します。
     ユーザーの Web アプリケーションは次の URL で使用できます:
     [http://localhost:80 https://localhost:8181 ]。
     次の web-contexts を使用できます:
     [/web1  /__wstx-services amserver ampassword amcommon amconsole /da /commcli ]。
     標準の JMX クライアント (JConsole など) はドメイン管理のために JMXServiceURL:
     [service:jmx:rmi:///jndi/rmi://sw-89.japan.sun.com:8686/jmxrmi] に接続できます。
     ドメインは少なくとも次のポートで接続を待機しています:
     [80 8181 4848 3700 3820 3920 8686 ]。
     ドメインはアプリケーションサーバークラスタおよびその他のスタンドアロンインスタンスをサポートします。
     
     sw-89#
    
              \* デフォルトドメインで mail サービスを有効にする
     sw-89# /opt/sun/comms/da/bin/commadmin domain modify -D admin \\
     -w adminpass -X sw-89.japan.sun.com -n japan.sun.com -p 80 \\
     -d japan.sun.com -S mail -H sw-89.japan.sun.com
     OK
     
    
     sw-89#
    
              \* Delegated Administrator の URL
              例) http://sw-89.japan.sun.com/da/DA/Login
    1. Messaging Server の初期設定
     sw-89# pwd
     /opt/sun/comms/messaging64/sbin
     sw-89# ls
     MoveUser              iminitquota           msgcert
     UpgradeMsg5toMsg7.pl  immonitor-access      patch-config
     config-mfwk           imquotacheck          readership
     config-servicetags    ims_db_upgrade        reconstruct
     config-vcsha          imsbackup             refresh
     configure             imsconnutil           rehostuser
     configutil            imscripter            relinker
     counterutil           imsexport             setconf
     deliver               imsimport             showconfig
     getconf               imsimta               showlog
     grep                  imsrestore            spfquery
     ha_ip_config          install-newconfig     start-msg
     hashdir               less                  stop-msg
     help                  ls                    uninstall-newconfig
     imarchive             mboxutil              useconfig
     imcheck               migrate-config        writeconfig
     imdbverify            mkbackupdir
     imexpire              msgadm
     sw-89# ./configure -nodisplay
    
              リンク : 詳細ログ

              \* webmail ポートの変更
     sw-89# /opt/sun/comms/messaging64/bin/configutil -o service.http.port -v 2080
     OK SET
     sw-89#
    
              \* Messaging Server の起動
     sw-89# /opt/sun/comms/messaging64/bin/stop-msg
     Connecting to watcher ...
     Warning: Cannot connect to the watcher process
     job_controller server is not running
     dispatcher server is not running
     sched server is not running
     http server is not running
     pop server is not running
     imap server is not running
     purge server is not running
     store server is not running
     sw-89# /opt/sun/comms/messaging64/bin/start-msg
     Connecting to watcher ...
     Launching watcher ... 28506
     Starting store server .... 28507
     Checking store server status ...... ready
     Starting purge server .... 28508
     Starting imap server .... 28509
     Starting pop server .... 28510
     Starting http server ...... 28511
     Starting sched server ... 28512
     Starting dispatcher server .... 28514
     Starting job_controller server .... 28520
     sw-89#
    
    ユーザの追加
     sw-89# /opt/sun/comms/da/bin/commadmin user create -D admin -F One \\
     -l test1 -L Test -n japan.sun.com -p 80 -w adminpass -W test1 \\
     -X sw-89.japan.sun.com -S mail -E test1@japan.sun.com \\
     -H sw-89.japan.sun.com
     OK
     
     sw-89#
    
     sw-89# /opt/sun/comms/da/bin/commadmin user create -D admin -F Two \\
     -l test2 -L Test -n japan.sun.com -p 80 -w adminpass -W test2 \\
     -X sw-89.japan.sun.com -S mail -E test2@japan.sun.com \\
     -H sw-89.japan.sun.com
     OK
     
     sw-89#
    
    動作確認
     \* 送信テスト 1 (from test1 to test2)
    
     sw-89# telnet localhost 25
     Trying 127.0.0.1...
     Connected to localhost.
     Escape character is '\^]'.
     220 sw-89.japan.sun.com -- Server ESMTP (Sun Java(tm) System Messaging Server 7.0-0.04 64bit (built Jun 20 2008))
     ehlo localhost
     250-sw-89.japan.sun.com
     250-8BITMIME
     250-PIPELINING
     250-CHUNKING
     250-DSN
     250-ENHANCEDSTATUSCODES
     250-EXPN
     250-HELP
     250-XADR
     250-XSTA
     250-XCIR
     250-XGEN
     250-XLOOP E273F53846A54D1B07DF41E33EBB8C23
     250-ETRN
     250-NO-SOLICITING
     250 SIZE 0
     mail from: test1@japan.sun.com
     250 2.5.0 Address Ok.
     rcpt to: test2@japan.sun.com
     250 2.1.5 test2@japan.sun.com OK.
     data
     354 Enter mail, end with a single ".".
     From: test1@japan.sun.com
     To: test2@japan.sun.com
     Subject: test from test1 to test2
     
     This is a test message.
     .
     250 2.5.0 Ok, envelope id 0K7P00M0395F0700@sw-89.japan.sun.com
     quit
     221 2.3.0 Bye received. Goodbye.
     Connection to localhost closed by foreign host.
    
     \* 送信テスト 2 (from test2 to test1)
    
     sw-89# telnet localhost 25
     Trying 127.0.0.1...
     Connected to localhost.
     Escape character is '\^]'.
     220 sw-89.japan.sun.com -- Server ESMTP (Sun Java(tm) System Messaging Server 7.0-0.04 64bit (built Jun 20 2008))
     ehlo localhost
     250-sw-89.japan.sun.com
     250-8BITMIME
     250-PIPELINING
     250-CHUNKING
     250-DSN
     250-ENHANCEDSTATUSCODES
     250-EXPN
     250-HELP
     250-XADR
     250-XSTA
     250-XCIR
     250-XGEN
     250-XLOOP E273F53846A54D1B07DF41E33EBB8C23
     250-ETRN
     250-NO-SOLICITING
     250 SIZE 0
     mail from: test2@japan.sun.com
     250 2.5.0 Address Ok.
     tcpt to: test1@japan.sun.com
     500 5.5.1 Unknown command "tcpt to: test1@japan.sun.com" specified
     rcpt to: test1@japan.sun.com
     250 2.1.5 test1@japan.sun.com OK.
     data
     354 Enter mail, end with a single ".".
     From: test2@japan.sun.com
     To: test1@japan.sun.com
     Subject: test from test2 to test1
     
     This is a test message.
     .
     250 2.5.0 Ok, envelope id 0K7P00M069760700@sw-89.japan.sun.com
     quit
     221 2.3.0 Bye received. Goodbye.
     Connection to localhost closed by foreign host.
     sw-89#
    
     \* 受信テスト 1 (by test1)
    
     sw-89# telnet localhost 110
     Trying 127.0.0.1...
     Connected to localhost.
     Escape character is '\^]'.
     +OK sw-89.japan.sun.com POP3 service (Sun Java(tm) System Messaging Server 7.0-0.04 64bit (built Jun 20 2008))
     user test1
     +OK Name is a valid mailbox
     pass test1
     +OK Maildrop ready
     list
     +OK scan listing follows
     1 617
     .
     retr 1
     +OK 617 octets
     Return-path: 
     Received: from localhost ([127.0.0.1])
      by sw-89.japan.sun.com (Sun Java(tm) System Messaging Server 7.0-0.04 64bit
      (built Jun 20 2008)) with ESMTP id <0K7P00M0596V0700@sw-89.japan.sun.com> for
      test1@japan.sun.com; Wed, 24 Sep 2008 21:26:48 +0900 (JST)
     Original-recipient: rfc822;test1@japan.sun.com
     Date-warning: Date header was inserted by sw-89.japan.sun.com
     Date: Wed, 24 Sep 2008 21:26:43 +0900 (JST)
     Message-id: <0K7P00M069760700@sw-89.japan.sun.com>
     From: test2@japan.sun.com
     To: test1@japan.sun.com
     Subject: test from test2 to test1
     
     This is a test message.
     .
     quit
     +OK
     Connection to localhost closed by foreign host.
     sw-89#
    
     \* 受信テスト 2 (by test2)
    
     sw-89# telnet localhost 110
     Trying 127.0.0.1...
     Connected to localhost.
     Escape character is '\^]'.
     +OK sw-89.japan.sun.com POP3 service (Sun Java(tm) System Messaging Server 7.0-0.04 64bit (built Jun 20 2008))
     user test2
     +OK Name is a valid mailbox
     pass test2
     +OK Maildrop ready
     list
     +OK scan listing follows
     1 617
     .
     retr 1
     +OK 617 octets
     Return-path: 
     Received: from localhost ([127.0.0.1])
      by sw-89.japan.sun.com (Sun Java(tm) System Messaging Server 7.0-0.04 64bit
      (built Jun 20 2008)) with ESMTP id <0K7P00M029530700@sw-89.japan.sun.com> for
      test2@japan.sun.com; Wed, 24 Sep 2008 21:25:36 +0900 (JST)
    
     Original-recipient: rfc822;test2@japan.sun.com
     Date-warning: Date header was inserted by sw-89.japan.sun.com
     Date: Wed, 24 Sep 2008 21:25:27 +0900 (JST)
     Message-id: <0K7P00M0395F0700@sw-89.japan.sun.com>
     From: test1@japan.sun.com
     To: test2@japan.sun.com
     Subject: test from test1 to test2
     
     This is a test message.
     .
     quit
     +OK
     Connection to localhost closed by foreign host.
     sw-89#
    
    以上で、Messaging Server 7.0 のインストールおよび初期設定が完了しました。

    参考資料

    次回は、新しくなった WebMail、Sun Convergence をインストールしてみましょう。

    水曜日 8 27, 2008

    SJSMS - Milter プログラムを使ってみよう

    Sun Java System Messaging Server 6.3 では、sendmail や、Postfix 等で Virus/Spam フィルタ 機能としてよく使われている Sendmail Content Management API をベースとした、Milter (Mail Filter の略) プログラムと連係動作する事が可能となっています。

    ・参考 Sun Java Communications Suite 5 リリースノート

    という事で、今回はこの機能を試して見ましょう。

    まずは、www.milter.org よりサンプルプログラムを取得します。

    ・リンク A Sample Filter

    今回は、これをコンパイルして使うのですが、ひとつ注意点があります。
    SJSMS では、Sendmail 8.13.X milter protocol のみのサポートなり、 上記サンプルプログラムで使用されている xxfi_negotiate() がサポート されていません。

    ・参考 About milter plugin
    ・参考 Sendmail - 8.14.0 - release notes

    ですので、サンプルプログラムの以下の部分をコメントアウトしましょう。

    ・コメントアウトする箇所1
     /\* xxfi_negotiate is not supported by 8.13
      sfsistat
     
      xxfi_negotiate(ctx, f0, f1, f2, f3, pf0, pf1, pf2, pf3)
             SMFICTX \*ctx;
             unsigned long f0;
             unsigned long f1;
             unsigned long f2;
             unsigned long f3;
             unsigned long \*pf0;
             unsigned long \*pf1;
             unsigned long \*pf2;
             unsigned long \*pf3;
      {
              return SMFIS_ALL_OPTS;
      }
      \*/
    
    ・コメントアウトする箇所2
     struct smfiDesc smfilter =
     {
       (省略)
     /\* xxfi_negotiate is not supported by 8.13 \*/
     //        xxfi_negotiate        /\* Once, at the start of each SMTP connection \*/
     
     };
    
    上記がコメントアウト出来たら、milter.org を参考にコンパイルします。
     $ /usr/sfw/bin/gcc -I/usr/include -c sample.c
     sample.c:808: warning: excess elements in struct initializer
     sample.c:808: warning: (near initialization for `smfilter')
     sample.c:810: warning: excess elements in struct initializer
     sample.c:810: warning: (near initialization for `smfilter')
     $ ls sample.o
     sample.o
     $
     $ /usr/sfw/bin/gcc -o samplefilter sample.o -L/usr/lib -lmilter -pthreads
     $ ls samplefilter
     samplefilter
     $
    
    上記で、Milter Server のプログラムが作成されましたので、この プログラムを実行させておきましょう。
     # ./samplefilter -p inet:3333 -r test1@Japan.Sun.COM &
     ※ 上記の起動方法で受け取りアドレスが test1@Japan.Sun.COM となっている
        メールをリジェクトする動作となります。
        詳しくは、上記サンプルプログラムのサイトをご確認下さい。
    
    次に以下のドキュメントを参考に SJSMS を上記の Milter Server に接続させる 設定を行います。

    ・参考 Sun Java System Messaging Server 6.3 管理ガイド

    1. /opt/SUNWmsgsr/config/option.dat に以下の記述を追加
        !
        ! for milter
        spamfilter1_library=/opt/SUNWmsgsr/lib/libmilter.so
        spamfilter1_config_file=/opt/SUNWmsgsr/config/milter.opt
        spamfilter1_string_action=data:,$M
    
    2. /opt/SUNWmsgsr/config/milter.opt を作成し、以下を記述
        HOST=localhost
        PORT=3333
        DEBUG=2
        TIMEOUT=10
    
    3. /opt/SUNWmsgsr/config/imta.cnf を編集し、Milter によるフィルタリング を行いたいチャネルに "destinationspamfilter1optin milter" を追加
        ims-ms defragment subdirs 20 notices 1 7 14 21 28 backoff "pt5m" "pt10m" "pt30m" "pt1h" 
        "pt2h" "pt4h" maxjobs 2 pool IMS_POOL fileinto $U+$S@$D slave_debug master_debug 
        destinationspamfilter1optin milter
    
    4. SJSMS の設定をコンパイル・再起動します
        # imsimta cnbuild
        # stop-msg smtp
        Connecting to watcher ...
        Stopping job_controller server 26592 .... done
        Stopping dispatcher server 26585 ... done
        # start-msg smtp
        Connecting to watcher ...
        Starting dispatcher server .... 6272
        Starting job_controller server .... 6278
        #
    
    それでは、実際に動作確認をして見ましょう。
     # telnet localhost 25
     Trying 127.0.0.1...
     Connected to localhost.
     Escape character is '\^]'.
     220 sw-82 -- Server ESMTP (Sun Java(tm) System Messaging Server 6.3-5.02 (built Oct 12 2007; 32bit))
     ehlo
     (省略)
     250 SIZE 0
     mail from: test1@japan.sun.com
     250 2.5.0 Address Ok.
     rcpt to: test1@japan.sun.com
     550 5.7.0 Milter rejected recipient [slot 1]: test1@japan.sun.co
    
    正しく、test1@Japan.Sun.COM 宛てのメールがリジェクトされました。

    この様に、一部制限はありますが、Milter も SJSMS で利用可能となっておりますので、 使用したい Milter サーバがありましたら、是非試してみてください。

    ※ 念のため、libmilter を利用してユーザ様自ら開発された、Milter サーバや、 オープンソースの Milter サーバ自体を Sun にてサポートしているわけでは無い事をご注意ください。

    月曜日 5 26, 2008

    SJSMS - メールボックスの制限容量通知メールを日本語にしよう!

    Sun Java System Messaging Server (以下 SJSMS) では、 ユーザのメールボックスに制限容量を設ける事が出来ます。
    制限容量を設定している場合、メールボックスの容量が 制限値に近づいた際に通知メールを出すように設定したい ですよね。
    SJSMS では、ドキュメントにも記載されている通り、以下の 手順にて通知メールを設定できます。
    1. 制限容量通知の有効化
      # /opt/SUNWmsgsr/sbin/configutil -o store.quotanotification -v yes
      
    2. 通知メッセージの設定
      # /opt/SUNWmsgsr/sbin/configutil -o store.quotaexceededmsg -v 'message'
      
    3. 制限容量の閾値の指定
      # /opt/SUNWmsgsr/sbin/configutil -o store.quotawarn -v 90 # パーセント
      

    実は、この手順は英語メッセージの設定手順となり、日本語 メッセージを設定する為には、2. のパラメータとして store.quotaexceededmsg;lang-ja を使用する必要があります。
    したがって、日本語通知メッセージを設定する為には、以下の 手順を行う必要があります。
      1. 制限容量通知の有効化
      # /opt/SUNWmsgsr/sbin/configutil -o store.quotanotification -v yes
      
      2. 通知メッセージの設定
      # /opt/SUNWmsgsr/sbin/configutil -o store.quotaexceededmsg;lang-ja -v 'message'
      
      3. 制限容量の閾値の指定
      # /opt/SUNWmsgsr/sbin/configutil -o store.quotawarn -v 90 # パーセント
      
    では実際に日本語通知メッセージを設定してみましょう。

    # /opt/SUNWmsgsr/sbin/configutil -p store.quota\\\*
    store.quotaenforcement = on
    store.quotaexceededmsginterval = 7
    store.quotagraceperiod = 120
    store.quotanotification = off
    store.quotawarn = 90
    
    # /opt/SUNWmsgsr/sbin/configutil -o store.quotanotification -v on
    OK SET
    # /opt/SUNWmsgsr/sbin/configutil -o store.quotaexceededmsg\\;lang-ja -v \\
    "From: メール管理者 <Postmaster@domain.co.jp>\\$Subject: \\
    制限容量通知\\$\\$[ID]さん\\$\\$あなたのメールボックスのサイズは\\
    割り当てられた容量の [PERCENT] パーセントに達しています。\\
    \\$\\$Disk 使用量: [DISKUSAGE]\\$メッセージ数: [NUMMSG]\\$容量\\
    制限値:[QUOTA]\\$メッセージ数制限値: [MSGQUOTA]\\$\\$---\\$メール\\
    サーバ管理者"
    OK SET
    # /opt/SUNWmsgsr/sbin/configutil -o store.quotawarn -v 1
    OK SET
    # iminitquota -a
    admin: ok
    hoge: updated
    test1: updated
    
    ここでお気づきかと思いますが、 'message' の部分は基本的に RFC822 のメール形式に従っていますので、メールヘッダの部分 も記載可能です。
    From を指定しないと、デフォルトで以下の From が挿入されます。

     From: Mail Administrator <postmaster@domain.co.jp>
    
    From を指定して、差出人に日本語を含める事で、一般 ユーザの驚き(そして、「見なかった事」)を軽減してあげる事が できると思います。

    今回の例の様に、日本語メッセージを設定することで、以下の様に SJSMS 内部では UTF-8 に変換された日本語メッセージが格納されます。 そして、実際にメールが送付される際に、ISO-2022-JP のメールに変換されて送付されます。

    # auto_ef /opt/SUNWmsgsr/config/msg.conf
    UTF-8
    # iconv -f UTF-8 -t EUC-JP /opt/SUNWmsgsr/config/msg.conf | grep quotaexceededmsg\\;lang-ja
    
    store.quotaexceededmsg;lang-ja = "From: メール管理者 <Postmaster@domain.co.jp>$Subject: 制限容量通知$$[ID]さん$$あなたのメールボックスのサイズは割り当てられた容量の [PERCENT] パーセントに達しています。$$Disk 使用量: [DISKUSAGE]$メッセージ数: [NUMMSG]$容量制限値:[QUOTA]$メッセージ数制限値: [MSGQUOTA]$$---$メールサーバ管理者"
    
    ですので、UTF-8 にしか存在しない文字を使ってしまうと、ISO-2022-JP に変換されず、UTF-8 のまま送信されてしまいますので、ご注意ください。


    • 補足
    From ヘッダの変換も SJSMS に任せた場合、一部メールクライアントで 正常に日本語を表示できない場合もあるようです。
    その場合は、以下のように直接エンコードされた From ヘッダを与える 事で、日本語表示をしてくれます。

    # cat /var/tmp/From-encode.pl
    #!/usr/bin/perl
    
    use MIME::Base64;
    
    $headertoencode = <STDIN>;
    print encode_base64($headertoencode);
    # printf "メール管理者" | euctojis | perl /var/tmp/From-encode.pl
    GyRCJWEhPCVrNElNfTxUGyhK
    # /opt/SUNWmsgsr/sbin/configutil -o store.quotaexceededmsg\\;lang-ja -v \\
    "From: =?ISO-2022-JP?B?GyRCJWEhPCVrNElNfTxUGyhK?= <Postmaster@domain.co.jp>\\
    \\$Subject: 制限容量通知\\$\\$[ID]さん\\$\\$あなたのメールボックスのサイズは\\
    割り当てられた容量の [PERCENT] パーセントに達しています。\\
    \\$\\$Disk 使用量: [DISKUSAGE]\\$メッセージ数: [NUMMSG]\\$容量\\
    制限値:[QUOTA]\\$メッセージ数制限値: [MSGQUOTA]\\$\\$---\\$メール\\
    サーバ管理者"
    

    RFC: 2047 によると encoded-word は以下のように書きます。

    "=?" charset "?" encoding "?" encoded-text "?="
    
    したがって、上記の例では、"=?ISO-2022-JP?B?" と "?=" の間に、JIS コードの 日本語を、BASE64 エンコードしたものを入れました。

    水曜日 10 24, 2007

    Sun Ray Server Software 4.0 9/07 概要

    先月、Sun Ray Server Softwareの最新版である、Sun Ray Server Software 4.0 9/07が発表されました。
    今回は新機能一覧と、実際の画面のスナップショットを紹介します.
    Sun Ray Server Software 4.0 9/07の入手

    以下のURLよりダウンロード可能です。
    http://www.sun.com/software/sunray/getit.jsp

    新機能一覧
    Sun Ray Server Software 4.0 9/07より、以下の新機能が加わりました。

    1. Integrated VPN Client
    別途Hardware VPN装置を用意することなく、Sun Ray Server Softwareの機能によりVPN接続が可能となりました.
    対応機種はSun Ray 2/ 2FS /270 となります.
    各ClientのPopup GUIからVPNの設定が可能です.

    【画面例】 無線LAN設定


    ###
    なお、Sun Ray 2N用の新しいFirmwareも公開されています。
    この最新Firmwareを利用することにより、Sun Ray 2NにおいてもSoftwareによるVPN機能を使用可能です
    【Sun Ray 2N用Firmware】
    http://jp.sun.com/products/desktop/sunray/sunray2n/
    ###


    2. Client configuration
    Sun Ray Clientから「Stop」 + 「S」or 「M」キーを押すことにより、 Popup GUIが表れます.
    このGUIから
    .固定IP Addressの設定
    .Sun Ray固有パラメーター(サーバーリスト,MTU等)の設定
    .ネットワーク帯域幅の設定
    等,
    個別の設定を行うことができます。
    ###
    デフォルトインストールではPop-Up GUI機能は無効になっています。
    #/opt/SUNWut/sbin/utfwadm
    コマンドを用いてPop-UP GUI用のFirmwareを用意する必要があります.
    ###

    【画面例】
    メインメニュー



    3. Kiosk Mode
    旧来CAM(Controll Access Mode)と読んでいた機能が一新され、 Kiosk Modeとしてリネームされました。 また、override kiosk mode policyという機能が追加されました。

    今までのCAMSでは、システムポリシーとして、

    カードなし:Solarisの画面
    カードあり:特定アプリケーション(Windows 等)の表示
    といった、カードの挿入あり/なし といった単位でのポリシーでした。
    今回のSun Ray Server Software 4.0 9/07より加わった、 キオスクでは、より細かく、カード単位で表示するアプリケーションを変更することができます。
    例えば,以下のような設定が可能です.
    カードなし:何も表示しない 
    カードあり:Windowsを表示
    ある特定のカード:Solarisを表示

    新しいキオスクポリシーでは、以下の3種類が用意されています.
    (i)通常
    (ii)キオスク
    (iii)デフォルト

    (i)通常 (== キオスクでは無い)
    システムポリシーに関係無く、 通常のSolaris画面にアクセスすることができます。

    (ii)キオスク
    システムポリシーに関係無く、 キオスクに登録されたApplicationが立ち上がります。

    (iii)デフォルト
    システムポリシーの設定に基づいたApplicationが立ち上がります.

    上記3種類の設定をカード一枚毎に登録することができます。 そのため、ある特定のカードを挿入した時だけ、 他とは違う画面を出すことも可能になります。

    4. Security enhancements
    Solaris10 Trusted Extensionsとの連携が可能となりました。 Trusted Extension専用のバイナリも公開されています。

    5. Microsoft interoperability
    Windows接続用ソフト,Sun Ray Connector For Windowsがバージョンアップし、Vistaにも対応しました(RDP5.2).
    また、画面転送能力も向上しました.

    6. Accessibility and usability enhancements
    Admin GUIの画面が新しく変わりました。
    新しくJSPを採用した画面で、Sun N1 System Manager等、
    最新の管理ツールと似通った画面となっています.
    【画面例】
    トップ画面


    システムポリシー設定画面


    7. Quality improvements for Sun Desktop Manager(SDM)
    SDMの品質向上が行われました.


    8. その他
    Sun Ray1g等、旧来のクライアントに今回のSRSS4.0のFirmwareを適用すると、
    OSDアイコン等の表示がSun Ray2と同じになります.
    About

    Search

    Archives
    « 4月 2014
      
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
       
           
    今日