Installing AMP
AMP, stands for Apache, MySQL & PHP. This is not the only platform on which Moodle runs but is the most common and fine for basic installations.
'All-in-one' Moodle installers for Windows and OSX are available at http://httpd.apache.org/docs/2.0/install.html (not intended for 'production' sites).
First a word about PostgreSQL
If you would prefer to use the PostgreSQL database (and you should consider it) you can - when using the package type installers - just install it instead of MySQL. MySQL tends to be the universal choice with the simpler 'one-click' installers. For a 'one-click' installer with PostgreSQL, Apache and PHP you can check BitNami, it supports Windows (WAPP), Linux (LAPP) and Mac (MAPP).
Mac OS X
OSX comes with a suitable Apache web server and a not so suitable PHP (it doesn't have all the required extensions).
Here are some other possibilities (all are documented so this is not repeated here):
- Liip 'one click' installer from http://php-osx.liip.ch/. Note that it is primarily biased towards developers.
- MAMP: One click installer - easy to use and well documented. Probably only suitable for personal use.
- Softaculous AMPPS: Another one click installer - for both Windows and OSX this time.
- MacPorts: A complete Linux-style package repository. You will find the AMP components here. See Getting Apache, MySQL, and PHP Running under MacPorts
- Fink: an alternative to MacPorts.
- BitNami MAMP Stack: On 'one-click' installer with for MySQL, Apache and PHP which supports the BitNami applications modules to installed on top of it like the BitNami Moodle module.
There might be some problems with the installation in Yosemite. You may need to go to Applications/MAMP/Library/bin (or use finder) and find the file envvars, and rename it to _envvars. Make sure your MAMP server is completely stopped before doing any of the ports change and/or renaming the envvars file.
Linux
You should install the packages from your distribution's repository for Apache, PHP and MySQL. You will almost certainly need additional extensions for PHP (e.g. the extension for the database). The packaged versions of Moodle are not recommended (it's not much harder to install from moodle.org download)
See (for example):
- Ubuntu - https://help.ubuntu.com/community/ApacheMySQLPHP
- Debian - http://wiki.debian.org/LaMp
- RedHat / Centos - http://www.howtoforge.com/quick-n-easy-lamp-server-centos-rhel
- SuSE / OpenSuSE - http://www.susegeek.com/internet-browser/install-configure-lamp-apachemysqlphp-in-opensuse-110/
While one-click installers (e.g. XAMPP or BitNami LAMP Stack) exist for Linux, it is so simple to install the components the "right" way that they seem pointless. Using the standard method will make it much easier for you to obtain help and support.
Of course, if you wish to (or you need a particularly new version) you can compile all or some of the elements from source. All the elements have good documentation. The tricky one is PHP and some guidance for Debian/Ubuntu is here: Compiling PHP from source
Windows
Windows has slightly more variations as you can use Apache or Microsoft's IIS Web Servers. The following one-click Web server installers include the Apache Web server, the MySQL database server, the PHP scripting language and the phpMyAdmin database (MySQL) manager. Some may include other components.
- WampServer: One of the best installers for Windows.
- BitNami WAMP Stack: A very good installer that allows other BitNami Stacks to be installed on top, like the BitNami Moodle Stack.
- EasyPHP: A good and known popular alternative.
- XAMPP: Probably the best known installer for Windows. It should only be used for development or as a personal web server.
- Official PHP Documentation: Instructions to install PHP on all manner of Windows and Web server variations.
- MySQL: Select Windows and download installer.
- PostgreSQL: Download installer for Windows.
Installer packages and components
The following table lists the components and versions of each package (as of August 27, 2014):
Product | Version | Httpd (Apache) | PHP | MySQL | PHPMyAdmin | Address |
WampServer | 2.5 | 2.4.9 | 5.5.12 | 5.6.17 | 4.1.14 | Web page |
2.4 | 2.4.4 | 5.4.16 | 5.6.12 | 4.0.4 | ||
2.2e | 2.4.2 | 5.4.3 | 5.5.24 | 3.5.1 | ||
BitNami WAMP Stack | 5.4.32-0 | 2.4.10 | 5.4.32 | 5.5.39 | 4.2.7.1 | Web page |
5.3.29-0 | 2.2.23 | 5.3.29 | 5.5.29 | 3.5.5 | ||
EasyPHP (Wevserver) | 14.1 | 2.4.10 | 5.4.31 | 5.6.19 | 4.2.6 | Web page |
EasyPHP(Devserver) | 14.1 VC11 | 2.4.7 VC11 | 5.[6-3].x | 5.6.15 | 4.2.0 | |
14.1 VC9 | 2.4.7 VC9 | 5.[4-2].x | 5.6.15 | 4.2.0 | ||
XAMPP | 1.8.3 | 2.4.10 | 5.5.15 | 5.6.20 | 4.2.7.1 | Web page |
1.8.2 | 2.4.10 | 5.4.31 | 5.5.39 | 4.2.7.1 | ||
----------------- | --------- | ---------- | ------------- | ------ | ------- | |
XAMPP | 1.7.4 | 2.2.17 | 5.3.5 | 5.5.8 | 3.3.9 | |
1.7.1 | 2.2.11 | 5.2.9 | 5.1.33 | 3.1.3.1 |
Important Notes
- PHP 5.5.x versions are built with VC11 (Visual Studio 2012 compiler). These builds require you to have the Visual C++ Redistributable for Visual Studio 2012 x64/86 installed. These PHP versions do not work in windows XP nor in Windows Server 2003.
- PHP 5.4.x versions are built with VC9 (Visual Studio 2008 compiler). These builds require you to have the Visual C++ Redistributable for Visual Studio 2008 SP1 x86 or x64 installed. These PHP versions are the last to support windows XP.
- XAMPP packages 1.7.4 and 1.7.1 were included in the table because those are the versions on which the Windows Moodle Packages are built: from Moodle 2.1.x to 2.5.x with XAMPP 1.7.4; and Moodle 1.9.19+ with XAMPP 1.7.1.
- Moodle version 2.0.x isn't available any more as a Windows Moodle Distribution.
Vista and Windows 7
Many people have trouble installing the stand alone local Moodle for Windows on Vista and Windows 7.
Here are some things you might want to try:
- A simple one is to use http://bitnami.org/stack/moodle
- Another solution is to look at these videos at Sebastian Sulinski Design for Windows Vista.
- For personal (evaluation) use - install XAMPP or EasyPHP and then Moodle using the normal installation instructions.