Moodle runs on any web server that supports the PHP programming language and a database. It works best when running on the Apache web server with a MySQL database.

The Moodle learning management system resides in three places on your web hosting:

  1. The application occupies one directory, with many sub directories for the various modules
  2. Data files that the students and teachers upload, such as photos and assignments submitted by students, reside in the Moodle data directory
  3. Course material that you create with Moodle (web pages, quizzes, workshops, lessons, and so on), grades, user information, and user logs reside in the Moodle database

The three parts of Moodle, the application, data directory, and database, work together to create your learning site. Knowing how the three parts work together is helpful when upgrading, troubleshooting, and moving your Moodle site between servers.