How to configure Apache to listen some different port? - apache

I am facing problem in starting XAMPP. First of all it gives me error messages in RED when i start XAMPP control panel. When i click on START APACHE, it starts it but when i open localhost it gives me the following error message.
Not Found
HTTP Error 404. The requested resource is not found.
I have tried various ways to resolve this problem but it isn't solved yet. Kindly guide me.
Thanks.

checklist
first run XAMPP installer by UAC(User Account Control) and Antivirus off and run it as admin
uninstall previous XAMP installation
turn off IIS temporarily (which will use default port 80)
change the port to some free valid port by following below guide
summary (Locate the file httpd.conf. This file should be found in C:\xampp\apache\conf folder or via config button in XAMPP control panel and search for 80 port and change it to something like 1234
http://complete-concrete-concise.com/web-tools/how-to-change-the-apache-port-in-xampp

check services.msc if web deployment agent service is running.
check if IIS is running, stop it.

As some solutions may suggest you turn off the IIS or some windows related services, you should therefore take precaution since there are possibilities of stopping very useful user process

Related

Apache server isn't starting on Xampp portable

It may seems as a repeated question but my problem is that I couldn't be able to start Apache server on XAMPP Portable, I'm am aware of the issues that some aplications can cause since they can use the ports where apache is supposed to work, so I decide to change the apache running ports on httpd.conf and httpd-ssl.conf files to Listen on 8080 and 8001 respectively, here are some screenshots of the changes,
http-conf1, http-conf2, httpssl-conf1, httpssl-conf2
In adition to that I also chage the configuration of the "Service & Port Settings" under XAMPP Control Panel, as shown in the folowing image,
xampp-ports
Although, I did all these changes I still can´t get the apache instance running, and keep getting the following error xampp-error, it's important to notice that I´m trying to start apache service in a company workstation and I don't have any admin rights, but I read that ports above 1250 didn't need any admin rigths to run services on them, so I don´t know what to do at this point, any suggestion from you guys would be really appreciated.
Thanks.
There are lot's of answer to this problem here, in particular I think that this is the answer you are looking for:
Have you executed "setup_xampp.bat" script?
It's inside XAMPP folder and it must be executed every time you change XAMPP folder.
(Bolds are mine)
While not explicitly stated in any "immediate" and "easily" visible warning or message, this is also stated in the readme_en.txt file inside the XAMPP portable main folder.
Step 1: Unpack the package into a directory of your choice. Please start the
"setup_xampp.bat" and beginning the installation.
Note: XAMPP makes no entries in the windows registry and no settings for the system variables.
I'd also say there is a not-so-clear note section right above this step:
[NOTE: Unpack the package to your USB stick or a partition of your choice.
There it must be on the highest level like E:\ or W:. It will
build E:\xampp or W:\xampp or something like this. Please do not use the "setup_xampp.bat" for an USB stick installation!]
I've installed it in a random folder (not root) and after running the setup_xampp.bat script everything ran correctly.
If you are using xampp in USB Drive and having issue at different Windows PC/Laptop then Assign a relevant letter to USB according to installation PC/Laptop USB Letter.
Suppose You install xampp in USB at computer Alpha and Computer Alpha assign it letter F to USB and Now You are at other PC/Laptop Bravo and that PC/Laptop assign it to letter W by default then change that letter to F using Bravo system control panel.
Problem: xampp Portable won’t start, failed or just doesn’t work!
Error: Apache shutdown unexpectedly.
[Apache] This may be due to a blocked port, missing dependencies,
[Apache] improper privileges, a crash, or a shutdown by another method.
[Apache] Press the Logs button to view error logs and check... ...
Solution:
Option 2
Step 1: Open Apache "httpd.conf" from xampp control panel. The file will open in notepad.
image-xampp-config
Step 2: Scroll down or search for “ServerRoot”. If result => ServerRoot "/xampp/apache" follow next step. If not follow (Option 2)
image-xammp-ServerRoot
If 'httpd.conf' not like this image follow #Option 2
Step 3: For portable version of xampp don't any other folder name like 'xampp56'
Use only "xampp" And put this on root directory.
No Sub folder/directory
Step 4: Open your USB drive and go to xampp folder, then start the xampp-control-panel with ‘run as administrator’ mode.
Done.
Option 2
Step 1: Open your ‘My Computer’ or ‘This PC’ to confirm your USB drive label on your current PC. E:, F:, G:…
Step 2: Open Apache "httpd.conf" from xampp control panel. The file will open in notepad. Now Scroll down or search for “ServerRoot”
image-changing-file-httpd
Step 3: There’s a file address path after the ServerRoot should change with your current USB drive address path if path not matches with this current PC.
image-notepade-replace-function
Step 4: Repeat the same process for Apache 'httpd-ssl.conf', 'httpd-xampp.conf',
'php.ini'(Please note that php using the backslash “\” instead of forward slash “/”)
image-php-ini-config-update
and
{…your usb…}\xampp\apache\conf\extra\
File name: 'httpd-autoindex.conf', 'httpd-multilang-errordoc.conf'.
Note: If xampp Portable Apache "httpd.conf" like Option 2 you have to Repeat this process Every time. I recommend you to download new version of 'xampp-portable-win32-... .zip'.
Otherwise total of 7 files need to be updated everytime you change
PC!! Apache ('httpd.conf', 'httpd-ssl.conf', 'httpd-xamp.conf')
'php.ini', 'my.ini', 'httpd-autoindex.conf',
'httpd-multilang-errordoc.conf'
Step 5: Open your USB drive and go to xampp folder, then start the xampp-control-panel with ‘run as administrator’ mode.
Done.

I can't get Apache to work for some reason

For some reason Apache just doesn't seem to want to work. I have been trying so many things to try and fix it but with no luck. At first there was programs blocking port 80. A few of the programs I tried to stop on port 80 are skype, World Wide Web Publishing Service, IIS(Internet Information Services), and NT Kernal & System. Then I ran Apache in the cmd. I typed: cd:/apache/bin then I typed httpd.exe but nothing happened and the cursor just kept blinking on the next line. I also went to ApacheMonitor in the bin file and ran that, then went to the little icon on the bottom and clicked start but it just said The requested operation has failed! I don't know what to do now.
I have windows 7.
I would recommend to Install Apache as a service.
However, if you want to start Apache via command prompt. First thing you check if the syntax in your conf files is ok. Open a command prompt as an Administrator. Change to Apache bin directory and use below command.
httpd -t
If it returns Syntax OK, that's a good news. Errors will be displayed if any. Fix all errors.
Once syntax looks ok, run below command to start Apache.
httpd -k start
It should start your Apache. If it doesn't check /logs/error.log and see what's going on.
Good Luck!

The requested URL "http://localhost:8000/" cannot be found or is not available. Please check the spelling or try again later

I installed Apache on my laptop with Windows 7. But when I try to verify the installation I get the following message:
The requested URL cannot be found or is not available. Please check the spelling or try again later.
I tried modifying the httpd.conf file by changing the listing port to: 80,81,85 and 8000 but nothing worked.
Thanks.
I installed WAMP and still had the same problem. The root cause was that port 80 was being used but it wasn't being used by SKYPE and I had no applications running. I found out in YOUTUBE that what blocks or uses port 80 could be SQL SERVER. I had to stop all the SQL Server services that were running (in the background) and that solved the issue.

XAMPP Apache won't start

I am using Windows 8 Pro. I have just installed XAMPP Windows 1.8.1.
I tried to start Apache from the XAMPP control panel but it wont start. It gives the following error.
Also I have no IIS Services running, Web Deployment Agent Service also not running, World Wide Web Publishing Service also not running..
What could be the problem? Can anyone please help?
Error Log
To Windows users:
You can easily "debug" this error by calling the apache httpd-service directly.
Go to XAMPP\apache\bin
Open a cmd-shell or Powershell here (From explorer: 'Shift' + 'right click' on a blank area in the folder)
enter httpd.exe
read the output
It is usually something within one of the many *.conf-files in the XAMPP\apache\conf\extra folders.
As previously mentioned above in the comments - and tested out myself:
This error is rather ambiguous. Therefore, you should check the error.log located at \xampp\apache\logs
When I had this issue, it was because Skype was already listening on port 80 & 445. I was able to get around this by exiting Skype, starting the Apache service, and then restarting Skype. You can check the current port listeners by opening a command prompt and typing Netstat -a
It is also recommended to have User Account Control OFF as it may block some features built into xxamp.
Prior to this though, I had an issue after I modified my Apache httpd.conf file. Reverting those changes (or reinstalling in the user's case) will resolve that issue.
I am using Window 7 and It was same problem with me,I am using Skype and Not start Apache, but finally solved this problem, and It's working now
Check connection setting
In Skype click tools -> click option -> click Advanced -> click connection
Unchecked port number and click Save.
I had this problem as well in XAMPP [XAMPP Control Panel v3.2.1] on Windows 8 64bit.
The first thing I done was to use the "Take Ownership" command (see below for a link) and this created a better error message.
From the error message above it changed to:
5:49:08 p.m. [Apache] Problem detected!
5:49:08 p.m. [Apache] Port 80 in use by "C:\Program Files (x86)\Skype\Phone\Skype.exe" with PID 4968!
5:49:08 p.m. [Apache] Apache WILL NOT start without the configured ports free!
5:49:08 p.m. [Apache] You need to uninstall/disable/reconfigure the blocking application
5:49:08 p.m. [Apache] or reconfigure Apache and the Control Panel to listen on a different port
Closing skype fixes this, reopening skype allows it to change the port number itself.
Adding this only because Google finds this error as the best result for "xampp apache wont start". Sorry for posting on an older issue.
Take Ownership Command: http://www.eightforums.com/tutorials/2814-take-ownership-add-context-menu-windows-8-a.html
Look in the control panel: the service has not been installed yet!
Click the (X) button to install apache in windows service and reboot, it should be working now.
I had the same error, the error logs where empty, I ended up installing Apache as a service via XAMPP.
Now when I try and start Apache I at least get some informative errors in Windows Event Viewer.
Turned out to be a missing directory for a vhost, easy fix, however I was only able to view this error when attempting to start Apache as a service.
First of all, after installation restart windows. As strange as it may be, this does matter. Also, check all apps occupying port 80 (e.g. Skype).
Finally, what resolved my situation - port 443. VMWare have been using this port. AFter killing the VMWare process, Apache worked just fine.
I reinstalled it in another drive and that fixed it. But I have no idea what caused the problem in the first place.
For Linux Users:
The solution:
In terminal: sudo /etc/init.d/apache2 stop
Edit: If you still get this kind of error at next computer start then you probably have apache2 process starting at computer startup.
To prevent apache2 starting automatically at startup:
cd /etc/init.d/
sudo update-rc.d -f apache2 remove
Reboot your computer and now hopefully you can turn on Apache from the XAMPP Control Panel!
I commented Listen 443 directive in httpd-ssl.conf located on C:\xampp\apache\conf\extra, and that did the trick for me. Next restart Apache was green
I had the same problem. I started the Xampp Control Panel as an Administrator. That worked.
Some process is using the port 443, so you can change the port that is used by xampp, to be able to use it. For this job you have to do this:
1- Open httpd-ssl.conf in xampp\apache\conf\extra
2- Look for the line containing Listen 443
3- Change port number to anything you want. I use 4430. ex. Listen 4430.
4- Replace every 443 strings in that file with 4430 and save the file.
I experienced this issue and I preferred to free up the port .80 and my XAMPP/Apache restarted again.
This is how I made the port .80 free.
First:
-Open a command prompt and type this :
netstat -aon | findstr :80
You'll get this display:
Then type this command:
tasklist /fi "pid eq 4"
You'll get the name of the process using the is displayed. Now, press:
Win+R
services.msc in the invite, then press Ok.
Now you can start stopping all services which can use the port .80.
Find some of them here: W3SVC,WAS,SSRS,PeerDistSvc,NcbService.
After trying all the suggestion given above. Disable this, install that. I opened the xampp-control manager from the start but this this as administrator. After I opened it. MySQL was disable. I disable all of the program and enable apache first and then MySQL. Suddenly start working with no problem.
I gave all users full access on the xampp folder, inclusive subdirectories. Afterwards it worked.
Open services.msc directly from command prompt and disabled SQL Server reporting services
& SQL Server analysis services.
I had the same case .
The reason was that I had changed htdocs folder location to another drive and although made appropriate configuration, for physical reasons, when starting apache the drive was not accessible:
After making it accessible the problem has been solved .
Generally it seems logical that when apache doesn't find all of the components it won't start.
i had the same problem but after i went into the readme, i realised that i didn't have Microsoft Visual C++ 2008 Redistributable installed. after i instaled it, all worked just fine
Although this person's question seems to have been answered, I just wanted to add that I received this error because I had a typo in my httpd-vhosts.conf file (got in a hurry and didn't specify a port on the VirtualHost tag).
If you have skype shutdown and the problem still persists. Try this. It could be that apache is set to automatic on restart. Meaning apache is already using that port. Go to services in your XAMPP control and look for apache (whatever version you have). Look for startup type and double-click it to set it to manual.
Hope this works!
If it helps to anyone, I currently use VMWare Workstation in my computer, and it also blocks Apache from starting, because VMWare Workstation listens for requests on port 443.
You can either comment out "listen 443" inside the "httpd-ssl.config" or you can disable "Shared VMs" from VMWare Workstation General Preferences.
If you use your skype ports, turn the ports off from the skype settings->Connections and unmark the port like where it says ports 80 till 443.

My Apache setup alongside IIS

I am trying to learn PHP. I am having trouble getting Apache working correctly on my Vista Home Premium machine.
I have IIS7 running and I would like to have Apache running along with it. I was looking around on the web and some say that it would be fine having the two together as long as they are looking at different ports.
I left IIS looking listening on port 80 and I edited the httpd.conf file in the apache2triad/conf folder to listen on port 8080 and changed the server name to localhost:8080. When I go to localhost:8080/phpmyadmin the page that allows me to create a database looks like all the page styling is off so I know that something is already wonky.
I enter a database name and click the Create button, then receive a 404 error from IIS. It says that it is looking for a file at:
Requested URL:
http://localhost:80/phpmyadmin/db_create.php
Physical Path:
C:\inetpub\wwwroot\phpmyadmin\db_create.php
It's pointing to my inetpub folder but all of my PHP stuff is in the c:\apache2triad folder.
Can someone please tell me what I am doing wrong? Thanks.
If you want to get a URL from your Apache server, you need to use port 8080 instead of port 80 (which is where you say IIS is running) - so your URL should be http://localhost:8080/phpmyadmin/db_create.php
As Shawn said, if you're not familiar with apache at all, you're probably better off setting up PHP under IIS - see http://www.php.net/install.windows