Note: You are currently viewing documentation for Moodle 2.5. Up-to-date documentation for the latest stable version of Moodle may be available here: Installing AMP.

Installing AMP

From MoodleDocs

AMP, stands for Apache, MySQL & PHP. Moodle is written in a scripting language called PHP and stores most of its data in a database. The recommended database is MySQL. Before installing Moodle you must have a working PHP installation and a working database to turn your computer into a functional web server platform. As individual applications, Apache, MySQL and PHP can be tricky to set up for average computer users. Moodle uses one of the AMP programs to make the process easier. When you install a Moodle AMP package it installs both the server, database, PHP and Moodle itself with their basic interconnections already made.

In 2008, Moodle is rolled into XAMPP (which includes Perl) in the Windows complete package and into MAMP for the Mac OS complete package. Of course, the [Standard install packages] contains just the Moodle program.

TIP:Installing Moodle for the first time on a Localhost (a stand alone computer) is easy and can be a very useful tool even if a web based production Moodle Server is available for use.


Mac OS X - MAMP

Complete Install Packages for Mac OS X are named Moodle4Mac. These do not have sufficient security for public, production servers--only use for private, local testing purposes.

These packages allow Moodle to be installed, along with the prerequisites that includes a web server, database and scripting language (Apache, MySQL and PHP in this case). Several versions of the complete install package are available. You will find versions for Intel based Macs and for older PPC based Macs. Please use the correct version for your processor.

See below if you want a secure, public server with OS X. This will use the web server that comes preinstalled with every Mac Computer. See also Step-by-step Guide for Installing Moodle on Mac OS X 10.4 Client.

Red Hat Linux

You should install all available RPM packages for Apache, PHP and MySQL. One package that people frequently forget is the php-mysql package which is necessary for PHP to talk to MySQL.

Once these are installed the standard Installation guide should be fairly straightforward.

A more detailed walkthrough is here: RedHat Linux installation

Windows - XAMPP

For a complete description of installing an XAMPPwebserver and then adding your own standard windows Moodle install package see Windows installation using XAMPP.

NOTE: There is a difference between the Xampp Installer used in the Moodle/Windows/Xampp installation package and the XAMPPwebserver. The complete install package page has detailed instructions for a Windows installation using XAMPP and there is the Xampp Installer FAQ.


Tips and Tricks for Windows XMPP

There are lots of ways to start a Moodle after an install. Most Moodlers will have one or more "localhost" links on their computer installed in "Favorites" or even as a browser's default opening screen. But first a web server has to be started. Here are two ways to start them.

Automatic Windows services startup

In order to make starting Moodle more convenient in the future you could install the web and database servers as Windows services that are started automatically. To do this go to Start -> Run... and type the command "c:/moodle/server/service.exe -install" into Open box. Then click OK.

Start Moodle by typing localhost in the web browser and/or adding localhost as a favorite site.

Single button service startups

Use the "xampp_start" or "xampp_restart" to start your webserver. You can install multiple localhost webservers on a computer. Each will have it's own start and restart programs.

  • Create a shortcut on the start menu, favorites or desktop that points to each specific file like c:\Moodle19\restart_xampp.bat . Label each shortcut to a localhost differently, for example C_Moodle19, or Moodle16 or MoodleSchool.

Start Moodle by placing localhost in the web browser or adding it as a favorite site. Whichever localhost you restarted, that is the Moodle your web browser will find.

  • Use the xampp_restart program. It will automatically close any running webserver on your computer before it starts the version of Moodle you want to run.
  • Use any xampp_stop to close any running webserver on your computer.

EasyPHP - similar to XAMPP

As an alternative to the above package you could use a package like EasyPHP that bundles all the software you need into a single Windows application. Note that the EasyPHP 1.8 uses older versions of the software that are too old for Moodle 1.6. Also many menus for EasyPHP are still in French. EasyPHP may be a good option again once its version 2.0 is released.


Mac OS without the complete install

It is possible to use theApache server that Apple provides, and add PHP and MySQL using Marc Liyanage's packages. Both of the pages below come with good instructions that we won't duplicate here:

Once these are installed the standard Installation guide should be fairly straightforward.

Go here for a Step-by-step Guide for Installing Moodle on Mac OS X 10.4 Client (not server).

IIS for Windows

Here you can find steps for an IIS: Windows installation for XAMPP or Windows 2003 .


Hosting Service

Hosting services vary quite a lot in the way they work. Some will install Moodle for you. Others may have "scripts" that you can choose that can add Moodle to your site.

Most will offer a web-based control panel to control your site, create databases and set up cron. Some may also offer terminal access via ssh, so that you can use the command shell to do things.

You should work your way through the Installation guide and take each step at a time. Ask your hosting provider if you get stuck. Remember, you will not use a Complete install package from Moodle, but rather one of the Generic packages if you already have a webserver.

Testing PHP

Once you have installed your web server and PHP you should be able to create a file (for example phpinfo.php in the document root) with the following in it:

  <?php phpinfo()?>

You should be able to open this file in a web browser by going to to the URL localhost/phpinfo and see a web page that has PHP status information in it such as this.

See also