Apache on Windows doesn't include the apachectl script, but wsconfig insists on trying to run it, and won't proceed.
On a new server with CF2021+hotfix 3 and Apache 2.4.53 from apachelounge, this is the result of an attempted wsconfig:
03/24 08:51:23 debug Could not find file E:\Apache2\apache.exe
03/24 08:51:23 debug Could not find file E:\Apache2\bin\apache.exe
03/24 08:51:23 info Using Apache binary E:\Apache2\bin\httpd.exe
03/24 08:51:25 info Server version: Apache/2.4.53 (Win64)
03/24 08:51:25 debug Could not find file E:\Apache2\bin\apachectl
03/24 08:51:25 debug Could not find file E:\Apache2\usr\sbin\apache2ctl
03/24 08:51:25 debug Could not find file E:\Apache2\usr\sbin\apachectl
03/24 08:51:25 debug Could not find file E:\Apache2\etc\init.d\httpd
03/24 08:51:25 debug Could not find file E:\Apache2\etc\init.d\apache
03/24 08:51:25 debug Could not find file E:\Apache2\etc\rc.d\init.d\httpd
03/24 08:51:25 debug Could not find file E:\Apache2\etc\rc.d\init.d\apache
03/24 08:51:25 debug Could not find file E:\Apache2\sbin\init.d\apache
03/24 08:51:25 debug Could not find file E:\Apache2\sbin\init.d\httpd
03/24 08:51:25 debug Could not find file E:\Apache2\usr\local\apache\bin\apachec
03/24 08:51:25 debug Could not find file E:\Apache2\usr\apache\bin\apachectl
03/24 08:51:25 debug Could not find file E:\Apache2\etc\init.d\apache2
03/24 08:51:25 error Could not determine Apache control script file
I was able to trick wsconfig into working by creating a file called apachectl in the place it was looking. It still failed to execute it and wrote an exception backtrace to the screen, but kept going and finished the job anyway. The connector is working, so whatever it wanted to do with apachectl must not have been important. (I used -norestart because I thought it might have been trying to use apachectl to restart httpd, but that was apparently not it.)
wsconfig should be updated to skip apachectl invocations when running on Windows.
You haven't shown your wsconfig command line args. There are available arguments, including ones to name config and binary folders. Which, if any, are you using?
Sorry, I meant to include the command line in the log snippet I posted but then trimmed it too much.
03/24 08:51:23 info Tomcat Connector
03/24 08:51:23 debug command line: -ws Apache -dir E:\Apache2\conf -norestart -v
I also tried some things with -script but it just said "-script is not a valid argument for web server Apache". (A misleading error message since -script is only used for Apache, what it really means is not valid on Windows, but then it goes on to try to find the script anyway.)
The wsconfig GUI was also not usable. On the Add screen, the OK button is grayed out. This might be because I didn't choose anything in the Apache Virtual Host list, which I can't, because it's empty.
There is an issue while creating the connector with Apache on Windows and we have fixed it and Charlie logged a bug for that. However, from the logs, it is unclear that you have the same issue.
Do you see the exception in the command prompt when you launch the wsconfig.exe? If that has Null Pointer Exception, then the bug which I mentioned is here - https://tracker.adobe.com/#/view/CF-4212735
Yes, it does look like the same issue. I can get the same null pointer exception to appear by pressing Enter in the conf file field of the Add dialog.
Another thing I didn't mention before is that before the Add dialog comes up, I get an error message in the GUI: "Error getting IIS web site list from the metabase. The IISAdmin service cannot be disabled." I ignored this since I'm not trying to set up IIS. The bug report in the tracker mentions having an IIS site, which could be why the symptoms look slightly different from mine.
Since I found a way around the problem, and it was already a known bug with a fix on the way, I guess that wraps things up.
Alan mentioned in a comment above getting this error, when using the wsconfig tool with IIS: "Error getting IIS web site list from the metabase. The IISAdmin service cannot be disabled."
I want to add that I just helped someone having that same problem, and I wondered if it may well be the bug discussed here. (The references to the metabase and even iisadmin service both suggested that somehow the wsconfig tool thought he was using IIS 6, but we confirmed it was not installed at all.)
But I'll share some news: he found that if he just restarted IIS (he did iisreset, specifically), the problem went away. That was odd, indeed. Hope it may help someone else.
Priyank, is there an updated dll or so, or jar, for that fix you refer to? There's nothing mentioned in the tracker ticket, nor is there any comment from anyone else there (as I write now a couple weeks on since your comment here).
If there is a fix, can you either offer it there (as an attachment) or add a comment there (or here) telling folks how to go about getting it? Thanks.
As of now, we haven't shared the fix with anyone. It is still in the testing phase.