Mac、特に Apple Silicon の Mac で Apache Directory Studio を使おうとすると、Java まわりの問題で起動できないことがあります。この記事では、当時遭遇したエラーを整理しつつ、LDAP / LDAPS の確認ツールとして Apache Directory Studio を使う場合の注意点をまとめます。
Apache Directory Studio は LDAP ブラウザとして便利です。Active Directory、OpenLDAP、Samba AD、各種 LDAP 連携の確認では、CLI の ldapsearch だけでは見通しが悪い場面があります。属性、DN、ツリー構造、検索条件を GUI で確認できるため、認証基盤の設計やトラブルシュートでは今でも有用です。
発生したエラー
Mac mini M2 で Apache Directory Studio を起動しようとしたところ、次のような JVM 関連のエラーが出ました。
The JVM shared library "/Library/Java/JavaVirtualMachines/temurin-20.jdk/Contents/Home/bin/../lib/server/libjvm.dylib"
does not contain the JNI_CreateJavaVM symbol.対象の libjvm.dylib が存在していても、このエラーが出ることがあります。ファイルがないというより、Apache Directory Studio 側が期待する Java / Eclipse RCP の実行環境と、インストールされている JDK のアーキテクチャや実行形式が噛み合っていない状態と考えた方が分かりやすいです。
原因の見方
Apache Directory Studio は Eclipse RCP ベースのアプリケーションです。そのため、単純な Java CLI アプリとは異なり、macOS 版アプリ、Eclipse ランチャー、JDK、CPU アーキテクチャの組み合わせに影響を受けます。
| 観点 | 確認すること |
|---|---|
| CPU アーキテクチャ | Apple Silicon か Intel Mac か |
| JDK の種類 | aarch64 版か x64 版か |
| アプリ側のビルド | Apache Directory Studio の macOS 版がどの実行環境を前提にしているか |
| Java パス | Info.plist やランチャーが参照している Java が意図したものか |
当時の環境では、Apple Silicon 用の aarch64 版 Java を入れていても Apache Directory Studio が正常に起動しませんでした。結果として、x64 版 Java を使うことで起動できました。これは、Java 自体の問題というより、Apache Directory Studio / Eclipse RCP 側の Apple Silicon 対応との相性として見るのが自然です。
回避策
回避策としては、Apache Directory Studio をインストールした上で、x64 版の JDK を入れて使う方法があります。Apple Silicon Mac では直感に反して見えますが、アプリ側が x64 前提で動いている場合は、x64 版 Java の方が噛み合うことがあります。
- Apache Directory Studio の macOS 版をインストールする
- aarch64 版 Java で起動できない場合は x64 版 JDK を試す
- 必要に応じて Rosetta 2 の利用を確認する
- アプリが参照している Java パスを確認する
macOS 版 Apache Directory Studio の Java パスなどを確認する場合は、アプリ内の Info.plist を見ると手掛かりになります。
/Applications/ApacheDirectoryStudio.app/Contents/Info.plist公式サイトでは、macOS 版のダウンロードに加えて Homebrew や MacPorts でのインストール方法も案内されています。環境によっては、パッケージ管理ツール経由の方が扱いやすい場合もあります。
brew install apache-directory-studioLDAPS 接続で確認すること
Apache Directory Studio は LDAP だけでなく LDAPS の確認にも使えます。ただし、LDAPS では「接続できるか」だけでなく、証明書名、接続先名、信頼 CA、ポート番号をセットで見る必要があります。
| 項目 | 確認内容 |
|---|---|
| 接続先名 | 証明書の CN / SAN と一致する DNS 名で接続しているか |
| ポート | LDAP は 389/TCP、LDAPS は 636/TCP を使う |
| CA 証明書 | 内部 CA や自己署名 CA をクライアント側で信頼しているか |
| Bind DN | 認証に使う DN または UPN が正しいか |
| 検索ベース | Base DN が正しい階層を指しているか |
特に Active Directory へ LDAPS 接続する場合、IP アドレスで接続すると証明書名と一致せず失敗することがあります。DNS 名、証明書、LDAP 接続設定を別々に見るのではなく、1 つの認証経路として確認します。
CLI と GUI の使い分け
LDAP の確認は CLI だけでも可能です。たとえば ldapsearch を使えば、Bind、検索ベース、フィルタ、属性の確認ができます。
ldapsearch -H ldaps://dc01.example.com:636 -D 'CN=ldap-reader,OU=Users,DC=example,DC=com' -W -b 'DC=example,DC=com' '(sAMAccountName=testuser)' dn cn memberOf一方で、OU、グループ、属性、DN の階層を俯瞰したい場合は Apache Directory Studio のような GUI ツールが便利です。設計段階では GUI で構造を把握し、運用や自動化では CLI / LDIF / Ansible に寄せる、という使い分けが現実的です。
まとめ
Mac で Apache Directory Studio が起動しない場合、単純に Java が入っていないというより、アプリ、Eclipse RCP、JDK、CPU アーキテクチャの組み合わせが問題になっている可能性があります。Apple Silicon Mac では、aarch64 版 Java でうまく動かない場合に x64 版 Java を試す価値があります。
LDAP / LDAPS の確認ツールとしては、Apache Directory Studio は今でも有用です。ただし、LDAPS では証明書、DNS、接続名、信頼 CA が絡むため、ツールの起動問題と接続問題を分けて確認することが大切です。
書籍
LDAP – 設定・管理・プログラミング
LDAP / OpenLDAP の設定、管理、連携を確認したい場合の参考書籍です。古い書籍のため、価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
参考
- Apache Directory Studio – Downloads
- Apache Directory Studio
- Mac で Apache Directory Studio が使えない問題が解消



