目次


連載 Domino V10 アプリ開発 #鬼わか 解説

第 1 回「IBM Domino V10 を CentOS 7 にインストールしてみよう #鬼わか 解説」

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: 連載 Domino V10 アプリ開発 #鬼わか 解説

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:連載 Domino V10 アプリ開発 #鬼わか 解説

このシリーズの続きに乞うご期待。

1

はじめに

連載 「Domino V10 アプリ開発 #鬼わか 解説」のページにアクセスいただき、ありがとうございます。本連載では 2018年10月10日に発表された IBM Notes/Domino 待望の新バージョン「IBM Notes/Domino V10」上でのアプリケーション開発を「鬼わかりやすく!」解説します。

IBM Notes/Domino は多くの外部アプリケーションとの連携を可能にする、オープンなプラットフォームですが、Domino V10 では外部との連携性をさらに大幅拡張して、最新の Web 技術との融合をすすめています。
開発にまつわる新機能の解説とともに、新しい技術を使うとこんなに便利なことが出来る!という具体例を開発手法とともに丁寧にお伝えしていきます。

この連載を読み進めていくと、皆さんが普段使っているノーツアプリケーションが様々な Web アプリケーションと連携し、業務がさらに効率化されることを実感していただけるに違いないでしょう。

2

Domino V10 でのアプリ開発新機能の概要

IBM Notes/Domino V10 でも、これまで使ってきた @関数や LotusScript、Java、XPages、DAS(Domino Access Service) はそのまま利用可能です。

それに加えて、IBM Domino V10 では大きく 3 つの開発に関する新機能を追加しています。

  1. LotusScript から HTTP リクエストを発行できる新しいクラスの追加
    • これまで、ノーツアプリケーションから REST API を利用したい場合には、Java のエージェントを使う必要がありました。Domino V10 では、拡張された LotusScript により、HTTP リクエストを発行可能になったので、REST API を直接呼べるようになり、利便性と利用範囲が大幅に拡張されました。
  2. Domino Query Language (DQL)
    • アプリケーションから Domino のデータを入出力する際などに、対象となる文書を検索するのにクエリ構文を利用できるようになります。
    • 従来から Domino のアプリケーション開発に携わっていた方は、より効率よくデータにアクセスできるようになりますし、いま Domino を知らない技術者の方でも、一般的なクエリ構文で Domino のデータを扱えるようになります。
  3. Node.js から IBM Domino データへのアクセス (IBM Domino App Dev Pack)
    • Node.js アプリケーションから、直接 Domino アプリケーションのデータを読み書きできます。
    • DQL と組み合わせることで必要なデータを素早く取得して処理する事も可能です。
    • JavaScript と RDB や NoSQL DB の知識がある Web 技術者であれば、そのスキルを用いて Domino のデータを扱えるようになります。
    • Node.js から IBM Domino にアクセスするためのアドオンが、IBM Domino AppDev Pack で提供されています。

IBM Domino AppDev Pack 1.0 では Linux 版の IBM Domino のみがサポートされており、他のプラットフォームへは順次対応予定です。本連載では、最初に IBM Domino AppDev Pack をご紹介していきますが、その準備として今回は、AppDevPack の初期対応バージョンとなる IBM Domino V10.0.1 を Linux (CentOS 7) にインストールしていきます。

3

Domino V10 を CentOS7 にインストールしてみよう

今回は、IBM Cloud 上の CentOS のサーバー上に IBM Domino V10.0.1 をインストールします。
まず、① CentOS 7 を構築し、② IBM Domino V10.0.1 のインストールモジュールをサーバー上に (今回は「/tmp」に) 配置しておきます。
(本記事の作業でインストールした際は、さらに③リモートアクセス用にサーバー側で VNC サービスを起動し、クライアント側にも VNC クライアントをインストールした上で、使っています。)

サーバー環境設定の変更

まず下記の設定を変更しておきます。この部分の詳細は本記事の第 4 章で説明します。

1. ポートの設定を変更する

  • 1352 ポートを開ける (Notes クライアントアクセスのため)
  • SSH や FTP など、クライアントからのアクセスに必要なポートを開ける

2. IBM Domino のタスクと TCP のポートが競合するサービスを停止する

  • httpd.service
  • postfix.service

インストールの準備

IBM Domino のインストールモジュールを展開し、Linux サーバー上に IBM Domino の起動用ユーザーを作成します。

3. root ユーザーにスイッチ

4. モジュールの配置ディレクトリに移動 (今回は/tmp)

#cd /tmp

 

5. モジュールを展開する

#tar xvf <IBM Domino インストールモジュールファイル名>

コマンドを入れると、下の画像のように /domino の配下にファイルが作成されていきます。

 

6. Linux グループを作成する (今回のグループ名は「notes」)

#groupadd notes

7. Linux ユーザーを作成 (今回のユーザー名は「notes」) し、グループ「notes」へ追加する

#useradd notes -g notes
#passwd notes

> パスワード (OS の設定により桁数などの条件を合わせてパスワードを任意に設定する)

IBM Domino V10 のインストール

8. IBM Domino インストールモジュールを展開したディレクトリ下に移動する

#cd /tmp/linux64/domino/

9. 展開されたモジュールがあるかを確認

#ls -l

 

10. インストールプログラムを起動

#./install

 

11. インストールの進め方を「グラフィックモード」か「CUI モード」か選択する

今回は下の画面で「Yes」を入力し、グラフィックモードを選択します

 

画面の指示に従ってインストールを進めます。(ここからは、Windows での IBM Domino のインストール手順と同様です)

 

12. 画面の指示に従ってインストールを進める

  • 最初の画面で「Next」
  • 利用規約の画面で「I Accept」し「Next」
  • インストールオプションに関しては、チェックをつけずに「Next」

 

  • インストールパスの指定はデフォルトで「Next」
  • データディレクトリの指定はデフォルトで「Next」
  • Linux サーバーにおけるユーザー名とグループ名を入力

 

  • サーバーセットアップ方法として「Manual」を選択
  • インストールするサーバー種類として「Enterprise Server」を選択
  • 確認画面で「Next」を入力し、インジケーターが終わるのを待つ
  • 「Domino Server Setup」ダイアログが表示される

 

最後の画面で「Finish」を入力したら、インストールは完了です。

IBM Domino V10 のセットアップ

13. IBM Domino サーバー起動用のユーザー (今回は「notes」) に切り替える

#su notes

14. IBM Domino サーバーを起動する

#cd /local/notesdata
#/opt/ibm/domino/bin/server

 

初回起動時はセットアップ画面が起動します。

 

15. 画面の指示に従ってセットアップを進める

  • 最初の画面で「Next」
  • サーバーは「最初のサーバー」を選択し「Next」
  • Domino サーバー名 (今回は「oniwaka」)、サーバータイトル (今回は「oniwaka」) を指定し「Next」

 

  • 組織名、認証者パスワードを入れて「Next」
  • ドメイン名を入れて「Next」
  • 管理者 ID とパスワードを指定して「Next」
  • 使用するサービスとして「http」タスクにチェックを入れ、「Next」

 

  • ネットワーク設定画面は特にカスタマイズせずに「Next」
  • 確認画面で「Next」

Finish を入力したら、セットアップは完了です。

IBM Domino の起動の確認

IBM Domino に接続して、起動を確認します。

16. クライアント端末で IBM Notes を起動

17. 管理者 ID をクライアント側にダウンロードし、(今回は「admin notes/lotusdev」) ログイン

 

18. セットアップしたサーバーの names.nsf を開いて接続確認

 

起動していることが確認できました。

もし下記の現象が起きた場合は、この後の第 4 章を参照し、「サーバー環境設定の変更」に戻って設定を修正してみてください。

  • 起動した後に、IBM Domino で warning が出る
  • 起動しても、IBM Notes から接続できない

起動が確認できたら、IBM Domino のインストールとセットアップは完了です。

4

インストールする上での TIPS

この章では、インストールする上での Tips をご紹介します。

1. ポートについて

Linux 上に IBM Domino をインストールする際に開けておくべきポートは下記になります。

<必須>
SSH 22
HTTP 80
HTTPS 443
NRPC 1352

<推奨>
FTP 20 21
VNC 5901

今回は Node.js を利用するため、その該当ポートもあけていますが、こちらは皆さんの開発環境にあわせてご対応ください。

2. httpd と postfix について

この連載ではインストールした IBM Domino の http タスクを利用します。こちらはデフォルトでポート 80 を利用します。Linux で既に httpd が利用されている場合 (例:Apache が起動している) はポート番号が競合する可能性がありますのでご注意ください。
既に起動している httpd を無効にする対応が必要となります。

<コマンド例>
#systemctl stop httpd.service
#systemctl disable httpd.serivce

※今回は IBM Domino の HTTP タスクのポート番号を 80 としていますが、この番号を変更して Apache 側を 80 にしておくことも可能です。

同様に SMTP ポートが競合する可能性がありますので、postfix も無効にします。

<コマンド例>
#systemctl stop postfix.service
#systemctl disable postfix.serivce

3. /etc/security/limits.conf について

IBM Domino を Linux で動作させる際には、IBM Domino のプロセスがたくさんのファイルへのアクセスを行うため、デフォルトの limits で制限された上限に達して動作しなくなることがあります。
それを防ぐ為にシステム上でアクセス可能なファイル数の制限を緩和する必要があります。

limits.conf に下記 2 行を追加します。

@notes soft nofile 60000
@notes hard nofile 80000

上記設定により、notes グループのユーザーが起動するプロセスが、同時に大量のファイルを扱えるようになります。

参考リンク:IBM IBM Knowledge Center

5

まとめ

いかがでしたでしょうか。意外と簡単に IBM Domino の導入ができたのではないかと思います。
次回は、IBM Notes/Domino V10 よりアプリケーション開発のために追加された新機能のインストール方法を「鬼わかりやすく」解説いたします。お楽しみに!

この記事に「いいね!」と感じた方は、ハッシュタグ「#鬼わか」をつけて是非共有してください。


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=1064143
ArticleTitle=連載 Domino V10 アプリ開発 #鬼わか 解説: 第 1 回「IBM Domino V10 を CentOS 7 にインストールしてみよう #鬼わか 解説」
publish-date=12262018