Moodle is primarily developed in Linux using Apache, MySQL and PHP (also sometimes
known as the LAMP platform), but is also regularly tested with PostgreSQL and on Windows
XP, Mac OS X and Netware 6 operating systems. The requirements for Moodle are as follows:
Web server software. Most people use Apache, but Moodle should work fine under any
web server that supports PHP, such as IIS on Windows platforms.
PHP scripting language (version 4.1.0 or later). PHP 5 is supported as of Moodle 1.4.
A working database server: MySQL or PostgreSQL are completely supported and
recommended for use with Moodle.
Most web hosts support all of this by default. If you are signed up with one of the few web
hosts that does not support these features ask them why, and consider taking your business
If you want to run Moodle on your own computer and all this looks a bit daunting, consider
downloading either the EasyPHP or Xampp Windows distro at http://goohio.com/moodle/.
These all in one installations make no registry changes on your computer so the easily
uninstall by deleting the directory. Both distributions include Apache, MySQL, PHP and
The latest Moodle release is available for download at http://moodle.org. Here is a quick
summary of the contents of the Moodle folder, after being unzipped, to help get you oriented:
config.php contains basic settings. This file does not come with Moodle you will create it.
install.php the script you will run to create config.php
version.php defines the current version of Moodle code
index.php the front page of the site
admin/ code to administrate the whole server
auth/ plugin modules to authenticate users
blocks/ plugin modules for the little side blocks on many pages
calendar/ all the code for managing and displaying calendars
course/ code to display and manage courses
doc/ help documentation for Moodle (eg this page)
files/ code to display and manage uploaded files
lang/ texts in different languages, one directory per language
lib/ libraries of core Moodle code
login/ code to handle login and account creation
mod/ all the main Moodle course modules are in here
pix/ generic site graphics
theme/ theme packs/skins to change the look of the site.
user/ code to display and manage users
Step 1: Create a Database
You need to create an empty database (e.g. "moodle") in your database system along
with a special user (e.g. "moodleuser") that has access to that database (and that data
base only). You could use the "root" user if you wanted to for a test server, but this is not
recommended for a production system.
If you are using a web host, they will probably have a control panel web interface for you
to create your database. The Cpanel system is one of the most popular of these.
To create a database in Cpanel:
1. Click on the "MySQL Databases" icon.
2. Type "moodle" in the database field and click "Add Database".
3. Type a username and password (not one you use elsewhere) in the respective