はじめに
IBM iにNode.jsの実行環境を構築するのに必要な作業をまとめた記事になります。
稼働確認はNode.jsのバージョン確認とブラウザへのプログラムの処理結果の表示とします。
目次
- Node.js起動に必要なライセンス
- ACSを使用してNode.jsをIBM iへインストール
- Node.jsの稼働確認
- まとめ
Node.js起動に必要なライセンス
| ライセンス | OPT | 記述 |
|---|---|---|
| 5770SS1 | 33 | Portable App Solutions Env |
| 5770SS1 | 30 | Qshell |
| 5770DG1 | *BASE | IBM HTTP Server for i |
| 5733SC1 | *BASE | IBM Portable Utilities For I5/OS |
| 5733SC1 | 1 | OpenSSH, OpenSSL, zlib |
| 5733OPS | 1 | IBM I OpenSource Solutions ※1 |
※1. IBM i V7R4 から 5733-OPS は提供されなくなっています。
ACSよりIFS上に対してOSS環境の取得が可能になっています。
ACSを使用してNode.jsをIBM iへインストール
ACSの【オープン・ソース・パッケージ管理】からOSS環境を取得して
Node.jsをIBM iへインストールします。
検証環境
- IBM i OS :V7R2
- QCCSID :65535
- ACS :1.1.9.9
ACS起動前に以下の設定を確認してください。
1. ユーザープロファイルのCCSID(※5035にする)
2. SSHサーバ接続
【オープン・ソース・パッケージ管理】を開き以下を入力してください。
システム :IPアドレス
ユーザー :ユーザー
パスワード:パスワード
OKボタンを押すとOSS環境が構築されてない場合は構築するか聞かれます
ので<はい(Y)>を押すとインストールされます。
インストールが正常に終了するとOSSパッケージの一覧表が表示されます。
※プロキシモードは<SSHトンネリング>を使用を選択してください。
インストール中にエラーが発生した場合
今回は以下の確認を実施し解消しました。
- IBM iのインターネットへの接続確認
- IBM iのOSに合ったbootstrapの実行
OSが7.3以上のバージョンの場合
IBM iのOSに合ったbootstrapのを実行が不要になります。
インストール中にOSが7.3以上のバージョンに合った bootstrap
を自動でインストールされているからだと推測します。
OSが7.2以下のバージョンの場合
以下のURLよりバージョンに合っbootstrap.sh bootstrap.tar.Zを
ダウンロードしIBM iの/tmpへアップロードして実行する必要あります。
https://public.dhe.ibm.com/software/ibmi/products/pase/rpms/

アップロード後に以下のコマンドを実行します。
QSH CMD('touch -C 819 /tmp/bootstrap.log; /QOpenSys/usr/bin/ksh/tmp/bootstrap.sh > /tmp/bootstrap.log 2>&1')

再度、ACSの【オープン・ソース・パッケージ管理】を実行してNode.jsをインストールします。
5250画面でのNode.jsのインストール結果確認
以下のコマンドを順番に実施してNode.jsのバージョンを確認します。
1. call qp2termでPASE環境へ入ります。
2. export PATH=/QOpenSys/pkgs/bin:$PATHでパスを通します
3. node –vインストールしたNode.jsのバージョン確認

Node.jsのテストプログラムを実行
バージョンの確認ができたら、テストプログラムを実行します。
バージョン確認と同様に1. 2.を実行
3. node Hello.jsでプログラムを呼び出します。
var http = require('http');
var ServerPort = 59999;
var server = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});
res.write('Hello World!! by Node.js YAMAMOTO ');
res.end();
});
server.listen(ServerPort);
console.log('run server port = '+ ServerPort);
まとめ
ACSによるGUIでのインストール、インストールエラー等の調査は5250画面
でのコマンドを利用していました。
現時点でOS:V7R2でもNode.jsのインストール、稼働が可能なことがわかりました。
参照サイト
JBCC株式会社 様 IBM i World 2022
Node.jsでWebアプリを作ってみよ
https://www.jbcc.co.jp/products/files/ibmpowercolumn202204_Nodejs.pdf
当記事の著作権はIBMに帰属します。
詳細はこちらを参照ください。





