httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Boyle Owen" <>
Subject RE: [users@httpd] help needed : unable to start httpd
Date Wed, 14 Jan 2004 16:30:05 GMT

> -----Original Message-----
> From: []
> Sent: Mittwoch, 14. Januar 2004 17:04
> To:
> Subject: [users@httpd] help needed : unable to start httpd
> Hi,
> sorry to bother folks, but I'm new to building and installing 
> httpd (Apache 
> 2.0.48).
> I've been running an Apache server for quite a while, and was 
> beginning to
> feel that I understood at least part of it, but....
> I'm running under Mandrake Linux, original distribution was 
> 8.2, but I've
> upgraded my kernel to 2.4.18 and that's been fine for a 
> while. I've recently
> started using php quite a bit, but discovered that some 
> things that I needed
> were not ocmpiled into the version distributed with mdk 8.2. 
> So I downloaded
> the current version of PHP, and set about trying to build it. 
> This seems to
> require apxs, which for some reason isn't in my distributed 
> packages, or if
> it is I can't find it. So,,,, I downloaded the current 
> version of Apache 
> (2.0.48) and set about building that. Mandrake seem to have 
> set everything
> up quite differently to the way it goes when you do it 
> yourself, so I decided 
> it would be safer if I de-installed apache+php. Got it all 
> installed and 
> working, but without the Vhosts that I need. When I put them in and
> restart, I get:
> # apachectl start
> (98)Address already in use: make_sock: could not bind to 
> address
> no listening sockets available, shutting down
> Unable to open logs

I wrote this up as a FAQ a while ago - OTTOMH, it sounds like it might
fit (I'm a bit worried by your IP address and I'm not sure if
you've upgraded Linux)...

--- BEGINS ---

Q: Apache will not start. I get the error message "Address already in
use: make_sock: could not bind to port 80"

A: This message means that apache is trying to open a socket on port 80
so it can listen for requests but finds that some other process is
already using that socket. Most likely, the "other process" is simply
another version of apache which is already installed on your system.

If you are using a recent version of Linux (ie post-2000), it will
almost certainly come with a vendor-supplied version of apache. This may
have been installed by default when you installed Linux. It might also
be configured to start automatically when Linux boots.

To check if you already have a vendor-apache running, simply open a
browser on the server and go to http://localhost/. If you see the
default apache welcome page, then you already have apache running.
Alternatively, you can do "ps -ef | grep httpd" to see if there are any
httpd daemons running.

If you are happy to use the vendor-apache, all you need to do is find
the config file (which is called "httpd.conf"). Its location varies
depending on your version of Linux but if you look in the distribution
you tried to install, you will find a file called "config.layout" which
contains a description of the apache layouts for many common systems.
For example, for RedHat it is in /etc/httpd/conf, for SuSE: /etc/httpd,
for OpenBSD: /var/www/conf, FreeBSD: /usr/local/etc/apache, etc. Once
you find it, edit it to suit your requirements and restart apache using
the run control script in /etc/rc.local.

If you would still like to install apache yourself, you have a couple of

- Upgrade the vendor-apache: configure apache using the "--with-layout"
switch, eg:

	./configure --with-layout=config.layout:SuSE

This should set the installation paths to match the vendor layout and
your new version will overwrite the vendor-apache.

- Install in the default location /usr/local/apache. 

You probably already did this - which is why you arrived at this FAQ! So
all you need to do now is to disable the vendor apache to get it off
port 80 so that your version can take over. First you have to find the
control script which is starting apache at boot - start in /etc/rc.local
and look for something like S50apache or S50httpd. Probably this is a
symbolic link to the vendor's apachectl script. As an example, suppose
you find that:

/etc/rc.local/rc.1/S50apache --> /usr/sbin/apachectl (vendor-apache)

Remove this symlink and replace it with:

/etc/rc.local/rc.1/S50apache --> /usr/local/bin/apachectl (your apache)

Now when you reboot, your apache will start instead of the

Alternatively, you can stop and start the apaches using the apachectl
scripts directly, eg:

# /usr/sbin/apachectl stop
# /usr/local/bin/apachectl start

--- ENDS ---

Owen Boyle
Disclaimer: Any disclaimer attached to this message may be ignored. 

Diese E-mail ist eine private und persönliche Kommunikation. Sie hat
keinen Bezug zur Börsen- bzw. Geschäftstätigkeit der SWX Gruppe. This
e-mail is of a private and personal nature. It is not related to the
exchange or business activities of the SWX Group. Le présent e-mail est
un message privé et personnel, sans rapport avec l'activité boursière du
Groupe SWX.

> Nothing gets written into the error_log, so there's no help 
> there. I've done
> everything I can think of, including reboot the machine, but 
> still get the 
> same message. Took out the vhosts stuff, but still the same error.
> Anyone any helpful suggestions. Otherwise it'll have to be a case of
> going back to the old Mandrake distrib, which I'd rather not do!
> Thanks,
> Bill
> -- 
> +-----------------------------------------------------------------+
> | Bill Purvis, thrice-retired software engineer |
> | WWW:                         |
> +-----------------------------------------------------------------+
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP 
> Server Project.
> See <URL:> for more info.
> To unsubscribe, e-mail:
>    "   from the digest:
> For additional commands, e-mail:

This message is for the named person's use only. It may contain
confidential, proprietary or legally privileged information. No
confidentiality or privilege is waived or lost by any mistransmission.
If you receive this message in error, please notify the sender urgently
and then immediately delete the message and any copies of it from your
system. Please also immediately destroy any hardcopies of the message.
You must not, directly or indirectly, use, disclose, distribute, print,
or copy any part of this message if you are not the intended recipient.
The sender's company reserves the right to monitor all e-mail
communications through their networks. Any views expressed in this
message are those of the individual sender, except where the message
states otherwise and the sender is authorised to state them to be the
views of the sender's company. 

The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:> for more info.
To unsubscribe, e-mail:
   "   from the digest:
For additional commands, e-mail:

View raw message