This is a quick followup on my post,
HTTPSRVR with Apache. If you're using an older version of httpsrvr (e.g. from Delphi 6), then you need to add the following OnCreate/OnDestroy events for the main httpsrvr WebModule. The reason you need to do this is that each thread needs COM initialized, and Apache doesn't automatically do that initialization (whereas, IIS does).
procedure THTTPServer.WebModuleCreate(Sender: TObject);
begin
{ Each web module will be in a separate thread. We need to initialize
the COM subsystem for each thread }
if Assigned(ComObj.CoInitializeEx) then
ComObj.CoInitializeEx(nil, COINIT_MULTITHREADED)
else
CoInitialize(nil);
end;
procedure THTTPServer.WebModuleDestroy(Sender: TObject);
begin
CoUninitialize;
end;