How To Build A LAMP server
Login | Register RSS

LAMP, (Linux, Apache, MySQL and PHP/Perl/Python), is an acronym for a solution stack of free, open source software, referring to the first letters of: Linux (operating system), Apache (HTTP Server), MySQL (database software) and Programming language (PHP,  Perl or Python); the principal components to build a viable general purpose web server.

The exact combination of software included in a LAMP package may vary, especially with respect to the web scripting software.  PHP is most commonly used, but can be replaced or supplemented by Perl &/or Python.

Though the original authors of these programs did not design them all to work specifically with each other,  the development philosophy and tool sets are shared and were developed in close conjunction. The software combination has become popular because it's free of cost, open-source, and therefore easily adaptable, and because of the ubiquity of its components which are bundled with most current Linux distributions.

When used together, they form a solution stack of technologies that support application servers.

Software components

According to its proponents, the LAMP stack offers a great number of advantages for developers:

  • Easy to code: Novices can build something and get it up and running very quickly with PHP and MySQL.
  • Easy to deploy: PHP is easy to deploy as files can be edited directly on the server and saved in the document root. By comparison, Java Servlets require that the developer compile the web application into a WAR file and deploy it with a servlet engine such as Apache Tomcat.
  • Cheap and ubiquitous hosting: Many inexpensive web hosts provide packaged services like CGI scripting, PHP coding access and MySQL services.

Linux

Linux is a Unix-like computer operating system.  it comes in many different flavors (i.e distrobutions) & is well suited as the core OS of a web server, due to its multi-threaded, multi-user, secure, maintained & easily customizable nature.

Apache

Apache is an open source web server, the most popular in use.

MySQL

MySQL is a multi-threaded, multi-user, SQL database management system (DBMS). Alternatives at this level of the stack do also exist, for example by using PostgreSQL or Oracle

Programming Language (PHP, Perl, and Python)

PHP is commonly used to produce dynamic web pages. PHP is used mainly in server-side application software. Perl and Python can be used similarly.

OS & App selection

This build is designed to use CentOS Linux, running Apache, MySQL & Perl.

Installation

This section outlines how to install CentOS, install necessary packages & and get the base installation completed.

Configuration

This section outlines how to configure the server's services and features.  It also advises you how to turn off things you don't need.

Security

This section outlines how to do a basic lock down your server & protect it from common abuse situations. 

Maintenance

This section outlines what you can need do to maintain your server, by keeping the OS/packages updated, perform backups & ensure your server is stable.  Much of the basics can be automated to help keep things simple.

Finalization

This section finalizes smaller things, makes recommendations as what advanced things you look into/consider & where you can can go from here to extend things further.

If you like this site or any of its content, please help promote it. Use the social media buttons below to help spread the word. Don't forget to post in the comments section.

  Print   Email