Hey folks,
I'm running Apache 2.2.17 with the peruser mpm installed from ports (www/apache22-peruser-mpm) on FreeBSD 8.2-RC1.
My problem is that, although Apache is running and listening for connections, it's not actually responding to any requests once connected (or showing them in the log at all).
If I telnet to 127.0.0.1 80, it connects, and I can type out an HTTP request:
And hit enter a couple of times - I never receive any reply. The connection stays open until I kill Apache. Similar results sniffing the packets of a browser's request.
The only output in the error log (with LogLevel debug):
The access log stays empty:
I've tried with accf_http and accf_data both enabled and disabled, and with both the stock configuration and my customized config. I also tried uninstalling apache22-peruser-mpm and just installing straight apache22... Still no luck. I tried removing all of the LoadModule lines from httpd.conf and just re-enabled the ones that were necessary to parse the config. Ended up with only the following loaded:
Same results.
Apache is definitely what's listening on port 80:
And I know it's not a firewall issue as there is nothing running locally, and connecting from the local box to 127.0.0.1:80 results in the same issue.
I ran httpd with the -X option (debug) through truss. It never seems to actually receive any connection request from the kernel (which fits the error log lacking any connections). Only problem I'm able to see is that it keeps trying to call wait on a non-existent process id... No idea what, if anything it could mean, though.
For the interest: the output of truss.
I'm posting this on the FreeBSD forum as, given that Apache is never receiving the connection request, I don't think it's an Apache issue.
I've been banging my head against this for a few days - I've tried StackOverflow, I've tried the #freebsdhelp IRC. Any and all suggestions are VERY appreciated.
-- Adam
I'm running Apache 2.2.17 with the peruser mpm installed from ports (www/apache22-peruser-mpm) on FreeBSD 8.2-RC1.
My problem is that, although Apache is running and listening for connections, it's not actually responding to any requests once connected (or showing them in the log at all).
If I telnet to 127.0.0.1 80, it connects, and I can type out an HTTP request:
Code:
GET / HTTP/1.1
Host: asdfasdf
And hit enter a couple of times - I never receive any reply. The connection stays open until I kill Apache. Similar results sniffing the packets of a browser's request.
The only output in the error log (with LogLevel debug):
Code:
[Mon Jan 10 12:56:58 2011] [notice] Apache/2.2.17 (FreeBSD) configured -- resuming normal operations
[Mon Jan 10 12:56:58 2011] [info] Server built: Jan 9 2011 16:23:07
[Mon Jan 10 12:56:58 2011] [debug] peruser.c(2454): AcceptMutex: flock (default: flock)
[Mon Jan 10 12:57:07 2011] [info] removed PID file /var/run/httpd.pid (pid=1091)
[Mon Jan 10 12:57:07 2011] [notice] caught SIGTERM, shutting down
The access log stays empty:
Code:
root:/var/log# wc httpd-access.log
0 0 0 httpd-access.log
root:/var/log#
I've tried with accf_http and accf_data both enabled and disabled, and with both the stock configuration and my customized config. I also tried uninstalling apache22-peruser-mpm and just installing straight apache22... Still no luck. I tried removing all of the LoadModule lines from httpd.conf and just re-enabled the ones that were necessary to parse the config. Ended up with only the following loaded:
Code:
root:/usr/local/etc/apache22# /usr/local/sbin/apachectl -M
Loaded Modules:
core_module (static)
mpm_peruser_module (static)
http_module (static)
so_module (static)
authz_host_module (shared)
log_config_module (shared)
alias_module (shared)
Syntax OK
root:/usr/local/etc/apache22#
Same results.
Apache is definitely what's listening on port 80:
Code:
root:/usr/local/etc/apache22# sockstat -4 | grep httpd
root httpd 43789 3 tcp4 6 *:80 *:*
root httpd 43789 4 tcp4 *:* *:*
root:/usr/local/etc/apache22#
And I know it's not a firewall issue as there is nothing running locally, and connecting from the local box to 127.0.0.1:80 results in the same issue.
I ran httpd with the -X option (debug) through truss. It never seems to actually receive any connection request from the kernel (which fits the error log lacking any connections). Only problem I'm able to see is that it keeps trying to call wait on a non-existent process id... No idea what, if anything it could mean, though.
For the interest: the output of truss.
I'm posting this on the FreeBSD forum as, given that Apache is never receiving the connection request, I don't think it's an Apache issue.
I've been banging my head against this for a few days - I've tried StackOverflow, I've tried the #freebsdhelp IRC. Any and all suggestions are VERY appreciated.
-- Adam