Difference between revisions of "Windows installation"

Jump to: navigation, search
m (Installing XAMPP)
(Completely removed the Known problems/Historical note as this is redundant, see https://moodle.org/mod/forum/discuss.php?d=361547#p1458103 for details)
 
(84 intermediate revisions by 23 users not shown)
Line 1: Line 1:
== Complete install packages ==
+
{{Installing Moodle}}
  
From November 2005, complete install packages are available from [http://download.moodle.org/ Moodle Downloads].
+
==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:
  
These packages allow Moodle to be installed, along with the prerequisites i.e. PHP, a web server and database (Apache and MySQL in this case) on most recent  computers using a Windows operating system.  Using one of these packages is likely to be easier than using the EasyPHP method detailed below.
+
*[[Complete install packages for Windows]] for most Windows versions (usually works in Windows 7, but may not work with Windows 8 and 10)
 +
*[[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.
  
Versions are available which incorporate a recent STABLE build or a recent UNSTABLE development build. The instructions on the download page provide guidance on which version is likely to be most suitable.
+
*[[Windows installation using XAMPP|Installation guide for Windows using XAMPP]] A more typical webserver installation than a complete install package. Both use XAMPP.
  
Note: The latest versions included in these packages my not be backwardly compatible with earlier versions of Moodle. Always check version compatibility if you intend to develop materials on a later version of Moodle than the version installed on your "main" Moodle site.
+
*[[Installation guide for Windows using EasyPHP]]
  
== Installation guide for Windows using XAMPP ==
+
== Manual Installation ==
XAMPP is a package which installs PHP, Apache and MySql (amongst other things) and will enable you to run Moodle on a Windows PC, Laptop or Server.
+
For medium to large installations (e.g. a college, university or business), it is best practice to install Moodle on your server manually.  
  
The following is a step by step guide to installing Moodle on a computer running Windows XP using the XAMPP package.
+
* '''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]/[http://mariadb.org/ MariaDB] (recommended),
 +
#[http://www.postgresql.org/download/ PostgreSQL] (recommended)
 +
#[[Installing MSSQL for PHP | Microsoft SQL Server 2005]]
 +
#Oracle (not recommended - see https://moodle.org/mod/forum/discuss.php?d=65488).
 +
* '''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]].
 +
**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.
 +
* '''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.
 +
* '''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 [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 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.
  
===Preparation===
+
== See also ==
  
====Get Moodle!====
+
* [[Manual install on Windows 7 with Apache and MySQL]]
 
+
* [[Installing APC in Windows]] contains instructions for using a PHP accelerator to reduce processor load.
Download the version of Moodle you wish to install from [http://download.moodle.org/ Moodle.org]
+
* [http://moodle.org/mod/forum/discuss.php?d=56835 Running Apache and IIS on the same server] forum discussion.
 
 
[[Image: 14a.gif]].
 
 
 
====Get XAMPP!====
 
 
 
Download XAMPP for Windows from [http://www.apachefriends.org/en/xampp.html Apachefrienrds.org]. This example assumes that you have downloaded the “Installer” package.
 
 
 
[[image:Xampp1.png]]
 
 
 
====Allow yourself some time====
 
Say 45 minutes.
 
 
 
===Installing XAMPP===
 
 
 
Run the installer, eventually you will be presented with an option about where to install the package.
 
 
 
[[image:Xampp2.gif]]
 
 
 
In this example we are installing the package at c:\apachefriends\151 – that’s because it suits what our needs, you can choose you own location.
 
 
 
Continue with the installation, this will take a while!
 
 
 
[[image:Xampp3.gif]]
 
 
 
Eventually you will be presented with the option to install Apache, MySQL, Filezilla as a service.
 
 
 
[[image:Xampp4.gif]]
 
 
 
It’s probably best to choose “No” for now. You can always enable these as services later.
 
 
 
Next you’ll be asked if you want to start the XAMPP Control Panel.
 
 
 
[[image:Xampp5.gif]]
 
 
 
Click the “No” button.
 
 
 
===Change PHP version===
 
 
 
It’s a good idea to use PHP version 4.x before installing Moodle. Roll back to an earlier version of PHP as follows:
 
 
 
From the “Start” menu locate the program group for apachefriends > xampp
 
 
 
[[image:Xampp20.gif]]
 
 
 
Select “php switch”
 
 
 
[[image:Xampp21.gif]]
 
 
 
Follow the instructions in the window.
 
 
 
[[image:Xampp22.gif]]
 
 
 
===Launch XAMPP Control Panel ===
 
 
 
On your Desktop, locate the XAMPP icon and double click to launch the Control Panel.
 
 
 
When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL.
 
 
 
[[image:Xampp6.gif]]
 
 
 
If all is well you will see something like this.
 
 
 
[[image:Xampp31.gif]]
 
 
 
===Create the database===
 
 
 
To create a database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.
 
 
 
To access this launch the web browser of your choice (Firefox is used in this example), type http://localhost in the address bar.
 
 
 
[[image:Xampp8.gif]]
 
 
 
The XAMPP default page is displayed, click the link for your preferred language – we will be using English.
 
 
 
[[image:Xampp9.gif]]
 
 
 
From the menu on the left, click on “phpMyAdmin”
 
 
 
[[image:Xampp10.gif]]
 
 
 
When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field. In this example we are naming our database “moodle153”.
 
 
 
[[image:Xampp11.gif]]
 
 
 
Click the “Create” button to create the database.
 
 
 
[[image:Xampp12.gif]]
 
 
 
The new database should be present in the dropdown list when the page has refreshed.
 
 
 
[[image:Xampp13.gif]]
 
 
 
===Move the downloaded Moodle files to the correct location.===
 
 
 
Locate the file downloaded from Moodle.org and either copy or cut the file to the Windows clipboard.
 
 
 
Open the XAMPP Control Panel and click on the “Explore” button.
 
 
 
[[image:Xampp15.gif]]
 
 
 
A Windows Explorer view similar to the one below will be displayed.
 
 
 
[[image:Xampp16.gif]]
 
 
 
Open the “htdocs” folder.
 
 
 
[[image:Xampp17.gif]]
 
 
 
[[image:Xampp18.gif]]
 
 
 
Paste the file cut/copied earlier into this folder.
 
 
 
Extract the Moodle files from the file downloaded (in this example WinZip is installed on the computer). A default folder named “moodle” is created with the Moodle files within.
 
 
 
[[image:Xampp19.gif]]
 
 
 
===Start the installation===
 
 
 
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s http://localhost/Moodle.
 
 
 
[[image:Xampp23.gif]]
 
 
 
The initial install page is displayed.
 
 
 
[[image:Xampp24.gif]]
 
 
 
Choose your preferred language (English is used in this example and click the “Next” button.
 
 
 
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.
 
 
 
[[image:Xampp25.gif]]
 
 
 
Click the “Next” button to continue.
 
 
 
The paths for your Moodle installation are shown – accept these or amend as desired.
 
 
 
[[image:Xampp26.gif]]
 
 
 
Click the “Next” button to continue.
 
 
 
In this screen we enter the database settings. The fields are populated with some suggested values.
 
 
 
 
 
[[image:Xampp27.gif]]
 
 
 
In this example the database created is “moodle153”. The “root” user will be used without a password.
 
 
 
DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS IS VULNERABLE FROM A SECURITY POINT OF VIEW.
 
 
 
[[image:Xampp28.gif]]
 
 
 
When the fields have been populated, click the “Next” button to continue.
 
 
 
Provided the Moodle folder is writable a message confirming the configuration has been completed will be displayed.
 
 
 
[[image:Xampp29.gif]]
 
 
 
Click the “ Continue” button to proceed.
 
 
 
The Moodle copyright / licence notices are displayed.
 
 
 
[[image:Xampp30.gif]]
 
 
 
Click the “Yes” button to continue, then follow the instructions on the following screens.
 
 
 
== Installation guide for Windows using EasyPHP ==
 
 
 
Moodle requires that Apache, PHP and MySQL be installed to run on Windows. This may be achieved by using EasyPHP, a package that bundles all the software you need 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:
 
 
 
# 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''.
 
# 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.
 
# Download EasyPHP from here: http://www.easyphp.org/telechargements/dn.php?F=easyphp1-7 (approx 10 Mb)
 
# Run the downloaded file: ''easyphp1-7_setup.exe''. The installation process is in French but is otherwise 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.
 
# 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.
 
# 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.
 
#Some things may be in French and you may prefer English. You can download this file http://www.easyphp.org/telechargements/dn.php?F=indexUS_1.7 which contains English versions of www and home folder in the EasyPHP1-7 folder. These can be copied over the default files.
 
#  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).
 
# 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.
 
# Create a new database by typing "moodle" into the field and hitting the "Create" button. That was easy!
 
# 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.
 
# You're ready to install Moodle! Download the latest release of Moodle from http://moodle.org/download, then unzip the archive.
 
# 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 ''<nowiki>http://localhost/</nowiki>'' instead of ''<nowiki>http://localhost/moodle/</nowiki>''.
 
# Make a new empty folder somewhere else for Moodle to store uploaded files in, eg: ''C:\moodledata''
 
# Go into your Moodle folder. Make a copy of ''config-dist.php'', and call it ''config.php''
 
# Edit ''config.php'' using a text editor (Notepad will do, just be careful that it doesn't add unwanted spaces at the end).
 
# Put in all your new database info:
 
#  $CFG->dbtype = 'mysql';
 
#* $CFG->dbhost = 'localhost';
 
#* $CFG->dbname = 'moodle';
 
#* $CFG->dbuser = 'root';
 
#* $CFG->dbpass = <nowiki>''</nowiki>;
 
#* $CFG->dbpersist = true;
 
#* $CFG->prefix = 'mdl_';
 
# 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';
 
#Save config.php - you can ignore the other settings if there are any.
 
# You're nearly there now! The rest of the setup is all web-based. Visit ''<nowiki>http://localhost/moodle/admin/</nowiki>'' with your browser to continue the setup via your browser.
 
# 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.
 
# Lastly, you need to set up some sort of cron. See the [[Installing Moodle#Set up cron|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".
 
 
 
== Installation for Windows 2003 with IIS ==
 
 
 
Firstly install PHP and check it's working.
 
 
 
'''External links'''
 
*[http://www.peterguy.com/php/install_IIS6.html How to install PHP 5.x on Windows Server 2003 with IIS 6]
 
 
 
[[Category:Administrator]]
 
[[Category:Installation]]
 

Latest revision as of 17:24, 15 November 2017


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
  1. MySQL/MariaDB (recommended),
  2. PostgreSQL (recommended)
  3. Microsoft SQL Server 2005
  4. Oracle (not recommended - see https://moodle.org/mod/forum/discuss.php?d=65488).
  • 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