New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Start learning with our library of video tutorials taught by experts. Get started

Installing Apache, MySQL, and PHP
Illustration by Don Barnett

Installing XAMPP for Windows


Installing Apache, MySQL, and PHP

with David Gassner

Video: Installing XAMPP for Windows

The XAMPP software stack includes everything you need The link labeled XAMPP for Windows will download the most recent version, but you Notice that as the installation starts up you see a Bitnami splash screen going by.
Expand all | Collapse all
  1. 17m 35s
    1. Welcome
      1m 9s
    2. Understanding Apache, MySQL, and PHP
      7m 12s
    3. Using the exercise files
      1m 7s
    4. What's new in this update
      3m 35s
    5. Choosing a software stack
      4m 32s
  2. 30m 18s
    1. Installing Apache HTTP Server 2.4 on Windows
      6m 51s
    2. Installing PHP 5.5 on Windows
      4m 12s
    3. Starting Apache from the command line
      5m 24s
    4. Installing MySQL on Windows
      7m 24s
    5. Installing phpMyAdmin on Windows
      6m 27s
  3. 44m 5s
    1. Activating Apache on Leopard and Snow Leopard
      3m 35s
    2. Activating Apache on Lion
      5m 9s
    3. Activating Apache on Mountain Lion and Mavericks
      4m 57s
    4. Configuring personal site folders on Mountain Lion and Mavericks
      6m 59s
    5. Activating PHP on Mac OS X
      6m 12s
    6. Installing MySQL on Mac OS X
      3m 59s
    7. Setting the root user password
      2m 28s
    8. Installing phpMyAdmin on Mac OS X
      6m 16s
    9. Uninstalling MySQL on Mac OS X
      4m 30s
  4. 14m 35s
    1. Installing WampServer
      6m 25s
    2. Managing WampServer
      2m 2s
    3. Defining directory aliases through WampServer
      2m 55s
    4. Changing software versions with WampServer add-ons
      3m 13s
  5. 10m 58s
    1. Installing MAMP
      4m 6s
    2. Configuring Apache and MySQL server ports
      1m 57s
    3. Managing MAMP
      4m 55s
  6. 29m 3s
    1. Installing XAMPP for Windows
      10m 0s
    2. Managing XAMPP for Windows
      4m 4s
    3. Managing MySQL security through XAMPP for Windows
      2m 40s
    4. Installing XAMPP for Mac OS X
      6m 14s
    5. Managing XAMPP for Mac OS X
      2m 27s
    6. Managing MySQL security through XAMPP
      3m 38s
  7. 13m 20s
    1. Installing BitNami for Windows
      6m 31s
    2. Installing BitNami for Mac OS X
      6m 49s
  8. 18m 49s
    1. Handling port conflicts with Skype on Windows
      2m 37s
    2. Handling other port conflicts on Windows
      5m 19s
    3. Detecting and handling port conflicts on Mac OS X
      6m 26s
    4. Configuring Apache to work with IPv6 on Windows 8
      4m 27s
  9. 31s
    1. Goodbye

Watch every course in the library with a membership.
Each course includes high-quality videos taught by expert instructors.

Become a member
please wait ...
Installing Apache, MySQL, and PHP
2h 59m Intermediate Jan 21, 2011 Updated Mar 28, 2014

Viewers: in countries Watching now:

Installing Apache, MySQL, and PHP with David Gassner describes how to install and configure Apache HTTP server, MySQL database server, and PHP, known as the AMP stack, on a local development computer. Chapters are devoted to multiple installation approaches: installing the components separately on both Windows and Mac (including coverage of Apache and PHP on Mac OS X 10.7 Lion and 10.8 Mountain Lion), installing the pre-packaged Apache and MySQL distributions in WampServer on Windows and MAMP on Mac, and installing the cross-platform XAMPP and Bitnami on both Mac and Windows. Exercise files are included with the course.

This course was updated on 07/06/2012.

Topics include:
  • Performing Apache, PHP, and MySQL as separate installs
  • Activating Apache and PHP on Leopard, Snow Leopard, and Lion
  • Setting the MySQL root user password
  • Installing WampServer
  • Changing software versions with WampServer add-ons
  • Installing MAMP
  • Configuring MAMP's Apache and MySQL server ports
  • Installing XAMPP for Windows and Mac
  • Managing MySQL security through XAMPP
  • Installing Bitnami for Windows and Mac
  • Detecting and handling port conflicts
  • Working with Apache and IPV6 in Windows 8
Developer Web Servers Databases
MySQL PHP HTTP Server Apache HTTP Server
David Gassner

Installing XAMPP for Windows

The XAMPP software stack includes everything you need to run PHP applications Apache, PHP, and MySQL. And the Windows version includes a lot of other optional software. You can download XAMPP from The link labeled XAMPP for Windows will download the most recent version, but you can also click the download link at the top and you'll have some choices. As of the time of this recording, there were two versions available, one running PHP 5.4, and one with PHP 5.5.

Notice that they're both 32 bit. They'll run on either 32 or 64 bit Windows. I've already downloaded the installer to my desktop, and I'll start it up now. Make sure to run the installer as administrator, that'll avoid a few problems later on. I'll right-click and choose run as administrator, and then, if you see any user account control dialogues, the publisher should be BitRock Incorporated. If it is, click Yes and continue on through the installation.

Notice that as the installation starts up you see a Bitnami splash screen going by. I'll explain that relationship in a moment. You might see this dialog pop up, too. Claiming that you have an antivirus software package running. If you do, it's recommended that you turn it off during the installation, but you might see this dialog even without an antivirus package. The last time I checked, the URL displayed in this dialog box didn't work, but the information that it provides is available in another place on the Apache Friends website.

I'll go to my browser and click a bookmark I've already set up. And this is in the FAQ page at faq_windows.html under the Apache Friends route. Scroll down and look for a note about antivirus software. It's labelled, how do I configure my antivirus application? You'll find some general information about working with antivirus software, including how to set up exceptions. As you do the installation, if you're using the Windows Firewall, you'll be able to add those exceptions as you install, and as you start up the servers for the first time.

I'll return to the installation and continue by clicking Yes. On this screen, you're told not to install XAMPP in the folder Program Files, x86. You really shouldn't install this software in any folder that has a space in the name. And you'll see during the installation that the default is a folder called C:\XAMPP. I'll click OK, and that takes me to the initial screen. Notice, once again, the Bitnami graphic.

Bitnami is an organization that has its own AMP Stacks that I'll talk about in a later chapter of the course. But Bitnami has an arrangement with the XAMPP folks where Bitnami provides add-on modules. So, if you install XAMPP, you can then go get additional modules from Bitnami for products like WordPress, Drupal, Joomla, and other popular web applications and add them to your XAMPP install. I'll click next, and on this screen, I'll see all of the different software that's available.

There's an FTP server, a mail server, Tomcat, which is a Java-based server, Webalizer and Fake Sendmail. And I don't need any of those. If all you're doing is very simple PHP development, you can uncheck all of those options. And you might not even need Perl. This will minimize the size of your installation, and speed up the installation process. You'll definitely need Apache and PHP and you might need MySQL, if you don't already have it installed, and you might need PHP MyAdmin, the web application you can use to manage your MySQL server.

I'll click Next, and this tells the installer where to install the XAMPP files. I'll accept the default, C:\XAMPP, and click Next again. And on this screen, I'll uncheck the option to learn more about Bitnami. This would just take you to a web page at the Bitnami site. I'll click Next again, and then finally when I click next this time, I'll start the installation. It'll take a few minutes to copy all of the files over and start up the servers for the first time.

Along the way, as I mentioned, you might see firewall dialogs. If you see a request to set an exception for a firewall, I recommend accepting it, because that's what will allow XAMPP to communicate effectively with the rest of your system and with the outside world. You'll also see a screen that tells you a little bit more about Bitnami for XAMPP, those add-on modules that I mentioned for popular content management systems. Here's an example of the Windows Firewall Security Alert. It's telling me that I need to set up an exception that lets the Apache HTTP server work on this system.

I will click Allow Access, and now Apache can work as designed. When you get to this screen, the installation is complete. I'll leave this option checked to start the control panel, that's the XAMPP control panel not the Windows control panel. The first time you start up the control panel you might see these messages telling you that there are errors trying to start up Apache that port 80 and port 443 are somehow already in use.

Here's how you can fix this very easily. Shut down the XAMPP control panel, now go to Windows Explorer or File Explorer if you're working on Windows 8, and go to the XAMPP installation folder, C:\ XAMPP. Scroll down and locate the Control Panel application, it's named XAMPP-control. If you start it up just by double-clicking you'll once again see those errors. I'll close it, and this time I will right-click on it, and choose run as administrator.

If you see a user account controlled dialog, click Yes. And this time, you should see the messages that Apache is already running on port 80, and port 443. And now you can start up my SQL for the first time. I'll click Start, and, once again, I see a Windows Firewall Security alert. I'll click Allow Access, and now my SQL can do its work on my system. And now both Apache and mySQL are running.

For Apache, you can get to the administrative home page by clicking the Admin button. That'll take you to local host, to the initial page where you select your language. I'll choose English. And from this page, you can click on the link to open PHP MyAdmin. And this should show you the administrative interface for your MySQL server. I'll close that web page and show you a couple of other tools that are available in the XAMPP control panel. This Config button opens a dialog box that let's you manage the behavior of the XAMPP server environment.

For example, you could say that you want Apache and MySQL to start up automatically when you launch the control panel. You can also modify the language you're working in, and with this button labelled, Service and Port Settings, you can change the ports that your Apache and MySQL servers are listening on. I'll close those, the Shell button takes you to a command window, and you'll already be in the XAMPP folder, C:/XAMPP.

The Explorer button takes you to File Explorer and shows you the installation folder for XAMPP, and the services button will take you to the Windows control panel's local services console. I'll close this service in console and return to the XAMPP control panel. Once you are done working with XAMPP, you can leave it by clicking on the quit button or just closing the control panel window. Here are couple of other things to know about the XAMPP installation. The XAMPP folder has an Apache folder, and under that you'll find a conf or configuration folder.

And this is where you'll configure your Apache server. This is the httpd.conf file. Going back to the XAMPP folder, this is the htdocs folder. This is where you would put your HTML and image files and other web assets. And finally, PHP MyAdmin is where the PHP MyAdmin web application is installed. So, that's a look at how to get started with the Windows version of XAMPP. Again, it includes the essentials, Apache, MySQL, and PHP, but also has a lot of optional software that you can either use or ignore.

The most important thing to remember is that when you're opening that control panel especially the first time, open it as administrator. And then both Apache and MySQL should start up as expected.

Find answers to the most frequently asked questions about Installing Apache, MySQL, and PHP.

Expand all | Collapse all
please wait ...
Q: I followed the procedure in the "Installing XAMP for Windows" video, but 1) I got no text file popup after install, and 2) the Admin button does not bring up phpMyAdmin page. Nothing happens even though the Running button is green.

A: The text window not popping up after the installation is just a difference in the installation flow; it shouldn't cause any functional problems.

The issue around phpMyAdmin not opening correctly from the Xampp Control Panel has come up before. There is a bug in the newest version of Xampp for Windows (version 1.7.4) that affects the Control Panel. After starting the Control Panel, and then starting both Apache and MySQL, clicking the MySQL Admin button doesn't open the browser to the phpMyAdmin as expected. However, both MySQL and phpMyAdmin are working correctly.

Follow these steps instead:
  1. Click the Admin button next to Apache to open the Xampp home page in the browser.
  2. Click phpMyAdmin under the Tools section of the menu on the left side of the page.
phpMyAdmin should open correctly. From that point, you should be able to manage your database.
Q: I'm using TextWrangler on the Mac to uncomment the following line in the httpd.conf file, as shown in the video "Activating PHP with the included Apache server" in Chapter 2:

LoadModule php5_module libexec/apache2/

When I try to save the changes, I get the message "Error code: -5000". What's going wrong?
A: This is a common issue with the latest version of TextWrangler. Here's another way of editing the file with a command line editor named Pico that's included in Mac OS X. Remember, most text editors don't give you the ability to edit files as the "root user", and you need those rights to edit the httpd.conf file.

Unlike TextWrangler, Pico doesn't accept mouse input, so you have to do everything with the keyboard:
  1. Open Terminal from /Applications/Utilities/Terminal.
  2. Type sudo pico /private/etc/apache2/httpd.conf.
  3. Type your password and press Return.
  4. Press Ctrl+W for 'Where is'.
  5. Type 'php' and press Return. You should find the commented-out line with php5_module
  6. Delete the '#' at the beginning of the line.
  7. Press Ctrl+X for 'Exit'.
  8. Press Y for 'Yes'.
  9. Press Return to save and exit
We recommend also using Pico to edit the php.ini file.
Q: After downloading XAMPP I was unable to start Apache from the control panel. MySQL started fine. When I click the Start button next to Apache it looks like it starts and then stops. Here is the output:

Apache Started (Port 80)

The MySQL button says "running" with a stop button; the Apache button still? says start no matter how many time I click it.
A: This usually means that another program is using Port 80 (the port that Apache needs). Port 80 is used for any web server, so you either have another web server running or you're running something else (usually Skype) that is using Port 80.

If you're running Skype (and this is really common), you need to configure it to use a different port. If it's not Skype, it may be that you're running another web server or IIS (Microsoft Internet Information Server, the web server that comes with Windows), which you'll need to quit.
Q: This course was updated on 07/06/2012. What changed?
A: A few of the WampServer movies were updated to reflect the new user interface. We also added movies on installing Bitnami, an open source stack solution, and troubleshooting Apache to work with IPV6 on Windows 8.
Q: This course was updated on 01/09/2012. What changed?
A: Two new movies were added to Chapter 2, "Installing Separate Components on Mac OS X," to reflect the changes in the latest version of Mac OS X, Mountain Lion (version 10.8). These movies cover activating Apache and configuring personal site folders in Mountain Lion.
Q: This course was updated on 8/23/2013. What changed?
A: We added new software download locations and coverage of Apache HTTP Server 2.4 on Windows, as well as information on managing Apache from the command prompt, editing hidden config files with the nano editor, and installing the new version of Bitnami on Windows and Mac OS X.
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.
Upgrade now

Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

join now Upgrade now

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.

Mark all as unwatched Cancel


You have completed Installing Apache, MySQL, and PHP.

Return to your organization's learning portal to continue training, or close this page.

Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?


Notes cannot be added for locked videos.

Thanks for signing up.

We’ll send you a confirmation email shortly.

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.