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

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

Installing Apache, MySQL, and PHP
Illustration by Don Barnett
Watching:

Handling other port conflicts on Windows


From:

Installing Apache, MySQL, and PHP

with David Gassner

Video: Handling other port conflicts on Windows

You can only have one copy of MySQL and one copy of the Apache HTTP Server running at a time. If you try to install and run more than one, you'll get a port conflict. MySQL listens on Port 3306 and Apache on Port 80, and only one process can listen on each port at a time. I'll show you how to recognize and then how to resolve port conflicts on Microsoft Windows. I currently have the Local Services control panel opened, and it shows that Apache 2.2 is started and then I'll go down to MySQL and show that has started as well.
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
      31s

Watch every course in the library with a lynda.com 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
Subjects:
Developer Web Servers Databases
Software:
MySQL PHP HTTP Server Apache HTTP Server
Author:
David Gassner

Handling other port conflicts on Windows

You can only have one copy of MySQL and one copy of the Apache HTTP Server running at a time. If you try to install and run more than one, you'll get a port conflict. MySQL listens on Port 3306 and Apache on Port 80, and only one process can listen on each port at a time. I'll show you how to recognize and then how to resolve port conflicts on Microsoft Windows. I currently have the Local Services control panel opened, and it shows that Apache 2.2 is started and then I'll go down to MySQL and show that has started as well.

I've also installed XAMPP and WampServer. I'll start at the XAMPP Control Panel. This Control Panel shows that both Apache and MySQL are running, but notice that the Service checkboxes are selected. These reflect the native services that were installed, not the versions that were installed with XAMPP. Now I'll click the Admin button for Apache and instead of going to the XAMPP homepage as expected, I get a Not Found 404 error, indicating that the XAMPP URL wasn't found.

That's because I'm trying to navigate to the homepage on XAMPP, but instead I'm sending a request to the Apache HTTP native server. I'll prove that by going to http://localhost without the XAMPP directory and I'll get the native homepage saying, "it works!" Now, here is how you can recognize the same circumstance when trying to use WampServer. I'll double-click the WampServer icon to start up the server and then in the system tray the gauge shows red and then perhaps some other color, but it doesn't go all the way to white as it would to indicate that the servers ran successfully.

I'll click the icon and try to click Start All Services, and once again the gauge just doesn't change color. Now I'll go to the WampServer homepage and click Localhost and once again instead of getting the WampServer homepage I get the native Apache homepage. Now you can resolve this fairly easily by going into the Services control panel and stopping the services, and then you should be able to run the other versions of the services. So in the control panel I'll select Apache 2.2 and click the Stop button.

Then I'll go down to MySQL and once again I'll click Stop. Then I'll go to the WampServer icon in the system tray and choose Start All Services and now the gauge goes to all white. To show that both services that are a part of WampServer are running successfully, I'll open up phpMyAdmin. If you can get to phpMyAdmin you know that both MySQL and Apache are running successfully. Now here's another way that you can find out what's running on your system.

I'm going to stop the WampServer services and then go back to the control panel and restart both MySQL and Apache. It doesn't matter what order I start them in. Then I'll show you a trick you can do on the command line to find out whether certain ports are in use. I'll click the Windows Start button and type in cmd and open the Command application. In the Command application I'll use an application called netstat.

This is an application that's included with Microsoft Windows. It should be available on all versions of Windows including XP, Windows Vista, and Windows 7. I'll use the netstat application with a parameter of -a, which means show me all server applications listening on the TCP/IP Stack. And then after netstat -a, I'll type in a pipe character and then the Find application. This allows me to take the output of the netstat application and filter it looking for a particular string.

I'll type in the string LISTENING, in all uppercase and wrapped in quotes. Here is the result. It lists all of the ports that are currently in use on your computer. Notice port 80 is on the first line and port 3306 appears below. The exact order of the ports displayed will depend on the configuration of your computer. Now to demonstrate what happens when you shut the applications down, I'll go back to the Services panel and I'll stop Apache and MySQL. I'll come back to the Command line window.

I'll press the Up Arrow to repeat the last command and press Enter, then scroll up a bit and show that both port 80 and port 3306 have disappeared from the list. The netstat application lets you verify that those ports have been released by whatever application was using them. So that's a look at how you can recognize and then resolve port conflicts. Port conflicts occur when you install more than one copy of a server application and try to run them all at the same time.

You can easily find out what's happening and then fix the situation by knowing how to recognize the symptoms in both the server bundled applications and in the command line.

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/libphp5.so

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:

Busy
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

Congratulations

You have completed Installing Apache, MySQL, and PHP.

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


OK
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 lynda.com 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?

No

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 lynda.com 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 lynda.com.

Sign up and receive emails about lynda.com 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.