I'm having problems with the PPM Windows Service. We have 2 servers running two different instances of PPM, one server runs fine with the Local System Account, however the other one refuses to start unless the service is started using a server admin's NT domain account. All I see is the server keeps trying to start, and I have to kill the ksvc.exe process, switch the log on credentials to an admin account, then it will work. Only difference I know between these servers is that the one that is failing to start has been upgraded to PPM 7.10 SP4, and the other system is at 7.10
Is there a way I can fix this so that I can start the service with the Local System Account?
Logon as the local system account (ppm admin of the windows system) and then try running the kConfig.sh script and choose the option to reconfigure the Windows Service. Then see if it works again. Which login was used for upgrade, was it local ppm admin system account or admin account. What port number have you used? Is it 1024 or below?
As a best practice and a safest option, you will need to always use the ppm admin user of the windows system, meaning the user that owns the entire file system of the ppm folders. If you have access to the ppm admin windows system user, then use that login id. You will be able to find that or ask the NT Domain Admin to find that by seeing the ownership on the ppm folder structure under which ppm is installed. Once you have the login id and password of the ppm windows system user, then use that for all types of activities on ppm, that will ensure all goes well in most cases. This ppm windows system user is different from the ppm admin of the application server that you use for login to ppm on the ppm logon html page. The ppm windows system user is the Windows system account for ppm application or basically, the owner of the ppm folders.
Also, once you find ppm folder owner, and if you see its the previous person's login id, then you will need to use that id by asking NT Domain Admin to reset its password and give it to you. If that's not possible to use the earlier person's id, then you may try to modifying the ownership on the folders to your id (or by creating a new windows logon account user), but you will need to test everything properly to make sure ppm does not give any other unknown issues if its holding the earlier ownership somewhere.
I've reset the ppmadmin password. It does look like the upgrade wasn't performed using this account, so I re-ran kConfig.sh to reconfigure the Windows Service only. I managed to get the service to run using the Local System Account, but now when the service runs, it's stuck at being "Starting" instead of "Started" in the services panel. This is an issue because I am no longer able to stop or restart the service via the panel.
You can use a couple of options as below to troubleshoot the same,
1. Kill the ksvc.exe process and then instead of starting the server from Services, start it from the command prompt using the kStart.sh script. Then leave the command prompt window open all the time until the server needs a restart. If you close the command prompt window then the server will immediately shutdown on itself. This is only a temporary solution and will at least allow you and users to access the application or carry out any activity on the servers.
2. Other option is a permanent solution but will take some efforts, usually about a day's effort. In this case you can follow the steps mentioned below,
- Ask the NT Domain Admin to create a new directory/folder in the same Windows box. - Ask the NT Domain Admin to create a new Windows system user (e.g. ppm), if you don't have it already. Alternatively, you can use your own Windows logon id. - Ask the NT Domain Admin to give the full permission to the new directory/folder to the Windows system user created (or your id).
Once this is done, then shutdown the application server and copy the entire file system into this new folder. Then ask the DBA to create a new schema and copy over the entire existing ppm schema into this new schema (using import/export Oracle commands or so).
Then make the following changes in the server.conf of the newly copied file system as below,
- Change the parameters to point to the new database schema. - Change the HTTP and RMI port numbers different from the original ppm instance (and above 1024). - Modify the base url, attachment directory, etc. parameters. - Create the new Windows Service with a different name using kConfig.sh script.
Once all these changes are done, then you can start this new instance and should work fine now. In case, if you need all the server.conf parameters or want to confirm that will need to be changed then let me know and I will send that also to you.
Once you test this new application now (having same configuration and data of the original application), and if everything looks fine, then you can shutdown the earlier application. Then you can ask all the users to confirm if everything looks fine to them and specifically for all their data. If everyone approves all looks good, then you can again modify the HTTP and RMI port numbers in the server.conf at all the places required so that all the users don't have to enter new port number now to access this new application. You can then archive the old application and old database schema for added safety. Once everything is set with the new application, you may also delete the old application and schema based on your organizational policies for archiving. But do not start the old application again, as it will also have the same port number of the new one now. Let me know if any other information on the same is required.