2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ARMにMID Serverを立てる(2025-11)

Last updated at Posted at 2025-12-03

Vesrion: Xanadu

MID ServerはARMでの動作保証はされてなさそうなので趣味です

以前(2018-06)x86-64のWin10にDockerでMID Serverを立ててみましたが今度はARMのMacに直で立ててみます(MacのDockerに立てるのは苦戦中です)

端末スペック

このマシンで頑張ります

機種名: MacBook Air
チップ: Apple M1(Apple Silicon(ARM))
コアの総数: 8(パフォーマンス: 4、効率性: 4)
メモリ: 16 GB
OS: MacOS Sqquoia 15.6.1
購入価格: 2024-08に中古で10万円しないくらい

一旦そのまま立ててみます

MID Server用ユーザーの作成

ServiceNowのインスタンスで ITOM Guided Setup の [Get Started] をクリックして

MID Serverの [Get Started] をクリックして

Create MID Userで [Configure] をクリックして

User namtとPassword, Confirm passwordに値を設定して[Submit]でユーザーを作成します

MID Serverのダウンロードと配置

MID Server - DownloadsからDownload MID Server as ZIP archiveをチェックして表示されるLinux(ZIP)(340MB)をダウンロードします

image.png

ダウンロードしたZIPファイルは解凍して置きます 解凍した直下のディレクトリ構成が以下です解凍ディレクトリ名が長いのでmidに変更します

% ls -lr
drwxr-xr-x@  5 user  staff  160 11 29 20:54 META-INF
drwxr-xr-x@ 25 user  staff  800  8  7 11:14 agent
% cd agent
% ls -ltr
total 392
-rw-rw-r--@   1 user  staff    883  8  7 09:09 linux-x86-64.xml
-rw-r--r--@   1 user  staff  11453  8  7 09:09 wrapper-tsims-addendum-1.3.txt
-rw-r--r--@   1 user  staff  30545  8  7 09:09 wrapper-development-license-1.3.txt
drwxrwxr-x@   2 user  staff     64  8  7 09:09 work
-rwxr-xr-x@   1 user  staff   1112  8  7 09:09 uninstall.sh
-rwxr-xr-x@   1 user  staff     15  8  7 09:09 stop.sh
-rwxr-xr-x@   1 user  staff     16  8  7 09:09 start.sh
drwxr-xr-x@   4 user  staff    128  8  7 09:09 package
drwxr-xr-x@   9 user  staff    288  8  7 09:09 midinstaller
drwxrwxr-x@   2 user  staff     64  8  7 09:09 logs
drwxr-xr-x@ 499 user  staff  15968  8  7 09:09 lib
-rwxr-xr-x@   1 user  staff    367  8  7 09:09 installer.sh
drwxrwxr-x@   2 user  staff     64  8  7 09:09 extlib
-rw-r--r--@   1 user  staff  71757  8  7 09:09 EULA - MID Server.pdf
drwxr-xr-x@   5 user  staff    160  8  7 09:09 etc
-rwxr-xr-x@   1 user  staff  35514  8  7 09:09 configure.sh
-rw-rw-r--@   1 user  staff   8141  8  7 09:09 config.xml
drwxr-xr-x@   6 user  staff    192  8  7 09:09 conf
-rw-r--r--@   1 user  staff   1261  8  7 09:09 boot-config-sample.yaml
-rw-r--r--@   1 user  staff  10609  8  7 09:09 boot-config-reference.yaml
drwxr-xr-x@   3 user  staff     96  8  7 11:07 properties
drwxr-xr-x@   9 user  staff    288  8  7 11:07 jre
drwxr-xr-x@   8 user  staff    256  8  7 11:14 bin

接続先の設定(config.xmlの編集)

urlとmid.instance.usernameとmid.instance.passwordを接続先インスタンスのurlと先ほど作成したMID Server用ユーザーの情報に合わせて編集します

% cp -pr config.xml config.xml.bak`date +%Y%m%d`
% vi config.xml 
% diff config.xml config.xml.bak20251130 
26,27c26
< <!--    <parameter name="url" value="https://YOUR_INSTANCE.service-now.com/"/>-->
<     <parameter name="url" value="https://********.service-now.com/"/>
---
>     <parameter name="url" value="https://YOUR_INSTANCE.service-now.com/"/>
32,35c31,32
< <!--    <parameter name="mid.instance.username" value="YOUR_INSTANCE_USER_NAME_HERE"/>-->
<     <parameter name="mid.instance.username" value="mid-user"/>
< <!--    <parameter secure="true" name="mid.instance.password" value="YOUR_INSTANCE_PASSWORD_HERE"/>-->
<     <parameter secure="true" name="mid.instance.password" value="********"/>
---
>     <parameter name="mid.instance.username" value="YOUR_INSTANCE_USER_NAME_HERE"/>
>     <parameter secure="true" name="mid.instance.password" value="YOUR_INSTANCE_PASSWORD_HERE"/>

起動

x86-64のCPUだったらこれだけで起動するはずなので試しに agentディレクトリで ./start.sh してみます

The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

Unable to locate any of the following binaries:
  /Users/user/Downloads/mid.xanadu-07-02-2024__patch9b-07-28-2025_08-07-2025_0908.linux.x86-64/agent/bin/./wrapper-macosx-arm-64
  /Users/user/Downloads/mid.xanadu-07-02-2024__patch9b-07-28-2025_08-07-2025_0908.linux.x86-64/agent/bin/./wrapper-macosx-arm-32
  /Users/user/Downloads/mid.xanadu-07-02-2024__patch9b-07-28-2025_08-07-2025_0908.linux.x86-64/agent/bin/./wrapper

想像通りエラーになりました wrapperを探しに行って見つからないとなっています ./bin/mid.shの中を見ると一応macos用の処理が入っているようです Intel時代の名残かも知れません

 530 # Resolve the OS (needs to be done before any call to showUsage, checkInstalled, etc.)
 531 DIST_OS=`uname -s | $TR_BIN "[A-Z]" "[a-z]" | $TR_BIN -d ' '`
 532 case "$DIST_OS" in
 533     'sunos') 
 534         DIST_OS="solaris"
 535         ;;
 536     'hp-ux' | 'hp-ux64')
 537         # HP-UX needs the XPG4 version of ps (for -o args)
 538         DIST_OS="hpux" 
 539         UNIX95=""
 540         export UNIX95
 541         PATH=$PATH:/usr/bin
 542         ;;  
 543     'darwin')
 544         DIST_OS="macosx"
 545         ;;
 546     'unix_sv')  
 547         DIST_OS="unixware"
 548         ;;
 549     'os/390')
 550         DIST_OS="zos"
 551         ;;  
 552     'linux') 
 553         DIST_OS="linux"
 554         ;;  
 555 esac

M1(Apple Silicon(ARM))用の設定

参考にしたサイト

色々調べて…以下の記事に書いてあることをそのまま試して成功しました(wrapperのバージョンを少し変えただけでも失敗しましたご留意ください)

上記WEBサイトに書いてある通りに進めます

Wrapperのダウンロード

Tanuki Java Service Wrapperをダウンロードします

wrapper-macosx-arm-64-3.5.51.tar.gz 2022-11-10 19:14 707K

ここで最新のwrapperやdelta versionを試したらエラーになってハマりました

tar.gzの直リンクは以下です

ダウンロードした wrapper-macosx-arm-64-3.5.51.tar.gz は解凍して置きます

ライセンスに関してはコミュニティライセンス(GPL)扱いと判断しました

コミュニティライセンス使用許諾契約:
このライセンスは、オープンソースプロジェクト用に適しているライセンスであり、 一般にある多くのオープンソースプロジェクトでよく使われている GPL v2 (General Public License ver.2) と GPL v3 (General Public License ver.3) ライセンスをベースにしています。

JDKのダウンロード

次にAmazon Corretto 17 JDK(186.9MB)をダウンロードします いつの間にかAmazonがフリーのJDKを開発/配布していてびっくりしました

macOS aarch64 JDK pkg tar.gz

直リンクはこちらです

ダウンロードした amazon-corretto-17.0.17.10.1-macosx-aarch64.tar.gz は解凍して置きます

Wrapperの配置

wrapper-macosx-arm-64-3.5.51.tar.gz を解凍して出来たディレクトリの./binにある wrapper (拡張子無しの実行体)を MID Serverの agent/bin にコピーします この作業で起動時のエラーは消えるようです

同様に解凍して出来たディレクトリの./libにある libwrapper.dylib をMID Serverの agent/lib にコピーします

JDKの配置

MID Serverの agent に amazon-corretto-17 というディレクトリを作成し、amazon-corretto-17.0.17.10.1-macosx-aarch64.tar.gz を解凍して出来たディレクトリ ./Contents/Home 以下のディレクトリとファイルを全てコピーします(MID Serverの下に ./jre とは別にJDK環境を追加する感じです)

設定ファイルの編集

MID Serverの ./conf ディレクトリ以下にある wrapper-jvm.conf の

set.SNC_JVM_ARCH=x86-64

を以下に変更します

set.SNC_JVM_ARCH=arm-64

また同じ場所にある wrapper-override.conf に以下の2行を追加します(confファイル内のどこでもいいです)

wrapper.java.command=amazon-corretto-17.jdk/bin/java
wrapper.java.additional.148=-Djdk.lang.Process.launchMechanism=POSIX_SPAWN

起動

agent直下で起動する前に xattr というMacの拡張ファイル属性コマンドを叩いてから ./start.sh を実行します 参考にしたWEBサイトの手順通り sudo をつけてみました

% sudo xattr -dr com.apple.quarantine .
% sudo ./start.sh                      
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

Starting ServiceNow MID Server...
Waiting for ServiceNow MID Server.........
running: PID:17836

ServiceNowのインスタンスで Discovery - MID Servers を確認したらレコードが増えていました

image.png

感想

最近はM1でも色々出来るようになっているはずと思っていたのですが2日ハマりました ARMで立てたい需要はまあまああるのかなと思って試してみました

B800C893-C8C8-4487-BF0E-46C259F5A809_1_105_c.jpeg

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?