Note: You are currently viewing documentation for Moodle 2.4. Up-to-date documentation for the latest stable version of Moodle may be available here: Installation guide for Windows using EasyPHP.

Installation guide for Windows using EasyPHP

From MoodleDocs

Moodle requires that a webserver, PHP and a supported database be installed to run on Windows. This may be achieved by using EasyPHP, a package that bundles all the software you need in the form of Apache (webserver), PHP and MySQL (database) into a single Windows application. Please note however, that EasyPHP is not designed to be used for a production server. Here are the steps from start to finish.


  1. Firstly, if you have ever installed MySQL before (even as part of another package), uninstall it all, delete all the MySQL files and make sure you delete c:\my.cnf and c:\windows\my.ini. You might want to do a search and delete ANY file called my.cnf or my.ini.
  2. If you've ever installed PHP before delete any files called php4ts.dll from around your Windows directory, as well as any files called php.ini.

Get EasyPHP

  1. Download EasyPHP from here: EasyPHP 1.7 (approx 10 Mb). You may want to try the later EasyPHP 1.8 (approx 9 Mb)

Install EasyPHP

  1. Run the downloaded file: easyphp1-7_setup.exe. The installation process is in French but is much like installing any other Windows program - I advise accepting the defaults and letting it all install. Note: that "Suivant" means Next and "Oui" means Yes.
  2. At the end of the install leave the checkbox selected to "Lancer EasyPHP" (Start EasyPHP) and hit the "Terminer" button. You might be taken to a information web page which you can safely ignore.
  3. If all went well - congratulations! Apache, PHP and MySQL are all installed and running! You should see a black E in your toolbar tray. You can right click on it to get a menu which will let you control the running programs, but you won't be needing that for now.
  4. Some things may be in French and you may prefer English. You can download this file which contains English versions of www and home folder in the EasyPHP1-7 folder. These can be copied over the default files.

Create a database

  1. The next thing you need to do is to set up a database for Moodle to use. Right-click the black E in the toolbar tray and choose Administration, then click DB Management (beside PHPMyAdmin). Alternatively, using a browser, go to http://localhost/mysql/ (note the final slash).
  2. If asked for a username, use "root" with a blank password. You should see a phpMyAdmin web interface that allows you to create a new databases and user accounts.
  3. Create a new database by typing "moodle" into the field and hitting the "Create" button and don't forget to specify a utf-8 collation for the database being created. That was easy!
  4. You can also create a new user to access your database if you want. This can be a bit tricky for a first-time user, so you might just want to use the existing user "root" with no password in your Moodle config for now, and fix this later.

Get Moodle!

  1. You're ready to install Moodle! Download the latest release of Moodle from, then unzip the archive.

Installing Moodle

  1. Copy your moodle files into C:\Program Files\EasyPHP\www. You can either copy the entire moodle directory (ie C:\Program Files\EasyPHP\www\moodle) or copy all the contents of the moodle directory. If you choose this second option then you will be able to access your Moodle home page using http://localhost/ instead of http://localhost/moodle/.
  2. Make a new empty folder somewhere else for Moodle to store uploaded files in, eg: C:\moodledata
  3. Go into your Moodle folder. Make a copy of config-dist.php, and call it config.php

====Edting the the config.php file==== Edit config.php using a text editor (Notepad will do, just be careful that it doesn't add unwanted spaces at the end).

  1. Put in all your new database info:
  2. $CFG->dbtype = 'mysql';
    • $CFG->dbhost = 'localhost';
    • $CFG->dbname = 'moodle';
    • $CFG->dbuser = 'root';
    • $CFG->dbpass = '';
    • $CFG->dbpersist = true;
    • $CFG->prefix = 'mdl_';
  3. And put in all your file paths
    • $CFG->wwwroot = 'http://localhost/moodle'; // Use an external address if you know it.
    • $CFG->dirroot = 'C:\Program Files\EasyPHP\www\moodle';
    • $CFG->dataroot = 'C:\moodledata';
  4. Save config.php - you can ignore the other settings if there are any.

The web based installer

  1. You're nearly there now! The rest of the setup is all web-based. Visit http://localhost/moodle/admin/ with your browser to continue the setup via your browser.
  2. To use zip files with Moodle (for example the backups use zip) you might need to enable "zlib". You can do this by going to your EasyPHP directory (C:\Program Files\EasyPHP), and running the program phpini.exe in there. Put a mark in the checkbox next to "zlib.dll". Close that window, then go to the black E in your toolbar and right-click it to get a menu - select "Restart" from this menu.

Setting a Cron

  1. Lastly, you need to set up some sort of cron. See the Installation guide for more details on this.


If you don't or can't use EasyPHP, here are a few tips to make sure your PHP is set up correctly and avoid common problems:

  • Make sure you enable the GD module so Moodle can process images - you may have to edit php.ini and remove the comment (;) from this line: 'extension=php_gd2.dll'.
  • Make sure you enable the Zlib module so that you can create and unpack zip files from within Moodle.
  • Make sure sessions is turned on - you may have to edit php.ini and fix the directory for session.save_path - instead of the default "/tmp" use a Windows directory like "c:/temp".