ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

A Tutorial Series Testing Your Web Devlopment: Part I. Setting Up Your Own Local Web Server Using XAMPP

Updated on March 31, 2014

Creating an Independent Web Environment

Perhaps you have reached the point where you have enough experience with HTML and CSS that you web pages have a real professional look to them. You might have even added audio and video to those pages. But this is one sided, you now want to do more. Perhaps you want to interact with your users by being able to communicate via e-mail. Perhaps you have a product or service to sell. If you reached this point and are not yet ready to "go live". Setting up your own web server might be the ideal, but you don't know how. In the next few tutorials I will demonstrate how you can take your simple desktop or laptop tutorial and turn it into a website where you can practice with some of these advanced feature.

Most importantly when reading online tutorials the things which are missing are the "mistakes", "missteps", and frustration in achieving a goal. Those sorts of things get filtered out of the presentation as if they never existed. In this tutorial series, I'll not only demonstrate the end result of your efforts, but I'll try to point out the common errors and unforeseen problems which you might encounter, as I have encountered them.

I'll first start with a working example of the environment and why this is probably the platform you would want to start with. Then, if you continue with the tutorials I will take you on a "voyage of rediscovery", start from scratch with a product installation and the pitfalls which come with anything new. Ready to dive in? Let's go!


A Preview of the Product We Will Install: XAMPP

What the heck is XAMPP?

XAMPP is a set of tools which was specifically designed as a development tool, to allow website designers and programmers to test their web pages on their own computers without relying on any Internet access. They wrapped together a set of tools which would satisfy most of the needs for any web developer. They created a single user interface via a console (see the snapshot which follows) and placed the various elements in a single "container" for download, be it a zip, 7z, tar, or executable file (platform dependent). The intention is that this file could be download and with little configuration input, be immediately used by a web developer. This is mainly true, the nor "mainly true" part is the reason for these tutorials.

The remainder of this tutorial will just be a "walk through" we will start the nitty gritty with the download at the end.


The XAMPP Console

This is the XAMPP Console as it appears on a Windows system. The services for the various compnent: Apache, Tomcat, FileZilla, Mercury, and MySQL have been started.
This is the XAMPP Console as it appears on a Windows system. The services for the various compnent: Apache, Tomcat, FileZilla, Mercury, and MySQL have been started.

So What is XAMPP?

XAMPP stands for:

  • X - Cross Platform - which means it works equally well on Windows, Linux, and Mac based systems.
  • A - Apache - is a web server application notable which has had a key role in the development of the World Wide Web
  • M - MySQL an implementation of the SQL relational database model
  • P - PHP, a server-side scripting language
  • P - a general purpose, interpreted, programming language.

These are the key components. Note that the emphasis is on the World Wide Web, database, cross-platform, and scripting, with an emphasis on server-sdie scripting. In other word when one implements in the XAMPP framework, one is emulating a server environment on a local machine.

Getting Very Detailed Component Information is a Breeze

Clicking on the "Admin" Button for Apache brings up this screen. There is a great deal of information presented here which is worth exploring.
Clicking on the "Admin" Button for Apache brings up this screen. There is a great deal of information presented here which is worth exploring.
Clicking on "Admin" for Tomcat causes this screen to appear. Apache Tomcat is  the "open source" software implementation of the Java Servlet and JavaServer Pages (jsp).
Clicking on "Admin" for Tomcat causes this screen to appear. Apache Tomcat is the "open source" software implementation of the Java Servlet and JavaServer Pages (jsp).
The beauty is that all of the information is right at your fingertips. Since the product is designed to be "self-contained" with no Internet access, the documentation is as well ---- the documents are all part of the product download.
The beauty is that all of the information is right at your fingertips. Since the product is designed to be "self-contained" with no Internet access, the documentation is as well ---- the documents are all part of the product download.

Investigating Other Console Options: Config and Logs

The first installation of XAMPP which I attempted was an early release. I had some fore-knowledge of what to expect but as with any new product there are some "growing pains". I had several issues I I felt were configuration problems. Heading directly into the downloaded code, I searched for configuration files until I found the information I needed.

If I had just clicked on the "config" buttons on the XAMPP console, I could have avoid a lot of searching. The "config" button of each of the components, brings up a list of the related configuration and initialization files. The other options will bring you to the point of the pertinent sub-directory.

The snapshot which follows illustrates this for the Apache component. Note well that if you were unaware that three files were involved in the configuration you would have to do a lot of digging to find the information which you were interested in.

The Console Configuration Information

The Apache "config" buttom when clicked shows a list of configuration files which you may choose from. Selecting a file name opens the file for inspection  in notepad.
The Apache "config" buttom when clicked shows a list of configuration files which you may choose from. Selecting a file name opens the file for inspection in notepad.
Clicking on a sub-directory bring up the directory structure of the installation at that point.
Clicking on a sub-directory bring up the directory structure of the installation at that point.

The Sub-component Logs

The "logs" button brings up the list of logs associated with the sub-component. In the case of Apache there are three logs: the error log, the access log, and the PHP error log.
The "logs" button brings up the list of logs associated with the sub-component. In the case of Apache there are three logs: the error log, the access log, and the PHP error log.

Miscellaneous But NOT Unimportant Button Options

There are several other buttons present on the screen: help, allows you to obtain additional external help; quit, ends the console session; explore brings up the directory.

Two are very relevant and helpful: the netstat and the services buttons. Many of the problems developers have when initially setting up XAMPP are related to problems with TCP/IP port and Windows services conflicts.

Wrap Up and What's Next

In this tutorial we looked at XAMPP and highlighted some of its features. In the next tutorial we will actually do a XAMPP download and installation and get it into a functioning state.

Was Reading This Tutorial Useful?

5 out of 5 stars from 1 rating of Did you find this tutorial informative?
working

This website uses cookies

As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://corp.maven.io/privacy-policy

Show Details
Necessary
HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
LoginThis is necessary to sign in to the HubPages Service.
Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
AkismetThis is used to detect comment spam. (Privacy Policy)
HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
Features
Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
MavenThis supports the Maven widget and search functionality. (Privacy Policy)
Marketing
Google AdSenseThis is an ad network. (Privacy Policy)
Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
Index ExchangeThis is an ad network. (Privacy Policy)
SovrnThis is an ad network. (Privacy Policy)
Facebook AdsThis is an ad network. (Privacy Policy)
Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
AppNexusThis is an ad network. (Privacy Policy)
OpenxThis is an ad network. (Privacy Policy)
Rubicon ProjectThis is an ad network. (Privacy Policy)
TripleLiftThis is an ad network. (Privacy Policy)
Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
Statistics
Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
ClickscoThis is a data management platform studying reader behavior (Privacy Policy)