- 13. Sep
This chart bootstraps a LAMP Stack deployment on a Kubernetes cluster using the Helm package manager. It was designed in a very modular and transparent way. Instead of using a custom built docker container running multiple services like apache and php-fpm inside with no control or overwatch of these processes from within kubernetes, this chart takes the approach of using one service per container.
The charts default configurations were made with performance in mind. By default PHP-FPM is enabled and communication between php and mysql as well as apache and php is realized over unix sockets.
By default the chart is exposed to the public via LoadBalancer IP but exposing the chart via an ingress controller is also supported. If a working lego container is configured the chart supports creating lets encrypt certificates.
Setting up your website is easy, you can either use git or svn to copy your repo into the pod or use sftp or webdav and simply transfer your files into the container. If you have a different method of setting up your website, you can manually prepare it inside of an init container before the services start.
Once you've set up your website, you'd like to have separate development environments for testing? Don't worry, with one additional setting you can clone an existing release without downtime using the xtrabackup init container.
Official containers are used wherever possible ( namingly php, apache, mysql, mariadb and percona ) while the use of well-established containers was anticipated otherwise ( phpmyadmin/phpmyadmin, atmoz/sftp, open web/git-sync ) . To provide some of its unique features such as chart cloning and WordPress support some containers had to be newly created. All of those are hosted as automated builds on docker hub - with their respective sources on GitHub
Originally popularized from the phrase "Linux, Apache, MySQL, and PHP", the acronym "LAMP" now refers to a generic software stack model. The modularity of a LAMP stack may vary, but this particular software combination has become popular because it is sufficient to host Wordpress. The components of the LAMP stack are present in the software repositories of most Linux distributions.
The LAMP bundle can be combined with many other free and open-source software packages, such as the following:
- netsniff-ng for security testing and hardening
- Snort, an intrusion detection (IDS) and intrusion prevention (IPS) system
- RRDtool for diagrams
- Nagios, Collectd or Cacti, for monitoring.
As another example, the software which Wikipedia and other Wikimedia Foundation projects use for their underlying infrastructure is a customized LAMP stack with additions such as Linux Virtual Server (LVS) for load balancing and Ceph and Swift for distributed object storages.
With the growing use of the archetypal LAMP, variations and retronyms appeared for other combinations of operating system, web server, database, and software language. For example, an equivalent installation on the Microsoft Windows operating system family is known as WAMP. An alternative running IIS in place of Apache is called WIMP. Variants involving other operating systems include MAMP (macOS), SAMP (Solaris), FAMP (FreeBSD), iAMP (iSeries) and XAMPP (cross-platform).
The web server or database management system also varies. LEMP is a version where Apache has been replaced with the more lightweight web server Nginx. A version where MySQL has been replaced by PostgreSQL is called LAPP, or sometimes by keeping the original acronym, LAMP (Linux / Apache / Middleware (Perl, PHP, Python, Ruby) / PostgreSQL).