“Once more unto the breach, dear friends, once more”
-W Shakespeare
I find it interesting that I have been working at Ping Identity for almost 6 1/2 years, but I haven't really posted a lot of technical content. That's something that changes now.
I'd been planning for a different debut article on the topic but a recent issue gave me a nice opportunity.
I'm preparing for a customer demonstration that involves PingOne, PingDirectory, and the PingOne LDAP gateway. The demo came together fairly easily and everything was running in what I like to call "Demo Quality" That is to say, it worked, but you'd never put this configuration into production. While that is not something that typically bothers me, both PD and the Gateway were not configured to run as a service. As I needed to take my mind off of a different issue, I figured I would set this up while the back of my head worked on the other issue.
In this case PD and the Gateway were running on a Windows 11 VM on my MacBook Pro (It's an M4 and I can't run Server on ARM if you were wondering, yes I know I should use Linux) and figured this would be quick and painless.
Of course it wasn't.
While the installation of the service wrapper worked just fine, the service would not start. Kinda perplexing since everything works as a stand-alone. (It seems though with PingDirectory 11, if you install the wrapper even start-server uses the service configuration, the Gateway does not share this approach and the run.bat does not use the service configuration.)
The error that was presented was interesting to me
WARN | wrapper | 2026/01/26 11:14:46 | The 'JAVA_HOME' environment variable was referenced but has not been defined.STATUS | wrapper | 2026/01/26 11:14:46 | Launching a JVM...INFO | wrapper | 2026/01/26 11:14:46 | Java Command Line:INFO | wrapper | 2026/01/26 11:14:46 | Command: "%JAVA_HOME%\bin\java"
Ok so anyone who has installed PD before (or virtually any Ping self-managed tool) knows that installing JAVA is a must and that properly setting JAVA_HOME and the PATH are essential. Having done this a couple of hundred times I knew I did this already, so I was slightly irritated.
After checking with some colleagues, I learned something new.
Previously I had only set up the environment variables for the user. This is a pattern that has worked for years, if not decades. But it seems that for the PD and Gateway services to work. Now I need to set them at the System level as well.
Once I had this configured, the services worked just fine. As I learn (usually by breaking things) I will try to share more.
No comments:
Post a Comment