Forum Moderators: phranque

Message Too Old, No Replies

Apache 2 (Win) installation starts no service

         

Bernard Marx

12:04 pm on Sep 2, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



History

My OS is Win 2000 Professional. Some time ago, I installed Apache ver 1.3. This worked fine. I recently installed Apache ver 2 on a college PC that had no prior Apache installation. This also went OK.

However, I have attempted to install Apache 2 on my own PC, and this has not gone quite so well.

Action

1) Removed Apache 1.3, using "Add / Remove Programs".
2) Deleted the "Apache Group" directory (It was still there after #1)
3) Downloaded and ran the correct Apache 2 for Win binary (

apache_2.0.54-win32-x86-no_ssl.msi
)

Symptoms

The wizard process is completed, and the Apache icon appears in the system tray, but no service is started.

Just prior to the appearance of the wizard's "Finish" button, two DOS window error messages appear (one then another after the first closes). Here's what they say (roughly translated from (partially) Swedish):

Message 1:

Normally only one user is allowed for each socket address (protocol/network address/port).
: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

Message 2:

[ (date) ][error] (OS 2) Cannot find file. : No installed sevice named "Apache2"
.

I guess that fixing the error that causes #1 (ie getting a service set up) would remove the cause of the second error.

?!

Does anyone have any ideas how to fix this?
(While I'm trying to get this sorted out) Is there any way I can run Apache anyway, even if it's not a service.

Bernard Marx

12:31 pm on Sep 2, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Sorry. Message 1 begins with:

[b](OS 10048)[/b]

jdMorgan

10:26 pm on Sep 2, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



You've got another server still bound to the port 80 socket. It could be the old Apache, or it could be IIS. You'll need to find out which, and disable or unbind that service.

Jim

Bernard Marx

11:02 am on Sep 3, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



The trouble is finding out what, and how. IIS has never been installed, and Apache 1.3 no longer exists on the PC - although it may still be bound port 80.

(even after searching all day) I don't know how to find out
- What application is bound to what port
- How to change / remove these assignments

I have Apache up and running in the meantime by listening on port 8080, and started the service manually via a DOS command I picked up somewhere. I have to type in

http://127.0.0.1[blue]:8080[/blue]/

to visit the index page though!

henry0

11:48 am on Sep 3, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Running 1 or 2 servers does not matter
I do it!
when right clicking the icon it reads
"Running one of two Apache services"

jdMorgan

2:14 pm on Sep 3, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Running two servers is fine as long as they're not bound to the same port.

Use:
Start -> Run, then type "Cmd" and then "netstat -a -b"
to find out what ports are bound and which programs are bound to them. Type "netstat?" for more info.

Jim

Bernard Marx

7:20 pm on Sep 4, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Fixed the problem now. Thanks.

I'm only running one server at present.

I tried

[blue]$> netstat -a[/blue]
(it wouldn't take the
[blue]-b[/blue]
switch).

There was something else listening to 80 according to the netstat, so I tried shutting things down gradually to see how it affected the output.

It seems that the culprit was Skype. I don't really understand this - it wasn't a problem before. Furthermore, Apache still works on port 80 when Skype is reactivated. It seems that one can't start Apache as a service listening on 80 when Skype is active.

jdMorgan

7:41 pm on Sep 4, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Oops! What's that program doing on a server?

For security reasons, you should consider using different machines for "personal" and "server" uses. There's no reason a server needs to run an internet telephony application, or that you would want a server running on a machine that contains any personal information about you. If you've got an old disused machine sitting around, put Apache on that -- Anything faster than about 400MHz should be just fine for a server, as long as it has sufficient disk capacity to serve your site. You'll only need a better machine if you serve a lot of database-driven script-generated pages for a lot of users.

Having two machines allows you to forward TCP/IP port 80 from the internet to your server at the router/firewall, while leaving your personal machines and network locked down.

Jim

Bernard Marx

9:02 pm on Sep 4, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



I don't have any other PC at the moment, and I don't have the finances to change that. I have installed Apache purely for learning purposes, not to serve a website as such.

There are indeed security implications, however I have no personal information on the machine that is either interesting or valuable (refer to above).