Moodle architecture
We will first look at the overall architecture on which Moodle is based, before we cover the internal components of the VLE application layer.
The LAMP architecture
Moodle has been developed on the open source LAMP framework consisting of Linux (operating system), Apache (web server), MySQL (database), and PHP (programming language). While Moodle runs on other technology stacks, we will focus on LAMP since it has proven to be the most popular setup among Moodle administrators. Due to the portability of these components and the modularity of Moodle itself (that's what the M stands for), it can support a wide range of operating systems, database systems, and web servers. The following diagram shows a simple overview of the overall architecture:
The lowest level is the operating system. While Linux is the preferred platform, other Unix derivatives such as Solaris and AIX are supported, along with Windows and Mac OS X (preferably the server variants for production sites...