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

Installation quick guide: Difference between revisions

From MoodleDocs
m (create utf8 database note)
 
(67 intermediate revisions by 17 users not shown)
Line 1: Line 1:
This guide is designed for administrators who have installed Moodle before and need a quick recap to jog their memory. It could also be useful for those administrators who wish to have an overview of the installation procedure before they start with our [[Installing Moodle| more detailed installation guide]].
{{Installing Moodle}}
''This page is intended for administrators who are experienced with installing web server applications and are in a hurry to get up and running. Otherwise please see [[Installing Moodle]]''.


===Preparation===
==Basic Requirements==


* Install PHP and required extensions, a supported database such as MySQL and a webserver on the target computer
* You will need a working web server (e.g. [[Apache]]), a database (e.g. [[MySQL]], [[MariaDB]] or [[PostgreSQL]]) and have [[PHP]] configured. See the [{{Release notes}} release notes] in the dev docs for software requirements.
* Create a blank database using UTF-8 encoding (call it moodle if you like) and create a database user with the appropriate permissions
* 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.
* Create a data directory (call it moodledata if you wish) outside of the webserver.  
* 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.
* Ensure the webserver is the owner of the data folder and give the owner read, write and execute permissions
* Download Moodle


===Installation===
==Getting Moodle==


* Extract the files and place them in the documents folder on the webserver (or any subfolder of your webserver)
You have two basic options:
* Go to <nowiki>http://yourserver/install.php</nowiki> or <nowiki>http://yourserver/subfolders/install.php</nowiki> to start the installation
* Download your required version from http://moodle.org/downloads ... OR
* Download the [[Configuration file | config.php]] file from your webserver and place in the moodle root if prompted
* Pull the code from the Git repository (recommended for developers and also makes upgrading very simple):
<pre>
git clone -b MOODLE_36_STABLE git://git.moodle.org/moodle.git
</pre>
...this fetches a complete copy of the Moodle repository and then switches to the {{Version}} Stable branch.


===Configuration===
See [[Git_for_Administrators|Git for Administrators ]] for details on using Git to install Moodle code.


* If you agree with the [[License | GPL license]] you will be allowed to continue
Note: Only download Moodle from one of the moodle.org sources. Other versions (e.g. control panel based installers, Linux distribution repositories, other "one click" installers) cannot be guaranteed to work properly, be upgradable or be supportable.
* Give your site a name and description
* Configure an admin account


===One last thing===
==Create a database==
Once you have finished setting up moodle you need to set up [[Cron|cron]].


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


==See Also==
Notes: It is important to GRANT ON moodle.* as the database name including the '.*' and not just the bare database name. Save this password you use for the Moodle user, since you will need it later in the install.


* [[Installing Moodle]] A more detailed installation guide
==Create data directory==
* [[Installation FAQ]]


[[Category: Administrator]]
* 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. Other than that it can be located anywhere. Typically, either make it owned by the web server user or give it write permissions for 'everyone'. If it is on a shared/NFS drive then read [[Caching]] - Moodle caches to this disk area by default and a slow share will mean terrible performance.


[[no:Hurtiginstallasjonsveiledning]]
==Install Moodle code==
[[ru:Установка Quickstart]]
 
[[ja:インストールクイックスタート]]
* If you downloaded the zip or tgz file earlier, then unzip / untar / 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/html/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):
<pre>
/usr/bin/php /path/to/moodle/admin/cli/install.php
</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==
 
You will need a cron job to run periodically. It is recommended that ''the cron is run every minute'', as required for asynchronous activity deletion when using the [[Recycle bin|recycle bin]]. A typical Unix cron entry will be as follows:
<pre>
* * * * *    /usr/bin/php /path/to/moodle/admin/cli/cron.php >/dev/null
</pre>
Your site '''will not work properly''' unless cron is running regularly. It is very important you do not skip this step.
 
See [[Cron]] for details.
 
==Congratulations!==
 
You are now ready to use your Moodle site.
 
If you run into problems, check the [[Installation FAQ]] and visit the [http://moodle.org/mod/forum/view.php?id=28 Installation help forum].
 
[[Category:Quick guide]]
 
[[de:Installation in Kürze]]
[[fr:Installation_rapide]]
[[es:Inicio_Rápido_de_Instalación]]
[[ja:インストレーションクイックガイド]]

Latest revision as of 08:47, 10 February 2019

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

Basic Requirements

  • You will need a working web server (e.g. Apache), a database (e.g. MySQL, MariaDB or PostgreSQL) and have PHP configured. See the release notes in the dev docs for software requirements.
  • 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_36_STABLE git://git.moodle.org/moodle.git 

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

See Git for Administrators for details on using Git to install Moodle code.

Note: Only download Moodle from one of the moodle.org sources. Other versions (e.g. control panel based installers, Linux distribution repositories, other "one click" installers) 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 utf8mb4 COLLATE utf8mb4_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';

Notes: It is important to GRANT ON moodle.* as the database name including the '.*' and not just the bare database name. Save this password you use for the Moodle user, since you will need it later in the install.

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. Other than that it can be located anywhere. Typically, either make it owned by the web server user or give it write permissions for 'everyone'. If it is on a shared/NFS drive then read Caching - Moodle caches to this disk area by default and a slow share will mean terrible performance.

Install Moodle code

  • If you downloaded the zip or tgz file earlier, then unzip / untar / 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/html/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. It is recommended that the cron is run every minute, as required for asynchronous activity deletion when using the recycle bin. A typical Unix cron entry will be as follows:

* * * * *    /usr/bin/php /path/to/moodle/admin/cli/cron.php >/dev/null

Your site will not work properly unless cron is running regularly. It is very important you do not skip this step.

See Cron for details.

Congratulations!

You are now ready to use your Moodle site.

If you run into problems, check the Installation FAQ and visit the Installation help forum.