水曜日 4 22, 2009

SJSMS - Solaris 10 の SMF に登録しよう

今回は久しぶり(なんと半年振り!)に Messaging Server ネタです。
以前のブログ記事(その 1,その 2)でインストールしてみた Messaging Server 関連コンポーネントを Solaris 10 の SMF に登録して、自動起動の設定をしてみましょう。
前回インストールした関連コンポーネントは以下の通りです。

  • Directory Server 6.3
  • Messaging Server 7.0
  • Application Server 9.1
    • Access Manager 7.1
    • Delegated Administrator 6.4
    • Sun Convergence 1.0

上記コンポーネントの中で、Access Manager, Delegated Administrator, Sun Convergence は、Application Server 9.1 上に配備されておりますので、SMF に登録して自動起動の設定をする必要があるコンポーネントは以下 の 3 つになります。

  • Directory Server 6.3
  • Messaging Server 7.0
  • Application Server 9.1

では、順番に、SMF に登録していきましょう。

目次

  1. Directory Server 6.3 を SMF に登録
  2. Messaging Server 7.0 を SMF に登録
  3. Application Server 9.1 を SMF に登録
  4. 参考情報

Directory Server 6.3 を SMF に登録

実は、Directory Server 6.3 の提供方法は、パッケージ版と ZIP アーカイブ版の 2 種類があり、 インストール・設定に若干の差異があります。
パッケージ版の Directory Server では、dsadm コマンドから SMF にサービスを登録する方法が あるのですが、ZIP アーカイブ版では、dsadm コマンドから SMF にサービスを登録する事が出来ません。
  ※ パッケージ版のためのご参考
以前のブログ記事で紹介したインストール手順では、ZIP アーカイブ版の Directory Server を 使用しているので、dsadm enable-service コマンドが使えません。
そこで今回は、/opt/SUNWdsee/ds6/install 配下に用意されているテンプレートファイルを 使って、SMF に登録します。

 sw-89# pwd
 /opt/SUNWdsee/ds6/install
 sw-89# cp tmpl_smf.manifest ds6_for_ms7_smf.manifest
  ※ あらかじめ、template ファイルをコピーします。
 sw-89# vi ds6_for_ms7_smf.manifest
  ※ manifest ファイルを下記 diff に示される様に編集します。
  ※ 具体的には、"%%%DATE_CREATED%%%", "%%%INSTALL_PATH%%%"
  ※ "%{sunds/path}", "%%%TIMEOUT_SECONDS%%%" を適宜編集します。
 sw-89# diff ds6_for_ms7_smf.manifest tmpl_smf.manifest
 6c6
 <     Created on : 2009/04/16
 ---
 >     Created on : %%%DATE_CREATED%%%
 24,25c24,25
 <                  exec="/opt/SUNWdsee/ds6/bin/dsadm start --exec /var/opt/SUNWdsee/dsins1"
 <                  timeout_seconds="600">
 ---
 >                  exec="%%%INSTALL_PATH%%%/bin/dsadm start --exec %{sunds/path}"
 >                  timeout_seconds="%%%TIMEOUT_SECONDS%%%">
 35,36c35,36
 <                  exec="/opt/SUNWdsee/ds6/bin/dsadm stop --exec /var/opt/SUNWdsee/dsins1"
 <                  timeout_seconds="600">
 ---
 >                  exec="%%%INSTALL_PATH%%%/bin/dsadm stop --exec %{sunds/path}"
 >                  timeout_seconds="%%%TIMEOUT_SECONDS%%%">
 sw-89#
 
 sw-89# cat ds6_for_ms7_smf.manifest
 <?xml version='1.0'?>
 <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>

 <!--
     Document   : ds6-service.xml
     Created on : 2009/04/16
     Author     : Directory Server Enterprise Edition Team
     Description: The SMF Service Manifest file for Directory Server 6
 -->

 <service_bundle type="manifest"
                 name="SUNWldap-directory services">
   <service name="application/sun/ds" type="service" version="1">
     <dependency name="filesystems" grouping="require_all"
               restart_on="none" type="service">
       <service_fmri value="svc:/system/filesystem/local:default"/>
     </dependency>
     <dependency name="network" grouping="require_all"
              restart_on="none" type="service">
       <service_fmri value="svc:/network/initial:default"/>
     </dependency>
     <exec_method type="method"
                  name="start"
                  exec="/opt/SUNWdsee/ds6/bin/dsadm start --exec /var/opt/SUNWdsee/dsins1"
                  timeout_seconds="600">
       <method_context working_directory=":default">
         <method_credential user="root"
                            group=":default"
                            privileges=":default"/>
       </method_context>
       <stability value="Evolving"/>
     </exec_method>
     <exec_method type="method"
                  name="stop"
                  exec="/opt/SUNWdsee/ds6/bin/dsadm stop --exec /var/opt/SUNWdsee/dsins1"
                  timeout_seconds="600">
       <method_context working_directory=":default">
         <method_credential user="root"
                            group=":default"
                            privileges=":default"/>
       </method_context>
       <stability value="Evolving"/>
     </exec_method>
     <instance name="default" enabled="false"/>
     <stability value="Evolving"/>
     <template>
       <common_name>
         <loctext xml:lang="C"> Directory Server </loctext>
       </common_name>
       <documentation>
         <doc_link name="Directory Server Enterprise Edition 6 Administration Guide" uri="http://docs.sun.com/doc/819-0995/"/>
       </documentation>
     </template>
   </service>
 </service_bundle>
 sw-89#
 
 sw-89# svccfg import ./ds6_for_ms7_smf.manifest
  ※ 上記で作成した manifest ファイルを svccfg コマンドにて import します。
 
 sw-89# svcs ds
 STATE          STIME    FMRI
 disabled       14:52:43 svc:/application/sun/ds:default
  ※ svc:/application/sun/ds:default が追加されている事を確認します。
 
 sw-89# svcadm enable ds
  ※ svc:/application/sun/ds:default サービスをスタートします。
 
 sw-89# ps -ef | grep slapd
     root 13460  8891   0 14:54:59 ?           0:01 /opt/SUNWdsee/ds6/lib/64/ns-slapd -D /var/opt/SUNWdsee/dsins1 -i /var/opt/SUNWd
     root 13463  9868   0 14:55:01 pts/3       0:00 grep slapd
 sw-89# 
  ※ ns-slapd (Directory Server のプロセス) が起動している事が確認出来ます。
 
 sw-89# svcs ds
 STATE          STIME    FMRI
 online         14:55:02 svc:/application/sun/ds:default
 sw-89# 
  ※ svc:/application/sun/ds:default サービスも online になっている事が確認出来ます。
 
 sw-89# svcadm disable ds
  ※ svc:/application/sun/ds:default サービスを停止します。 
 
 sw-89# svcadm disable ds
 sw-89# svcs ds
 STATE          STIME    FMRI
 online\*        14:57:23 svc:/application/sun/ds:default
 sw-89# svcs ds
 STATE          STIME    FMRI
 disabled       14:57:27 svc:/application/sun/ds:default
 sw-89# 
  ※ svc:/application/sun/ds:default サービスが停止された事が確認出来ます。
 
 sw-89# svcadm enable ds
 sw-89# svcs ds
 STATE          STIME    FMRI
 offline\*       14:58:12 svc:/application/sun/ds:default
 sw-89# svcs ds
 STATE          STIME    FMRI
 online         14:58:19 svc:/application/sun/ds:default
 sw-89# 
  ※ 最後に svc:/application/sun/ds:default サービスを起動させておきます。

以上で、Directory Server の SMF の登録が完了しました。

Messaging Server 7.0 を SMF に登録

次に Messaging Server を SMF に登録しましょう。
Messaging Server の登録方法も Directory Server と同様テンプレートファイル を利用して SMF に登録します。

 sw-89# pwd
 /opt/sun/comms/messaging64/data/install
 sw-89# ls
 pab.ldif                   schema2ug_store.ldif       schema2usergroup.ldif.rej
 restofmessaging.xml        schema2usergroup.ldif      watcher.xml
 sw-89#

まずこの場所に messaging.xml ファイルが存在するか確認してください。
messaging.xml が存在する場合は下記の手順(messaging.xml の作成・msgexe の編集)を 省略してください。
  ※ 当初提供されていた restofmessaging.xml, watcher.xml を利用する方法では
  ※ ただしく動作しない問題が見つかっております。
  ※ その問題の回避のため、messaging.xml の作成・msgexe の編集を行ないます。

 sw-89# pwd
 /opt/sun/comms/messaging64/lib
 sw-89# cp msgexe msgexe.orig
  ※ SMF から利用する起動・停止スクリプトのバックアップを作成します。
 sw-89# vi msgexe
  ※ msgexe を下記に示される様に編集します。
  ※ 具体的には、start-msg, stop-msg の引数($2) を削除、
  ※ refresh 時のコマンドを refresh コマンドに変更します。
 sw-89# cat msgexe
 #!/sbin/sh

 ##  Copy/Rename this script to //lib/
 ##  Please change $REPOS to the location of your SVN Repo

 . /lib/svc/share/smf_include.sh

 parser() {
         PROPERTY=$1
         # VALUE=`svcprop -p ${PROPERTY} watcher`
         VALUE=`svcprop -p ${PROPERTY} messaging_server`
         if [ "${VALUE}" = "\\"\\"" ] ; then
                 VALUE=
         fi
         echo $VALUE
 }

         MESSAGING_BASE=`parser application/messaging_server_base`

         if [ -z "${MESSAGING_BASE}" ] ; then
                 exit $SMF_EXIT_ERR_CONFIG
         fi

 case $1 in

         'start')
                 # ${MESSAGING_BASE}/bin/start-msg $2
                 ${MESSAGING_BASE}/bin/start-msg
                 if [ $? -ne 0 ] ; then
                         exit $SMF_EXIT_ERR_FATAL
                 fi
                 exit $SMF_EXIT_OK
                 ;;
         'stop')
                 # ${MESSAGING_BASE}/bin/stop-msg $2
                 ${MESSAGING_BASE}/bin/stop-msg
                 if [ $? -ne 0 ] ; then
                         exit $SMF_EXIT_ERR_FATAL
                 fi
                 exit $SMF_EXIT_OK
                 ;;
         'refresh')
                 # ${MESSAGING_BASE}/bin/stop-msg        $2
                 # sleep 5
                 # ${MESSAGING_BASE}/bin/start-msg $2
                 ${MESSAGING_BASE}/bin/refresh
                 if [ $? -ne 0 ] ; then
                         exit $SMF_EXIT_ERR_FATAL
                 fi
                 exit $SMF_EXIT_OK
                 ;;
         \*)
                 echo "Usage: $0 { start | stop | refresh }"
                 exit $SMF_EXIT_ERR_FATAL
                 ;;
                 esac
 sw-89# 
 sw-89# cd /opt/sun/comms/messaging64/data/install
 sw-89# cp restofmessaging.xml messaging.xml
  ※ restofmessaging.xml を messaging.xml にコピーします。
 sw-89# vi messaging.xml
  ※ messaging.xml ファイルを下記に示される様に編集します。
  ※ 具体的には、dependency name='watcher' 部分をコメントアウト、
  ※ dependency name='DirectoryServer' を追加します。
  ※ 尚、dependency name='DirectoryServer' は、Directory Server
  ※ を別サーバにインストールしている場合は、不要です。
 sw-89# cat messaging.xml
 <?xml version="1.0"?>
 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
 <!--
 Sun Java Enterprise System Messaging Server 7.0 ( Cascabel )
 -->
 
 <service_bundle type='manifest' name='messaging_server'>
 
         <service
             name='network/messaging_server'
             type='service'
             version='1'>
 
             <create_default_instance enabled='false' />
 
             <single_instance />
 
             <dependency
                 name='network-service'
                 grouping='require_all'
                 restart_on='none'
                 type='service'>
                 <service_fmri value='svc:/network/service' />
             </dependency>
 
             <dependency
                 name='fs-local'
                 grouping='require_all'
                 restart_on='none'
                 type='service'>
                 <service_fmri value='svc:/system/filesystem/local' />
             </dependency>
 
             <dependency
                 name='name-services'
                 grouping='require_all'
                 restart_on='refresh'
                 type='service'>
                 <service_fmri value='svc:/milestone/name-services' />
             </dependency>
 
             <dependency
                 name='identity'
                 grouping='optional_all'
                 restart_on='refresh'
                 type='service'>
                 <service_fmri value='svc:/system/identity:domain' />
             </dependency>
 <!--
             <dependency
                 name='watcher'
                 grouping='require_all'
                 restart_on='refresh'
                 type='service'>
                 <service_fmri value='svc:/network/watcher' />
             </dependency>
 -->
             <dependency
                 name='DirectoryServer'
                 grouping='require_all'
                 restart_on='refresh'
                 type='service'>
                 <service_fmri value='svc:/application/sun/ds:default' />
             </dependency>
 
             <exec_method
                 type='method'
                 name='start'
                 exec='/opt/sun/comms/messaging64/lib/msgexe start'
                 timeout_seconds='180' >
             </exec_method>
 
             <exec_method
                 type='method'
                 name='stop'
                 exec='/opt/sun/comms/messaging64/lib/msgexe stop'
                 timeout_seconds='180' >
             </exec_method>
 
             <exec_method
                 type='method'
                 name='refresh'
                 exec='/opt/sun/comms/messaging64/lib/msgexe refresh'
                 timeout_seconds='180' >
             </exec_method>
 
             <property_group name='application' type='framework'>
                     <propval name='messaging_server_base' type='astring'
                             value='/opt/sun/comms/messaging64' />
             </property_group>
 
             <property_group name='startd' type='framework'>
                 <propval name='ignore_error' type='astring'
                         value='core,signal' />
             </property_group>
 
             <stability value='Unstable' />
 
     </service>
 
 </service_bundle>
 sw-89#

messaging.xml ファイルがあった場合もここから先は実行してください。

 sw-89# svccfg import ./messaging.xml
  ※ messaging.xml ファイルが出来たら、svccfg コマンドにて import します。
 sw-89# svcs network/messaging_server
 STATE          STIME    FMRI
 disabled       15:12:37 svc:/network/messaging_server:default
 sw-89# 
  ※ svc:/network/messaging_server:default が追加されている事を確認します。
 
 sw-89# svcadm enable messaging_server
  ※ svc:/network/messaging_server:default サービスをスタートします。
 sw-89# svcs messaging_server
 STATE          STIME    FMRI
 offline\*       15:23:08 svc:/network/messaging_server:default
 sw-89# svcs messaging_server
 STATE          STIME    FMRI
 online         15:23:16 svc:/network/messaging_server:default
 sw-89#
  ※ svc:/network/messaging_server:default サービスが online になっている事が確認出来ます。

以上で、Messaging Server の SMF の登録が完了しました。


Application Server 9.1 を SMF に登録

最後に Application Server を SMF に登録しましょう。
Application Server は、テンプレートファイルの利用では無く、asadmin コマンドにて SMF に 登録出来ます。

 sw-89# cat /.passwordfile
 AS_ADMIN_USER=admin
 AS_ADMIN_PASSWORD=<admin ユーザの実際のパスワードを記載して下さい。>
 AS_ADMIN_MASTERPASSWORD=<マスターパスワードを記載して下さい。>
 sw-89# 
  ※ 自動起動用の password ファイルを作成します。
 sw-89# /opt/SUNWappserver/bin/asadmin create-service --type das --passwordfile /.passwordfile /opt/SUNWappserver/domains/domain1
 サービスが正常に作成されました。詳細は次のとおりです:
 サービスの名前:application/SUNWappserver/domain1
 サービスのタイプ:Domain
 サービスの設定場所:/opt/SUNWappserver/domains
 システム上のマニフェストファイルの場所:/var/svc/manifest/application/SUNWappserver/domain1_opt_SUNWappserver_domains/Domain-service-smf.xml
 このサービスは svcadm コマンドを使用して有効にできます。
 コマンド create-service は正常に実行されました。
 sw-89# 
  ※ asadmin create-service コマンドにて、SMF に登録します。
 sw-89# svcs domain1
 STATE          STIME    FMRI
 disabled       15:50:17 svc:/application/SUNWappserver/domain1:default
 sw-89# 
  ※ svc:/application/SUNWappserver/domain1:default が登録されている事が確認出来ます。
 sw-89# svcadm enable domain1
  ※ svc:/application/SUNWappserver/domain1:default サービスを起動します。
 sw-89# svcs domain1
 STATE          STIME    FMRI
 offline\*       15:50:38 svc:/application/SUNWappserver/domain1:default
 sw-89# svcs domain1
 STATE          STIME    FMRI
 offline\*       15:50:38 svc:/application/SUNWappserver/domain1:default
 sw-89# svcs domain1
 STATE          STIME    FMRI
 online         15:52:34 svc:/application/SUNWappserver/domain1:default
 sw-89# 
  ※ svc:/application/SUNWappserver/domain1:default サービスが online になっている事が確認出来ます。

以上で、前回インストールした Messaging Server 関連コンポーネントが Solaris の SMF に登録され、OS 起動時に自動起動されるように設定されました。

 sw-89# svcs ds messaging_server domain1
 STATE          STIME    FMRI
 online         14:58:19 svc:/application/sun/ds:default
 online         15:23:16 svc:/network/messaging_server:default
 online         15:52:34 svc:/application/SUNWappserver/domain1:default
 sw-89#


参考情報

土曜日 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 を存分におためし下さい!
    スクリーンショット
  • ログイン画面
  • メールの右クリックメニュー
  • フォルダの右クリックメニュー
  • アドレス補完
  • 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
       
           
    今日