Web Development
Database Development
Ecommerce Intergration
LAMP Development
Web Hosting
Contact Us

Why LAMP

For the entire life of the World Wide Web, the backbone that's kept it upright are the tools of Linux. Linux, Apache, MySQL, PHP, Perl, and Python Ñ collectively known as LAMP Ñ comprise more than two-thirds of the servers, databases, and scripting languages on the web today. It's getting more difficult each day to be a web developer without knowledge and at least a rudimentary level of skill with these tools.

What's the attraction to LAMP tools for developers around the world? In part, it's the open source underpinnings of LAMP tools. They're freely available, easily configured, and very robust. They're in a constant state of development and improvement, adding features suggested by the user community at large. They can be easily deployed, fully configured, and maintained with a minimal amount of effort. In short, the LAMP tool kit allows developers to do what they do best: develop, without spending a disproportionate amount of time in the administrative details.

All these elements are addressed in the package of LAMP tools provided by Linux. With commerce and the internal communication needs of the enterprise in mind, Linux helps to assure that configuring and administering a LAMP server will be as painless a process as is possible.

The tools of LAMP development

The well-defined tools of LAMP web development exist in nearly every Linux distribution. They include:

  • Linux
  • Apache web server
  • MySQL database application
  • PHP scripting language
  • Perl programming language
  • Python programming language

Note that it's not necessary to have all elements of LAMP installed. The LAMP acronym points more to a selection of one the "P" elements (PHP, Perl, and Python) rather than to a need for the inclusion of all of them. Of course, you'll likely find both Perl and Python useful tools for other administrative tasks, so they'll probably be installed on your system whether or not your intent is to use them as an element of LAMP web development.

Linux provides the most recent version of each of these packages available at the time of the Linux version release. Apache, PHP, Perl, and Python are provided as defaults in the installation of Linux, while MySQL requires selection at the time of installation.

Linux

Clearly, the most important element of the LAMP combination is the Linux distribution installed on the server. With dozens of distributions available, the choice can be a bit perplexing. Of the available distributions, however, Linux has grabbed the strongest niche in enterprise-grade LAMP web servers for several reasons.

  • Linux utilizes the latest stable kernel version.
  • The underlying ext3 file system is a well-proven technology for both rapid recovery and protecting the integrity of the data on the server.
  • The Anaconda-based installation is both easy and accurate, detecting and configuring nearly all the available hardware options for the server.
  • The Anaconda hardware detection routines are particularly well-suited to such devices as SCSI drives and RAID arrays, devices that enhance the overall performance and stability of enterprise-grade servers.
  • Linux also provides clean and easy-to-use tools for failover clustering and load balancing services — services that become even more essential in the performance sensitive enterprise environment.

Apache

The second element of LAMP web development is the Apache server, another open source tool with a rich and mature code base. Created in the early 1990s, the HTTP daemon (httpd) package today operates nearly 65% of the web servers worldwide.

Apache is highly configurable and highly modular. A completely customized configuration can be achieved simply by modifying the text configuration file, located on the file system at /etc/httpd/conf/httpd.conf. This file is commented in depth, providing configuration guidance to both the novice and expert webmaster. The code base can also be extended by means of modules, chunks of code that can be loaded at the time the server is started or dynamically, as needed. Hundreds of these modules — most developed by interested third parties — exist in the official Apache code base today.

Apache is part of the default installation of Linux. In short, installing Apache doesn't require the further action of selecting it as a package during installation. The Apache package is referred to as httpd in the standard Linux configuration. Configuration and related files are named accordingly.

The current version of the Apache software may be downloaded from the Apache website.

MySQL

The third element of the LAMP tool set is the MySQL database, another robust open source tool that has revolutionized the way webpages, graphics, tables, and data sets of all sorts are served up on the web. Web-based databases in general, and MySQL in particular, have made it possible to build and present fully dynamic websites, capable of presenting content in real time. They've also helped to further the goal of separating content from formatting, speeding the load time of sites while making them far more manageable than in the past.

Unlike the Apache server, MySQL is not an element of the default installation in Linux. Linux does, however, provide the MySQL application in the most recent version as of the time of the Linux release. For those who prefer MySQL over the default PostgresSQL database installation in Linux, installing the code is simply a matter of selecting it from the databases section during the Linux installation.

The MySQL software packages can be downloaded from the MySQL website.

PHP

PHP has, in just a few short years, become one of the predominant scripting languages on the web. It's another integral element of LAMP development,and can be found everywhere from personal homepages to content management systems (such as Drupal) to large-scale corporate intranets. With a relatively easy syntax and open source licensing, webmasters and developers around the world have migrated to PHP from the more difficult and syntactically challenging scripting languages like Perl.

PHP 5.0 was released in July 2004. The newest version fully support object-oriented syntax and provides a command line capability for quick code testing.

PHP is part of the default installation of Linux. However, in order to interact properly with a MySQL database, the php_mysql module must be chosen at install time. This module provides the interaction between PHP and MySQL in the form of an Apache module.

The latest version of PHP can be downloaded from the PHP website.

Perl

Perl, the Practical Extraction and Report Language, was the creation of linguist and programmer Larry Wall. Wall had also had a hand in developing the Network News Transfer Protocol (NNTP) to speed delivery of network newsgroup messages to users. In 1987, he released Perl as an "interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information."

Perl is an exceptional tool for text parsing. Perl borrowed heavily from other languages such as C, awk, sed, sh, and BASIC, all of which held text processing as their primary focus. In subsequent versions, Perl has added robust database interaction code, unicode support, and object orientation. It's also become much more extensible, supporting thousands of add-on modules via the CPAN (Comprehensive Perl Archive Network) library.

Perl is included in the default installation of Linux. The current stable version of Perl is 5.8.6 and can be downloaded in source or binary form from the CPAN site.

Python

The last leg of the LAMP stool is Python, an interpreted scripting language written and released by Guido van Rossum in 1990. van Rossum was, at the time, a huge fan of the British Monty Python television series. The language was originally written for the Amoeba distributed computing system and took on the name of the author's favorite television show.

The easy syntax of Python has made it a great tool for embedding in other languages. This syntax also makes it possible to create and deploy Python applications quickly, with minimal debugging. Like the other languages, Python is also fully extensible, providing the ability to quickly add purpose-specific features simply by adding pre-written modules. The current Python version is 2.4 and is available from the Python.org site.