The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or servers*. The original expansion is as follows:
- Linux, referring to the operating system.
- Apache, the Web server.
- MySQL, the database management system (or database server).
- one of several scripting languages: Perl, PHP or Python.
The combination of these technologies is used primarily to define a web server infrastructure, define a programming paradigm of developing software, and establish a software distribution package.
Though the originators of these open source programs did not design them all to work specifically with each other, the combination has become popular because of its low acquisition cost and because of the ubiquity of its components (which come bundled with most current Linux distributions). When used in combination they represent a solution stack of technologies that support application servers.
See also, how to install LAMP server on Ubuntu Linux.
*The NASA Ames PAH IR Spectroscopic Database website is gracefully hosted by the SETI Institute.
Apache is a web server notable for playing a key role in the initial growth of the World Wide Web and in 2009 became the first web server to surpass the 100 million web site milestone. Apache was the first viable alternative to the Netscape Communications Corporation web server (currently known as Sun Java System Web Server), and has since evolved to rival other Unix-based web servers in terms of functionality and performance. The majority of all web servers using Apache are Linux web servers.
Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. The application is available for a wide variety of operating systems, including Unix, GNU, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows, OS/2, TPF, and eComStation. Released under the Apache License, Apache is characterized as free and open source software.
See also, HTTP Apache Server Project
The project's source code is available under terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL is owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now a subsidiary of Sun Microsystems, which holds the copyright to most of the codebase.
MySQL is commonly used by free software projects which require a full-featured database management system, such as WordPress, phpBB and other software built on the LAMP software stack. It is also used in very high-scale World Wide Web products including Google and Facebook.
MySQL is used in web applications and acts as the database component of the LAMP software stack. Its popularity for use with web applications is closely tied to the popularity of PHP, which is often combined with MySQL. Several high-traffic web sites (including Flickr, Facebook, Wikipedia, Google (though not for searches), Nokia and YouTube) use MySQL for its data storage and logging of user data.
See also, MySQL database website
PHP is a widely-used general-purpose scripting language that is especially suited for web development and can be embedded into HTML. It generally runs on a web server, which is configured to take PHP code as input and create web page content as output. It can be deployed on most web servers and on almost every operating system and platform free of charge. PHP is installed on more than 20 million websites and 1 million web servers.
PHP is a general-purpose scripting language that is especially suited for web development. PHP generally runs on a web server. Any PHP code in a requested file is executed by the PHP runtime, usually to create dynamic web page content. It can also be used for command-line scripting and client-side GUI applications. PHP can be deployed on most web servers, many operating systems and platforms, and can be used with many relational database management systems. It is available free of charge, and the PHP Group provides the complete source code for users to build, customize and extend for their own use.
See also, PHP Reference Manual
HTML 5 is a software solution stack that defines the properties and behaviors of web page content by implementing a markup based pattern to it. HTML 5 is the fifth major version of the HTML standard, and subsumes XHTML. HTML 5 became a World Wide Web Consortium (W3C) Recommendation on January 2008 and became a W3C Recommendation in October 2014.
See also, W3C Recommendation
CSS is a style sheet language used to describe the presentation (that is, the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can be applied to any kind of XML document, including SVG and XUL.
CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the colors, fonts, and layout. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in the structural content (such as by allowing for tableless web design). CSS can also allow the same markup page to be presented in different styles for different rendering methods, such as on-screen, in print, by voice (when read out by a speech-based browser or screen reader) and on Braille-based, tactile devices. While the author of a document typically links that document to a CSS stylesheet, readers can use a different stylesheet, perhaps one on their own computer, to override the one the author has specified.
See also, Cascading Style Sheets Home Page
See also, The Write Less, Do More
C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell Labs as an enhancement to the C programming language and originally named "C with Classes". It was renamed to C++ in 1983.
C++ is widely used in the software industry. Some of its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games. Several groups provide both free and proprietary C++ compiler software, including the GNU Project, Microsoft, Intel, Borland and others.
C++ is used to implement external tools whom require a faster computational process.
See also, C++ Standard Library Documentation
Libraries, etc. :
Also needed are a few libraries, etc.
- Jmol (Java viewer), to interact with 3D molecular structures.
- JSmol (HTML5 viewer), to interact with 3D molecular structures.
- jpGraph (PHP library), to create spectra and graphics.
- PHPMailer (PHP library), to send e-mails.
- tmhOAuth (PHP library), to handle Twitter authentication.
- plplot (C++ library), to create graphics in C++.
- tclap (C++ library), to simplify the use of the command line arguments.
- MySQL++ (C++ library), to access the server's MySQL database from C++.
- gsl (C++ library), a numerical library.
- CCfits (C++ library), for manipulating FITS formatted files.
- TinyXML2 (C++ library), for manipulating XML (VOTABLE) formatted files.
- HostIP.info (IP geolocation), for associating IP addresses with geographical locations.
- geoPlugin (IP geolocation), for associating IP addresses with geographical locations.
- CrossRef (DOI lookup), for associating references with DOIs.
- dx.doi.org (DOI translation), for formating references from DOIs.
- Let's Encrypt (Certificate Authority), for SSL authentication.