IT Trends: Web Servers
Jan 1, 2006 12:00 PM,
By Brian Glass
Getting your own web server up and running.
There are countless uses for a web server, but there’s also a huge need for support and service surrounding web servers. In the past it has been either extremely difficult to install a web server or very expensive. In this guide I would like to introduce a way to get a web server up and running quickly and cheaply.
“OK,” you ask, “why, as a contractor, would I want to be able to install a web server? Aren’t there companies out there who do nothing but host websites?”
Yes, there are countless web hosting companies. I’m not suggesting you go into competition with those companies. However, there are far more uses for a web server than hosting public websites. Many organizations have web servers that are accessible only internally and are a part of what is commonly called an intranet.
Internal servers have many uses, serving as a place to publish employee handbooks, store common files, or provide group collaboration software. An example application could be an editing workstation that has a web server configured so sound or video files can be directly uploaded to it. Sample productions could be made available for download right from the workstation.
WHICH WEB SERVER?
The two most popular web servers are Microsoft IIS (Internet Information Server) and Apache. As a rough guide to server popularity, Netcraft’s November 2005 Web Server Survey places Apache on 69.36 percent of all active servers and IIS on 24.31 percent. The fact Apache is free and open source makes it an easy choice.
Another benefit to using Apache is its ability to run on numerous platforms. Many commercial hosting companies use Linux to host Apache. Many Linux distributions and Apple’s Macintosh come out of the box with Apache. However, for this article, I would like to give a quick overview of how to install Apache on Windows XP, since it is a common operating system. While procedures on other platforms will be different, the basic concepts are the same.
Many websites are built using a stack of tools built in layers. The stack consists of a scripting language such as Perl or PHP that provides access to data stored in a relational database such as MySQL. The web server program then provides the information produced by the script to a Internet browser. Simple websites bypass the scripting and database layers and serve up pages pre-generated by an HTML editor such as Macromedia’s Dreamweaver.
One of the easiest-to-use multi-platform Apache distributions is XAMPP. The name comes from the popular acronym LAMP or WAMP, which stands for Linux or Windows, Apache, MySQL, and Perl or PHP. Presumably the X relates to the fact that XAMPP runs on multiple platforms and the two P’s at the end indicate that it includes both Perl and PHP. XAMPP is sometimes called the lazy man’s LAMP/WAMP stack. I’m lazy, so I like it.
In addition to the basic stack, XAMPP includes the Webalizer statistics package and several other useful tools and libraries. Add-ons for the Java, Perl, and Python languages can also be downloaded from the site, but for most simple installations the basic XAMPP is more than adequate.
Before installing XAMPP you should check your firewall settings. If your firewall is off then you won’t have any problems. If you are running a firewall, you will have to configure several ports to allow access from other computers, and some services simply may not start if a required port is blocked. The XAMPP site describes which ports need to be opened or forwarded. Your firewall software documentation will tell you how to do this. In addition to the firewall on the server machine, you may have to configure the global firewall for your facility if you wish to allow external access to your web server.
XAMPP does not come secure out of the box. It is designed for web developers, so it is very open. If you are planning on opening up your server to the world, you will want to secure it. There are instructions for securing your server available on the XAMPP page that follows installation or on the XAMPP website.
The basic Windows installer is 26MB, which doesn’t take long to download if you have a broadband or better connection. I recommend downloading the basic Windows installer. After download, it took about five minutes to do the basic installation. I answered most of the questions with the default or yes. It asked me if I wanted to install Apache, MySQL, and Filezilla FTP server as Windows services. I said yes to each, and they all started up. At the end of the install the XAMPP control panel, which manages those services, popped up. For more detailed instructions, you will want to read the step-by-step guide on the XAMPP site at www.apachefriends.org/en/xampp.html.
Once installed, you can go directly to your web server by pointing your browser at it. If you start up your browser on the server machine you can do this by going to http://127.0.0.1. If you’re on a different machine, you will need the hostname or IP (Internet Protocol) number of the web server’s machine. You can find this by performing a simple DOS command — ipconfig. From the Start menu choose Run… Type cmd and press enter. A DOS window will pop up and you can type ipconfig. This will display your current IP number and various other information. Example: If you discover that your IP number is 192.168.0.104, you would browse to http://192.168.0.104. If your network has a DNS naming scheme, you may wish to use a name instead of a number.
Making content available through a website is often referred to as publishing. The easiest place to publish content on your web server is from the server machine itself. You can use an HTML editor such as Macromedia Dreamweaver, Microsoft FrontPage, or the Open Source Nvu. The files produced by these editors can be placed in C:Program Filesxampphtdocs and they will be instantly available through the server. If you save a file there as foo.htm, then it will be available as http://192.168.0.104/foo.htm (remember to use the appropriate IP address).
XAMPP also comes with an FTP (File Transfer Protocol) server. This is probably the easiest way to allow people to publish content on your web server remotely. The default login and password for FTP is newuser and wampp respectively (which should be changed for security purposes). Windows users can set these up as network places to make publishing simple. This can be done from the Network Places item seen from the Windows Start menu.
Though slightly more complicated to configure, XAMPP also comes with WebDAV, which works well for sharing iCal calendars using Apple’s iCal or Mozilla Sunbird. It also works well for publishing and uploading files. Configuration is beyond the scope of this article, but documentation and forums on the XAMPP site will help you get started.
Web services can add much value to your products and installations. The possibilities are limited only by your creativity. Some ideas to get you started are easy upload/download to/from editing workstations, a communications hub for AV production teams, web-based information for people using handheld devices or wireless notebooks during live productions, and personal blogs.
XAMPP has some demo applications for doing simple things like an online phone book. Most of these demos are simply toys. Once you have an Apache server up and running there is a wealth of open source and commercial software available. There are software packages to do anything from customer relationship management (CRM) or calendaring to streaming music over the Internet. Some great starting packages are Joomla (www.joomla.org), a content management system; Kwiki (www.kwiki.org), a simple, easy collaborative environment; and WordPress (wordpress.org), personal blogging software.
Web technology is becoming ubiquitous. Maybe even our refrigerators will have built-in web servers someday. In the future, products that do not provide access or management through web technologies will not be able to compete with those that do. Developing the expertise to work with this technology requires an investment of time and money, but it’s an investment easily gained in small steps. XAMPP is a great place to start.
Brian Glass can be reached at email@example.com.