Postings by Hemant Chaudhary

Apache 2.0 architecture

Hi All,

While Debugging apache, I encountered with following questions. I am unable
to get answers for the following questions, please help to answer them.

Q1. Startup process is reading configuration two times and creating
conftree. Why do we need to read configuration script twice? Is there any
difference in conftree after first and second read of configuration script.

Q2. When we start apache, it starts with startup process and then it
detaches and starts Master/Parent Process. After that Master Process take
control and spawn child processes.

Mutex at run time


I set Mutex to default, sysvsem but when I am checking error_log
AcceptMutex is none.

My httpd.conf:
Mutex sysvsem
Mutex sysvsem mpm-accept

My error_log :
worker.c(1885): AH00294: Accept mutex: none (default: sysvsem)

Where am I going wrong to use mutex ?


Integrate Apache-2.4.25 with tomcat-8.5.23


My apache is running on at location "/home/hemant/apache"
and tomcat-8.5.x is running on at location

To integrate apache with tomcat I used mod_proxy and mod_proxy_ajp.
My httpd.conf looks like this :
<Location /ajp>
ProxyPass "ajp://"
ProxyPassReverse "ajp://"

My server.xml is configured like :
<Connector port="8009" protocol="AJP/1.3" proxyName=""
proxyPort="5643" />

When I am accessing "" then index.html of tomcat
appears, but If I click on any tab

Worker MPM with debug mode

Hi All ,

I added the following patch of code in my worker.c
static void clean_child_exit(int code)

if (one_process) {
prefork_note_child_killed(/* slot */ 0, 0, 0);
+ atexit(apr_terminate);

When I am starting apache with Worker mpm in debug mode and killing the
process with kill -term PID, it is not killing the process.

After send status 200 response, process exited

I started my apache successfully, but when I am sending request from
browser. Getting ERR_NO_RESPONSE in chrome.

I added LogLevel trace7 and collected the error log. What I have found
that, after successful response of requests(status-200), process is

Apache sending Content-Length 0


When I am sending request from browser to client for basic "index.html", I
am getting error that
" Err_EMPTY_RESPONSE " in browser.

When I checked in the error log, found that response content length is 0.

[Tue Dec 05 05:28:15.499282 2017] [core:trace5] [pid 150995199:tid
C:\cygwin64\home\hemant\apache\httpd-2.4.25\server\protocol.c(645): [client] Request received from client: GET / HTTP/1.1
[Tue Dec 05 05:28:15.499445 2017] [http:trace4] [pid 150995199:tid

AH00052 error in apache

Hi All,

When I am starting apache, its started successfully and also listening to
that port.
But when I am sending request from browser to apache. It is not responding
and giving error AH00052.

[Wed Nov 29 11:14:04.956827 2017] [core:notice] [pid 2097152018:tid
7876215824606887940] AH00052: child pid 738197672 exit signal signal #31

What is the reason for this error ? and how to solve it.
Attaching my configuration file.


Libtool lock error


While building apache, I am getting this error:
libtool: compile: Waiting for mod_lbmethod_bytraffic.o.lock to be removed
libtool: compile: Waiting for mod_lbmethod_bytraffic.o.lock to be removed
libtool: compile: Waiting for mod_lbmethod_bytraffic.o.lock to be removed
libtool: compile: Waiting for mod_lbmethod_bytraffic.o.lock to be removed
libtool: compile: Waiting for mod_lbmethod_bytraffic.o.lock to be removed
libtool: compile: Waiting for mod_lbmethod_bytraffic.o.lock to be removed
libtool: compile: Waiting for mod_lbmethod_bytraffic.o.lock to be removed

This time I am getting error

Worker MPM with kill


I started apache server which has worker as mpm in debug mode. I killed the
process with kill -9 then it kills the process and stop debug. But when I
am using kill -term PID then it is not killing process. Whereas kill -term
PID is woking with prefork debug.

If I want to use kill -term PID in debug mode of worker then how to do that.


Aapche with c99 or c11

Hi All,

I have compiled my apache with c99 and its working fine. I am planning to
use c11 compiler also.
Is there any impact will occur if I use c11 in place of c99 ?

Few more questions :
1) My apr is not supporting sendfile,random and mmap. What will be the
impact ?
2) When I am sending request from apache j-meter to my apache server then
for http is working fine with good TPS but for https, TPS is not good
because for most of the request it is taking connection time of
7000-9000ms. Is there anything am I missing in ssl configuration so that it
shouldn't connect continuously.


Apache creates Semaphore


Semaphore is used in multi process environment to share resources within
processes. But when I am starting apache in debug mode i:e single process
then still it creates semaphore. May I know the reason why it is creating
semaphore in debug mode also.


Apache with Semaphore


When I am starting apache in debug mode then it creates semaphore. In
another terminal I am giving command "httpd -k stop" to stop apache. It
stops successfully but it is not removing semaphore.

Why apache is not sending signal to remove semaphore in debug mode after
stop it.


Start apache with tomcat

Hi All,

I am using tomcat-7.0.82 and httpd-2.4.25.

Following are my configuration :

in server.xml

<!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector port="5644" enableLookups="false" redirectPort="8443"
protocol="AJP/1.3" URIEncoding="UTF-8" />

in httpd.conf

Listen 5643

Loaded mod_proxy_ajp and mod_proxy

Include /home/ananya/apache-2.4.25/other/ajp.conf

in ajp.conf

ProxyRequests Off

<Proxy *>

Require all granted


ProxyPass / ajp://

ProxyPassReverse / ajp://

I started both tomcat and apache server.

log in socket.c in APR

Hi All,

I want to add log statement in apr to check some function in apr. When I am
adding ap_log_perror in socket.c in apr, it is giving error..

Is there nay way to print logs of apr. please help.


apr_socket_accept error


When I am starting my apache-2.4.25, I am getting following error.

[Wed Oct 11 13:05:23.521575 2017] [core:error] [pid 1744830478]
(4104)Socket operation on non-socket: AH02179: apr_socket_accept: (client

What are the reasons for this error.
Help will be apreciated.


How to stop apache from debugging


I started debugging with "./httpd -X" command. It starts debugging. Now I
want to stop debugging and start the server normally.

Which command should I use to stop debugging ?


Run apache without master


I want to start my apache without master process means when I will give
"httpd" command, it should start 5 worker process which has access to
httpd.conf as well as serve requests.

Is it possible to achieve this ? If yes, then how should to achieve this ?


Waiting for mod_dav.o.lock to be removed


I am getting "libtool:Waiting for mod_dav.o.lock to be removed" error while
make apache.

Any help will be appreciated.


Which file creates master process


I have apache-2.4.25 on my ststem. When we start server, initially master
process starts and give access to mpm. I want to know which ".c" file is
used to create master process before worker.c.


Build apache without mpm


By which configuration I can build apache without threaded> I dont want to
sue mpm.


MPM_Worker main process

Hi folks,

I have my apache-2.4.25 with worker mpm. For testing, I have killed the
master/main process and send simultaneous requests from apache j-meter and
my apache serves all the requests. What I have observed is that even with
loads number of worker threads are same, it means I lost forking
capability because of main process.

My query is without Master process, what functionalities will I loose?


User Auth type in apache-2.4.25

Hi ,

I have user and group in my httpd.config. I want to use user in Auth type
instead of basic or digest. so that whenever customer try to open
directory, promt will ask to enter username and password and customer can
enter "user" as username and password.

Is there any option to achieve this or I need to write my own module for


Use MPM other than worker,event and prefork

Hi folks,

I have installed apache-2.4.25 with worker module. But I want my apache to
start with my own module instead of worker module. In httpd.config, I have
commented LoadModule, but when I am staring apache, it is looking
for worker module.

Where I need to change code so that it will not look for worker module and
start with my module.


How to use binary to run httpd in different location


I have ported apache on my machine. I have copied bin,lib.conf,modules,
htdocs,logs to another location. Now I want to run my apache in new
location with these things only.
I changed path in httpd.conig and apachectl of new location, but while
starting it is starting apache in old location.

For example :
I ported apache on /home/hemant ..
I copied bin,conf,logs,htdocs,modules to /home/rakesh and in httpd.config I
replace all path of /home/hemant to /home/rakesh and changed port also.

Mod_http2 as static

Hi all

I want to load mod_http2 in my apache-2.4.25. I have installed nghttp2 also.
But my all others modules are shared i:e .so but my mod_http2 is creating
only static i:e .a

In my configure I have given --enable-mods-shared=all and

I tried with --enable-http2., also creating only static not dynamic.

Please help to create .so of http2.


How Apache starts is server


My apache is working with worker_mpm. I want to start my server as server
class, for this I need some changes.

I want to know how apache starts and reads which file. I found no line in
httpd.conf whcih tells or calls mpm_worker to start.

Please help in which way apache flows goes.


Kill Parent Process


I tried two scenarios with httpd-2.4.25 on my machine. My apache has
Case -1 :
I killed one process other than Parent process then new process is created
by apache at same time and there is no effect on requests accept by apache.

I killed parent process then all processes become zombie processes and
apache stops handling processes.

Is there any way so that if my parent process crashes then still apache
works properly and assign new parent process.


How mpm_workers work

Hi all,

In my configuration for mpm_worker, I set following datas

Case 1)

StartServer 3
ThreadPerChild 25
MinSpareThreads 75

In this case, when I start apache I found 5 servers start.

Case 2)

StartServer 6
ThreadPerChild 25
MinSpareThreads 150

In this case, when I start apache I found 8 servers start.

Case 3)

StartServer 1
ThreadPerChild 25
MinSpareThreads 25

In this case, when I start apache I found 3 servers start.

My Query is why two extra server is starting.
Can I change serverlimit?


Mod_ Backtrace in apache-2.4.25


Can mod_backtrace is available to support apache-2.4.25. I want to support
it on HPE Non-stop.
If no then order module which can work as backtrace.


Apache 2.4.25 with openssl 1.1.0e


I am trying to build httpd-2.4.25 with openssl-1.1.0e. But getting
error in SSLv2_Client_Method,
CRYPTO_malloc_init functions .

Whether anyone encountered the same problem?
Does apache-2.4.25 support openssl 1.1.0e?