Note: You are currently viewing documentation for Moodle 2.6. Up-to-date documentation for the latest stable version of Moodle may be available here: Windows installation.

Windows installation: Difference between revisions

From MoodleDocs
 
(26 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Installing Moodle}}
==Known problems==
Windows is not suitable for large Moodle installations because PHP for Windows does not support 64-bit integer numbers, even if it is running on 64-bit Windows in 64-bit mode. One of the  problems is that Moodle may fail to access data if there are more than 2 billion records in one database table because the id column is too big for integers. Another limitation is a maximum file size of 2GB, which can cause problems (for example) when making backups of large courses. Please consider a different operating system with full 64-bit support for very large installations.
==Installation Packages==
==Installation Packages==
If you are running a small (less than 30 users) Moodle server or just want to test Moodle on your Windows XP PC, pre-built packages are available for you to use. Here are links to pages containing step-by-step instructions for installing Moodle using install packages:
If you are running a small (less than 30 users) Moodle server or just want to test Moodle on your Windows PC, pre-built packages are available for you to use. Here are links to pages containing step-by-step instructions for installing Moodle using install packages:


*[[Complete install packages for Windows]] for most Windows versions
*[[Complete install packages for Windows]] for most Windows versions
*[[Windows installation using Git|Installation guide for Windows using WAMP and Git]] How to install Moodle on your Windows PC and update it regularly via Git.


*[[Windows installation using XAMPP|Installation guide for Windows using XAMPP]] in case you want to retrofit
*[[Windows installation using XAMPP|Installation guide for Windows using XAMPP]] A more typical webserver installation than a complete install package. Both use XAMPP.


*[[Installation guide for Windows using EasyPHP]]
*[[Installation guide for Windows using EasyPHP]]
*[[Installation guide - Moodle for Windows on a USB Memory Stick]]
* [[Bitnami Moodle Stack | Bitnami Moodle Stack - Fully automated Moodle installation]]


== Manual Installation ==
== Manual Installation ==
Line 16: Line 19:


* '''Plan your system capacity'''. This involves estimating the appropriate hardware to support the number of users in your organisation. See [[Installing Moodle#How_many_users.3F| Installing Moodle ]] in the How Many Users section for a method of doing this.
* '''Plan your system capacity'''. This involves estimating the appropriate hardware to support the number of users in your organisation. See [[Installing Moodle#How_many_users.3F| Installing Moodle ]] in the How Many Users section for a method of doing this.
* '''Install your database server'''. You have a choice of [http://dev.mysql.com/downloads/ MySQL] (recommended), [http://www.postgresql.org/download/ PostgreSQL], [[Installing MSSQL for PHP | Microsoft SQL Server 2005]] (only for Moodle 1.7 or later) or Oracle.
* '''Install your database server'''. You have a choice of [http://dev.mysql.com/downloads/ MySQL]/[http://mariadb.org/ MariaDB] (recommended), [http://www.postgresql.org/download/ PostgreSQL] (recommended), [[Installing MSSQL for PHP | Microsoft SQL Server 2005]] or Oracle (not recommended).
* '''Install PHP'''. See [http://www.peterguy.com/php/install_IIS6.html How to install PHP 5.x on Windows Server 2003 with IIS 6] for instructions.
* '''Install your web server'''. You have several choices - the decision as to which one to use will depend on your in-house expertise and your required level of sustainability:
* '''Install your web server'''. You have several choices - the decision as to which one to use will depend on your in-house expertise and your required level of sustainability:
**Apache 2 is recommended as the most tested and popular for Moodle installations. See these instructions for [[Installing Apache on Windows |manually installing Apache 2 on Windows]].
**Apache 2 is recommended as the most tested and popular for Moodle installations. See these instructions for [[Installing Apache on Windows |manually installing Apache 2 on Windows]].
**IIS 6 can also be used. See the Windows forum for guidance on installation and, in particular, permission settings for using Moodle with IIS.
**IIS 7/8 server can also be used. See these instructions for [[Internet Information Services|Installing and configuring IIS and PHP on Windows]].
**Other webservers are known to install on Windows, e.g. Lighttpd, so you may wish to experiment with these if available memory is low on your server.
**Other webservers are known to install on Windows, e.g. Lighttpd, so you may wish to experiment with these if available memory is low on your server.
* '''Install PHP'''. Use Microsoft Web Platform Installer when using [[IIS]] server.
* '''Install Moodle''' by getting the standard installation for Moodle from [http://download.moodle.org/ http://download.moodle.org/] and read [[Installing Moodle]] which has detailed generic information.
* '''Install Moodle''' by getting the standard installation for Moodle from [http://download.moodle.org/ http://download.moodle.org/] and read [[Installing Moodle]] which has detailed generic information.
* '''Setup backups'''. Once Moodle is setup and configured, you should setup backups of the system in case of failure or loss of data.  
* '''Setup backups'''. Once Moodle is setup and configured, you should setup backups of the system in case of failure or loss of data.  
** '''To perform full site backups''' you need to backup the moodledata and moodle directories, Apache webserver configuration (httpd.conf) if you're using Apache, PHP configuration (php.ini) and any php extensions which are non-standard, and the mysql database. To do this use the integrated backup program (Start -> All Programs -> Accessories -> System Tools -> Backup) or your own proprietary backup software (e.g. BackupExec). To backup your mysql database see the [[Backup FAQ]].
** '''To perform full site backups''' you need to backup the moodledata and moodle directories, Apache webserver configuration (httpd.conf) if you're using Apache, PHP configuration (php.ini) and any php extensions which are non-standard, and the mysql database. To do this use the integrated backup program (Start -> All Programs -> Accessories -> System Tools -> Backup) or your own proprietary backup software (e.g. BackupExec). To backup your mysql database see the [[Backup and restore FAQ]].
** '''To perform course backups''' see the [[Course backup]] page.
** '''To perform course backups''' see the [[Course backup]] page.
** You should also perform a '''state backup''' of the [http://technet2.microsoft.com/WindowsServer/en/library/921f0ed5-523d-48ac-8825-e850b0e548841033.mspx?mfr=true server] or [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntbackup_backup_sysstate.mspx?mfr=true PC]. This is especially important if you're using IIS as this will backup the IIS metabase.  
** You should also perform a '''state backup''' of the [http://technet2.microsoft.com/WindowsServer/en/library/921f0ed5-523d-48ac-8825-e850b0e548841033.mspx?mfr=true server] or [http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntbackup_backup_sysstate.mspx?mfr=true PC]. This is especially important if you're using IIS as this will backup the IIS metabase.  
* '''Check your server security and performance'''. It is also good practice to read the [[Performance]] and [[Security]] documentation. Although much of the content is targetted at Linux/Unix users, there is a growing amount for Windows systems.
* '''Check your server security and performance'''. It is also good practice to read the [[Performance]] and [[Security]] documentation. Although much of the content is targeted at Linux/Unix users, there is a growing amount for Windows systems.
* Set-up your '''Active Directory authentication'''. You can use the standard [[LDAP authentication]] which prompts users with a username/password, or [[NTLM authentication | integrated NTLM authentication]] which does not require campus users to enter their credentials.
* Set-up your '''Active Directory authentication'''. You can use the standard [[LDAP authentication]] which prompts users with a username/password, or [[NTLM authentication | integrated NTLM authentication]] which does not require campus users to enter their credentials.


== See also ==
== See also ==


* [http://moodle.org/mod/forum/view.php?id=6799 Windows-based server forum] is the main forum for asking questions about your Moodle Windows installation.
* [[Manual install on Windows 7 with Apache and MySQL]]
* [[Installation for Windows 2003 with IIS]] and MSSQL.
* [[Installing APC in Windows]] contains instructions for using a PHP accelerator to reduce processor load.
* [[Installing APC in Windows]] contains instructions for using a PHP accelerator to reduce processor load.
* [[Cron | Installing Cron on Windows]] for setting up the Moodle scheduled task.
* [[Configuring aspell on Windows 2003 Server]] for setting up the Moodle spell checker.
* [http://moodle.org/mod/forum/discuss.php?d=56835 Running Apache and IIS on the same server] forum discussion.
* [http://moodle.org/mod/forum/discuss.php?d=56835 Running Apache and IIS on the same server] forum discussion.
* [http://moodle.org/blog/index.php?userid=212926&courseid=55 A Windows installation log.]
[[Category:Administrator]]
[[Category:Installation]]
[[pl:Instalacja w Windows]]

Latest revision as of 02:17, 19 October 2014


Known problems

Windows is not suitable for large Moodle installations because PHP for Windows does not support 64-bit integer numbers, even if it is running on 64-bit Windows in 64-bit mode. One of the problems is that Moodle may fail to access data if there are more than 2 billion records in one database table because the id column is too big for integers. Another limitation is a maximum file size of 2GB, which can cause problems (for example) when making backups of large courses. Please consider a different operating system with full 64-bit support for very large installations.

Installation Packages

If you are running a small (less than 30 users) Moodle server or just want to test Moodle on your Windows PC, pre-built packages are available for you to use. Here are links to pages containing step-by-step instructions for installing Moodle using install packages:

Manual Installation

For medium to large installations (e.g. a college, university or business), it is best practice to install Moodle on your server manually.

  • Plan your system capacity. This involves estimating the appropriate hardware to support the number of users in your organisation. See Installing Moodle in the How Many Users section for a method of doing this.
  • Install your database server. You have a choice of MySQL/MariaDB (recommended), PostgreSQL (recommended), Microsoft SQL Server 2005 or Oracle (not recommended).
  • Install your web server. You have several choices - the decision as to which one to use will depend on your in-house expertise and your required level of sustainability:
  • Install PHP. Use Microsoft Web Platform Installer when using IIS server.
  • Install Moodle by getting the standard installation for Moodle from http://download.moodle.org/ and read Installing Moodle which has detailed generic information.
  • Setup backups. Once Moodle is setup and configured, you should setup backups of the system in case of failure or loss of data.
    • To perform full site backups you need to backup the moodledata and moodle directories, Apache webserver configuration (httpd.conf) if you're using Apache, PHP configuration (php.ini) and any php extensions which are non-standard, and the mysql database. To do this use the integrated backup program (Start -> All Programs -> Accessories -> System Tools -> Backup) or your own proprietary backup software (e.g. BackupExec). To backup your mysql database see the Backup and restore FAQ.
    • To perform course backups see the Course backup page.
    • You should also perform a state backup of the server or PC. This is especially important if you're using IIS as this will backup the IIS metabase.
  • Check your server security and performance. It is also good practice to read the Performance and Security documentation. Although much of the content is targeted at Linux/Unix users, there is a growing amount for Windows systems.
  • Set-up your Active Directory authentication. You can use the standard LDAP authentication which prompts users with a username/password, or integrated NTLM authentication which does not require campus users to enter their credentials.

See also