• 0

Apache (XAMPP) is not behaving very nicely.


Question

Not sure if this is the right subforum, so plz move if it belongs elsewhere.

I'm running some fairly recent version of XAMPP via a USB drive, in order to work on a website between my home and work computers. On my work machine, the default config is just fine.

At home, however, I'm running IIS (I also have an ASP site on my home machine that I mess with from time to time). Changing the listening and server port from 80 to 8080 (in httpd.conf) worked fine. Then I rebooted my computer, and for some reason the XAMPP Control Panel is trying to start Apache with port 80 now. I triple-checked, and httpd.conf is definitely set to use port 80.

Not only that, but if I stop IIS entirely, I can start Apache (using port 80), but it's still using port 8080 to serve content - I have to go to localhost:8080 in my browser; just navigating to localhost won't work.

Am I missing something here? I was thinking that httpd.conf was the only place I needed to change anything in order to configure Apache, but XAMPP isn't behaving that way...

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

According to http://textbook.textpattern.net/wiki/index...rl)_for_Windows ...

XAMPP requires port 80 to work. If you already have a server occupying port 80 (e.g. ColdFusion Server, IIS Server, etc.), you will not be able to launch XAMPP after installing it due to a port-binding conflict. The safest (albeit perhaps not the most convenient) solution is to uninstall whatever system/application that is already binding the port. IIS Server is often a common culprit because it's already a part of your PC; so if you have a port-binding conflict, see if you need to disable IIS Server on your system.
Link to comment
Share on other sites

  • 0

The alternative is downloading and configuring everything yourself instead of using XAMPP's install.php script. The only advantage XAMPP has is convenience when it comes to learning PHP and such. Beyond that, I'd recommend doing it yourself, though you might consider looking at WAMP as another alternative. I haven't used it personally, but it exists if you are apprehensive about doing everything yourself.

Link to comment
Share on other sites

  • 0

At least you can easily configure WAMP to be on a different port and it works. Locking to port 80 is really dumb, as you might have Skype bound on it which you ain't gonna release.

Disable the socket pooling[ and unbind IIS if on IIS 6] if you really need both running concurrently on port 80:

(pr?cis of FAQTs entry)

Stop IIS servics>

Stop Apache

Shell to IIS default root adminscripts folder (normally C:\Inetpub\wwwroot\adminscripts)

CSCRIPT ADSUTILS.VBS SET W3SCV/DisableSocketPooling TRUE

(If IIS6 == Win 2K3 server)

Install the Support Tools from the CD you don't have anymore (D:\SUPPORT\TOOLS\SUPTOOLS.MSI, though you might be able to get it from Microsoft)

From the newly installed console shortcut:

httpcfg set iplisten -i xxx.xxx.xxx.xxx

(replace with IP)

check it took (should return code 0) with:

httpcfg query iplisten

Keep the console open, you'll probably need it>

start IIS services

in console, check IIS really has unbound by:

netstat -a -o

check for line near top with <machinename>:http for Local Address and <machinename>:0 as Foreign Address. If there aren't any hooray, else:

issue about 10 iisreset calls. Rebooting the whole thing might help. IIS seems to cache its settings so even though you told it otherwise (and restarted it) it still hogs the port.

Now configure http.conf with Listen xxx.xxx.xxx.xxx:80 (different IP to IIS) and any virtual hosts as necessary.

Start Apache.

As to Apache serving from 8080, there must be something else that is directing it to come from there...

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.