Apache server isn't starting on Xampp portable - apache

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.

Related

Where can I find httpd.conf file for Apache on my windows?

I am trying to fix one venerability on my production web server(Apache), Venerability is "The HTTP headers sent by the remote web server disclose information that can aid an attacker, such as the server version and technologies used by the web server"
For this I have gone for some solutions , some where I found that to solve the above Venerability we need to edit the httpd.conf file on server but I did not find httpd.conf file in my entire system (using windows 10 os) can any one please let me know hot find that file or how to resolve that Venerability on production ?
You can find httpd.conf in
installed folder ex Apache24
Apache24/conf/httpd.conf
On Windows, I have seen people run Apache from all kinds of weird and wonderful places.
You need to track down where your Apache instance is running from, normally its running as a service on windows. If you open the properties on the service and look at the Path to executable, it should be something similar to the below.
"C:\Program Files\Apache24\bin\httpd.exe" -k runservice
Or it could be
"D:\Some Application\Version\WEB\tool\SOFTS\HTTPD\bin\httpd.exe" -k runservice
Unless there is an -f flag, setting the location of the conf. There will be a "conf" folder at the same level as the "bin" folder regardless of the path. This location is set at compile time so unless you have bespoke version off Apache this should be the location.
If you are struggling to find the service or a launcher that is running Apache. You can use WMI with a WQL query to look for processes which are called httpd.exe and get its executable path.
wmic process WHERE name="httpd.exe" GET ExecutablePath
In Xampp Control panel, in apache row, click on "config" button and then you see the term Apache(httpd.conf).

Apache doesn't start in XAMPP at all

I am trying to start apache server since morning but it doesn't start at all.
I have changed the main port from 80 to 8012 and done everything that I could after reading Q&As on forums on internet, but I am unable to start it. Here is a screen shot of my XAMPP control panel
just for information i am using apache 2.4, php 7 and mysql 5.7
During the installation, you might save it a different folder name by renaming it. Upon trying to start the xampp the system cannot find the file path.

How to configure Apache to listen some different port?

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

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.

Is it possible to have WAMP run httpd.exe as user [myself] instead of local SYSTEM?

I run a django application over apache with mod_wsgi, using WAMP.
A certain URL allows me to stream the content of image files, the paths of which are stored in database.
The files can be located whether on local machine or under network drive (\\my\network\folder).
With the development server (manage.py runserver), I have no trouble at all reading and streaming the files.
With WAMP, and with network drive files, I get a IOError : obviously because the httpd instance does not have read permission on said drive.
In the task manager, I see that httpd.exe is run by SYSTEM. I would like to tell WAMP to run the server as [myself] as I have read and write permissions on the shared folder. (eventually, the production server should be run by a 'www-admin' user having the permissions)
Mapping the network shared folder on a drive letter (Z: for instance) does not solve this at all.
The User/Group directives in httpd.conf do not seem to have any kind of influence on Apache's behaviour.
I've also regedited : I tried to duplicate the HKLM\[...]\wampapache registry key under HK_CURRENT_USER\ and rename the original key, but then the new key does not seem to be found when I cmd this
> httpd.exe -n wampapache -k start
or when I run WAMP.
I've run out of ideas :)
Has anybody ever had the same issue?
Win+R, services.msc
edit wampapache and wampmysqld to log on as some user.
the tray icon is a convenient front end to "net start wampapache" and "net start wampmysqld"
The User/Group directives in httpd.conf do not seem to have any kind of influence on Apache's behaviour.
httpd.exe is started by the root user (this is probably why you see it running under SYSTEM). The user and group lines in httpd.conf determine what user the child processes (that httpd spawns) will run under. These forks are what actually handle page requests, etc. so it is possible that your configuration is already doing what you want it to, it is just unclear from looking at task manager.
You could also try using runas to start WAMP/Apache, though your mileage may vary.
I've just found that executing httpd.exe myself works for me... I just loose all the funky WAMP tray icon, and the "restart apache" menu item, really handy whenever I update my application code...
I'll have to make do with this for the moment...