LAMP is a semi-standard platform for developing web-based applications using Linux (or Windows), Apache, MySQL (or PostgreSQL) and Perl (or PHP or Python).
LAMP is growing increasingly important as more applications are developed under this framework. Many open source web-based applications are based on the LAMP environment.
|Linux or Windows||The operating system layer.
Although many open source applications have a Linux background, those which use are based on the LAMP environment will generally run little or no modification under MS Windows.
|Apache||The web server layer.
Apache is the most widely used web server on the internet. As well as delivering static HTML pages, a web server can also support dynamic content technologies such as scripting engines.
|MySQL or PostgreSQL||The database layer.
MySQL and PostgreSQL both have their adherents; I tend to think there is little to choose between them since MySQL added the InnoDB table type which supports transactions.
|Perl, PHP, Python||The scripting layer.
All of these languages are fully-fledged programming environments in themselves, but can, with the proper configurations, be embedded into web pages to provide the business logic required by various applications.
Aren't web-based applications really slow?
Badly written applications, or those run in misconfigured or inadequate environments are slow. One of the great attractions of the LAMP environment is the ability of the Apache server to execute scripting languages very quickly.
If you have adequate server and network resources, the execution speed of the language isn't generally an issue.