Note: You are currently viewing documentation for Moodle 3.1. Up-to-date documentation for the latest stable version of Moodle is probably available here: Installation quick guide.

Installation quick guide: Difference between revisions

From MoodleDocs
(Installing Moodle template)
(copying recent changes from 21 wiki)
Line 6: Line 6:
===Basic Requirements===
===Basic Requirements===


* You will need a working web server (e.g. Apache), a database (e.g. MySQL or PostgreSQL) and have PHP configured.  
* You will need a working web server (e.g. [[Apache]]), a database (e.g. [[MySQL]] or [[PostgreSQL]]) and have [[PHP]] configured.  
* Moodle requires a number of PHP extensions. However, Moodle checks early in the installation process and you can fix the problem and re-start the install script if any are missing.
* Moodle requires a number of [[PHP]] extensions. However, Moodle checks early in the installation process and you can fix the problem and re-start the install script if any are missing.
* If you want Moodle to send email (you probably do) you need working Sendmail on your server or access to an SMTP mail server.  
* If you want Moodle to send email (you probably do) you need a working Sendmail (Unix/Linux) on your server or access to an SMTP mail server.


===Getting Moodle===
===Getting Moodle===
Line 18: Line 18:
git clone -b MOODLE_21_STABLE git://git.moodle.org/moodle.git  
git clone -b MOODLE_21_STABLE git://git.moodle.org/moodle.git  
</pre>
</pre>
...this fetches a complete copy of the Moodle repository and then switches to the 2.1 Stable branch.


'''NOTE: only download Moodle from one of the moodle.org sources. Other versions (e.g. control panel based installers, Linux distribution repositories) cannot be guaranteed to work properly, be upgradable or be supportable.
'''NOTE: only download Moodle from one of the moodle.org sources. Other versions (e.g. control panel based installers, Linux distribution repositories) cannot be guaranteed to work properly, be upgradable or be supportable.
Line 25: Line 26:
* Using your chosen database server, create a new empty database. The default encoding must be UTF8. For example, using MySQL:
* Using your chosen database server, create a new empty database. The default encoding must be UTF8. For example, using MySQL:
<pre>
<pre>
CREATE DATABASE moodle DEFAULT CHARACTER SET UTF8;
CREATE DATABASE moodle DEFAULT CHARACTER SET UTF8 COLLATE utf8_unicode_ci;
</pre>
</pre>
* Create a user/password combination with appropriate permissions for the database. For example (MySQL again):
* Create a user/password combination with appropriate permissions for the database. For example (MySQL again):
Line 39: Line 40:
===Install Moodle code===
===Install Moodle code===


* Unzip / move / copy the Moodle code (obtained above) so that it will be served by your web server (e.g. on Debian based Linux, move to /var/www/moodle
* Unzip / move / copy the Moodle code (obtained above) so that it will be served by your web server (e.g. on Debian based Linux, move to /var/www/moodle)
* Check the permissions and make sure that the web server does '''not''' have permissions to write to any of the files in the Moodle code directories (a very common root cause of sites being hacked).
* Check the permissions and make sure that the web server does '''not''' have permissions to write to any of the files in the Moodle code directories (a very common root cause of sites being hacked).
* If you need to, configure your web server to serve the Moodle site with your chosen URL.  
* If you need to, configure your web server to serve the Moodle site with your chosen URL.
 


===Configure Moodle===
===Configure Moodle===


* In the Moodle code directory, find the file ''config-dist.php'' and copy it to a new file called ''config.php''.
* In the Moodle code directory, find the file ''config-dist.php'' and copy it to a new file called ''config.php'' (but read next step, 'Install Moodle', first).
* Edit config.php with your favourite editor and change the appropriate settings to point to your site, directories and database. ''Note: the Moodle install script will create config.php for you if it does not exist but make sure you (re-)set permissions appropriately afterwards''
* Edit config.php with your favourite editor and change the appropriate settings to point to your site, directories and database. ''Note: the Moodle install script will create config.php for you if it does not exist but make sure you (re-)set permissions appropriately afterwards''


===Install Moodle===
===Install Moodle===


* Either go to the URL for your moodle site in a browser (installation will start automatically) or run the command line version at (requires cli version of PHP):
* Go to the URL for your moodle site in a browser (installation will complete automatically) or run the command line version at (requires cli version of PHP):
<pre>
<pre>
php /path/to/moodle/admin/cli/install.php
/usr/bin/php /path/to/moodle/admin/cli/install.php
</pre>
</pre>
The CLI creates the config.php for you and will not run if you created one in the previous step.
* After completing the install make sure your file permissions are ok for the Moodle program files (not writeable by web server) and the Moodle data files (writeable by web server).


===Set up cron===
===Set up cron===
Line 68: Line 70:
You are now ready to use your Moodle site. If you run into problems see the 'See Also' below or ask in the forums at http://moodle.org.
You are now ready to use your Moodle site. If you run into problems see the 'See Also' below or ask in the forums at http://moodle.org.


==See Also==
==See also==


* [[Installing Moodle]] A more detailed installation guide
* [[Installing Moodle]] A more detailed installation guide

Revision as of 09:40, 8 December 2011

Note: The following installation pages are currently being updated. Please bear with us while this work is being completed.

This page is intended for administrators who are experienced with installing web server applications and are in a hurry to get up and running. For everybody else, please see Installing Moodle.

Basic Requirements

  • You will need a working web server (e.g. Apache), a database (e.g. MySQL or PostgreSQL) and have PHP configured.
  • Moodle requires a number of PHP extensions. However, Moodle checks early in the installation process and you can fix the problem and re-start the install script if any are missing.
  • If you want Moodle to send email (you probably do) you need a working Sendmail (Unix/Linux) on your server or access to an SMTP mail server.

Getting Moodle

You have two basic options:

  • Download your required version from http://moodle.org/downloads ... OR
  • Pull the code from the Git repository (recommended for developers and also makes upgrading very simple):
git clone -b MOODLE_21_STABLE git://git.moodle.org/moodle.git 

...this fetches a complete copy of the Moodle repository and then switches to the 2.1 Stable branch.

NOTE: only download Moodle from one of the moodle.org sources. Other versions (e.g. control panel based installers, Linux distribution repositories) cannot be guaranteed to work properly, be upgradable or be supportable.

Create a database

  • Using your chosen database server, create a new empty database. The default encoding must be UTF8. For example, using MySQL:
CREATE DATABASE moodle DEFAULT CHARACTER SET UTF8 COLLATE utf8_unicode_ci;
  • Create a user/password combination with appropriate permissions for the database. For example (MySQL again):
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'yourpassword';

Create data directory

  • Create an empty directory to hold Moodle files. It must not be in the area served by the web server and must have permissions so that the web server user can write to it. Typically, either make it owned by the web server user or give it write permissions for 'everyone'.


Install Moodle code

  • Unzip / move / copy the Moodle code (obtained above) so that it will be served by your web server (e.g. on Debian based Linux, move to /var/www/moodle)
  • Check the permissions and make sure that the web server does not have permissions to write to any of the files in the Moodle code directories (a very common root cause of sites being hacked).
  • If you need to, configure your web server to serve the Moodle site with your chosen URL.

Configure Moodle

  • In the Moodle code directory, find the file config-dist.php and copy it to a new file called config.php (but read next step, 'Install Moodle', first).
  • Edit config.php with your favourite editor and change the appropriate settings to point to your site, directories and database. Note: the Moodle install script will create config.php for you if it does not exist but make sure you (re-)set permissions appropriately afterwards

Install Moodle

  • Go to the URL for your moodle site in a browser (installation will complete automatically) or run the command line version at (requires cli version of PHP):
/usr/bin/php /path/to/moodle/admin/cli/install.php

The CLI creates the config.php for you and will not run if you created one in the previous step.

  • After completing the install make sure your file permissions are ok for the Moodle program files (not writeable by web server) and the Moodle data files (writeable by web server).

Set up cron

  • You will need a cron job to run periodically. A typical Unix cron entry will be as follows:
*/15 * * * *    /usr/bin/php /path/to/moodle/admin/cli/cron.php >/dev/null

See Cron for more options.

Congratulations!

You are now ready to use your Moodle site. If you run into problems see the 'See Also' below or ask in the forums at http://moodle.org.

See also