On 9/7/07, Steen Eugen Poulsen <sep@lix-world.net> wrote:
Kevin O'Gorman skrev:
> My 00_default_vhost.conf:
> =============== start 00_default_vhost.conf ==========================
> # If your host doesn't have a registered DNS name, enter its IP address
> here.
> #
> #ServerName www.example.com:80 <http://www.example.com:80>
> ServerName www.kosmanor.com:80 <http://www.kosmanor.com:80>
>
> #KOSMANOR changes
> #Listen 80
> Listen 64.166.164.49:80 <http://64.166.164.49:80>
> Listen localhost:80

Thats not a vhost configuration, so it's a bit confusing why your trying
to use Gentoo's default vhost config file and making non vhost configs
and I bet it isn't liking the missing:

NameVirtualHost *:80 (You will have to check the apache2 doc for the
VirtualIP version of NameVirtualHost)

<VirtualHost *:80>

If you want to make a non vhost configuration, then do so from the
ground up, don't mix vhost and non vhost unless you want a mess.

The reason you get :80 already bound, is because your configuration bind
twice to the same IP. It's Apache itself that bind twice and bails on
the second attempt.

Not having used this configuration layout in years, I would guess
ServerName is the one creating the listening socket, maybe because it's
placed before Listen.

A workaround has been found (see below).

As may be obvious by now, I don't understand much about configuring apache. I just used what dropped in when I installed Gentoo around 2003, and tried to adapt as time and updates came along.  My needs are fairly simple: a basic server on a single IP plus localhost, using the default port 80.  Static and CGI pages only, no secure applications.  Users (only me, actually) have a page in public_html.  I intend to use mod_python eventually, or write my own module, but that's for later.

I have not a clue how to build a configuration "from the ground up", and I'm hoping to not have to learn.  Since it would be a singleton excercise, I would just forget it anyway in the midst of many other things that claim my attention.

Workaround:
In any event, making ServerName come after Listen, or commenting it out completely, do not change the symptoms at all.  However, commenting out all Listen lines does allow apache to start.  It seems you're right and apache is colliding with itself, but I don't know why, as I don't see any other Listen directives.  This is at best a stopgap because apache's now listening promiscuously, which I do not like at all.

I'm hoping for more help, but my fallback is to save my config files, unmerge apache completely, re-emerge it and see if the default configuration can be made to work right.  That might turn out to be a lot of work, for which read a lot of time.

--
Kevin O'Gorman, PhD