LAMP

LAMP is a "technology stack" used for Web development. It's an acronym that stands for Linux, Apache, MySQL and PHP.

=Linux=

See Server OS for details.

Linux doesn't require any special configuration to act as a Web server, except for installing / configuring httpd.

=Apache=

Apache (apache2) is the world's most popular httpd (HTTP Daemon, or just plain "Web Server), hosting more than half of all websites. It's the "kitchen sink" of web servers, with a bewildering array of features, capabilities, and configuration options.

Apache configuration
Apache is configured via an array of configuration files. There is one main file, which in some situations is all you need bother with.

Apache supports multiple sites and "Virtual hosts". sites are described in their own files in /etc/apache2/sites-available/ sites that are actually served by httpd are listed in /etc/apache2/sites-enabled/

Don't edit these files- they are symlinks set by the "a2ensite" program, discussed below.

Apache commands
a2ensite a2dissite a2enmod a2dismod /etc/init.d/apache2 stop / start / restart

=MySQL=

MySQL is a database engine owned by Oracle. It is probably the most widely-used database for Web applications, although projects like PostGres and MariaDB are growing in popularity.

SQL HOWTO
Like most databases, MySQL uses SQL or Structured Query Language to send commands to the database.

=PHP=

Stands for Prehistoric Hypertext Preprocessor. Not really, but close enough.