# Installation FAQ

## System information needed for Installation problems forum

When posting questions to the Installation problems forum, try to provide as much background information as possible about your Moodle system. Consider providing some or all of the following:

• Server Operating System name (version also if possible):
• PHP version (e.g. PHP 5.4.4)
• Database server type and version (e.g. MySQL 5.5.18)
• Browser and version (e.g. Firefox, IE8):
• Moodle version (e.g. 3.0):
• Phpinfo attached?:

Make sure you provide a sensible description (never HELP! or URGENT!) and a full description of what you did and what happened. Copy and paste any error messages accurately in full. 'Nothing' is not a symptom, even a blank page is something!

## PHP - is it installed and what version do I have?

Make a new file on your web site called info.php, containing the following text, and call it from your browser:

<?PHP phpinfo() ?>

If nothing happens then you don't have PHP installed or your webserver is not configured to handle .php files properly. See the installation docs for some information about where to download it for your computer. See the phpinfo page for details about the content of this page.

## I am being told that I need the intl php plugin to continue to install Moodle 2.x

 extension=php_intl.dll


in the Dynamic Extensions section of your php.ini file.

You can also set the error level using:

 intl.error_level = E_WARNING


but this is not essential

If you are using a Linux install, use your system package manager or specify compilation flag.

   * Debian 5.0 (& Ubuntu) use: apt-get install php-intl or apt-get install php5-intl
* CentOS 5.5 (& RedHat) you should (probably) be using php 5.3 from remi and then use: yum install php-intl


This technique can be applied to any updated dynamic extension from Zend. You may want to use later dll files in your php/ext folder, you can do so by doing the same as above, but be careful, your version may not be able to take full advantage of the extension, or some very new extensions may cause an unexpected instability. The best option is still to update on a regular basis, perhaps once a year or so for the PHP.

### What Dynamic Extensions do I really need uncommented in my php.ini file? What else do I need to change?

This assumes you have complete control over the installation and running of your server, if your Moodle is hosted, you need to do something different, which is also discussed below. In the php.ini you need to delete the semi-colon, the ;, from the start of any line to uncomment it. For Moodle, you really should only need to change some values, and make sure the extensions you require are available. These are:

Resource Limits

 memory_limit = 128M     //This is the maximum it requires and on a shared server you may get much less.


Data Handling

 post_max_size = 512M    //This allows postings of up to 512MB, but set it to suit yourself and your circumstances


Paths and Directories

 doc_root ="driveletter:\path\to\server\active\web\directory"  (e.g. d:\Apache\htdocs or e:\iis\wwwroot )
and
extension_dir = "driveletter:\path\to\php\ext" (e.g. d:\php\ext or e:\iis\php\ext)


 upload_max_filesize = 512M    (This is different from the post_max_size this is for file uploads.)


Dynamic Extensions (Windows Only)

PHP 5.3.x
 extension=php_curl.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_intl.dll
extension=php_imap.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_xmlrpc.dll
extension=php_zip.dll


These edits and Dynamic extensions cover a range of options here, there are a number of other possibilities, but these listed are the most common ones. Unless you have a specific need, there may not be any reason to deviate from these settings, but if you do, make sure you know what is going to happen. These extensions will also allow you to successfully install and run many other PHP applications.

One example is the Oracle extensions are not shown here, but Oracle can be used for the Moodle database. Another area people often get themselves into trouble is using "Magic quotes". Magic quotes really should be set to off, they were only introduced early in the use of PHP to allow for some inexperienced scripting practices, (read poor, shoddy or dodgy here). If someone is still writing poor scripts, then they deserve to draw attention to themselves and their scripts deleted.

## What & where are Moodle's configuration settings stored?

Configuration settings are stored in the config.php file stored in your moodle folder. This file is created during the installation process. If there is a problem and the installation cannot create the file, you can try creating it manually from the Configuration file docs. Top

You'll see a directory tree with the files displayed. Click on the one you want and download as normal. If you require the latest update of the version, scroll to the end of the list and download the "moodle-latest" file.

• Mac Packages: To download other releases not found in Mac packages, use either of these URLs (depending on whether you need the Intel or PPC package):

For details of how to download a particular weekly version, see the post Looking for VERY specific release of older Moodle.

## How to enable and check PHP error logs

PHP can be set up to log errors in a variety of different ways: two of these involve the use of the php.ini file and the ini_set command. See PHP_error_logs.

## "Could not find a top level course"

If this appears immediately after you have attempted to install Moodle it almost certainly means that the installation did not complete. A complete installation will ask you for the administrator profile and to name the site just before it completes. Check your logs for errors. Then drop the database and start again. If you used the web-based installer try the command line one. Does your computer definitely have sufficient resource to run Moodle?

## Email copies are not being sent from my forums

You must set up cron properly if you want Moodle to send out automatic email from forums, assignments etc. This same process also performs a number of clean-up tasks such as deleting old unconfirmed users, unenrolling old students and so on. Please refer to the cron instructions.

Tips:

• Try the default settings in Settings > Site administration > Plugins > Message outputs > Email. This generally works. Except...
• On a Windows server you *must* supply the address of an SMTP server (Windows, unlike Unix, does not have a build in mail server) in the above settings page
• Make sure that allowuseremailcharset in Settings > Site administration > Plugins > Message outputs > Email is set to No unless you really know what you are doing. Setting this to Yes can cause a problem in some versions of Moodle.
• Check your firewall or ask your network administrator. Many mail servers are heavily locked down and you may need permission to send mail through them.

The following are possible causes and actions you can take (in no particular order):

• Check first that your main admin account (which will be a manual account) is also a problem. If your users are using an external authentication method (e.g. LDAP) that could be the problem. Isolate the fault and make sure it really is Moodle before going any further.
• Check that your hard disk is not full or if your server is on shared hosting check that you have not reached your disk space quota. This will prevent new sessions being created and nobody will be able to log in.
• Carefully check the permissions in your 'moodledata' area. The web server needs to be able to write to the 'sessions' subdirectory.
• Your own computer (not your Moodle server) may have a firewall that is stripping referrer information from the browser. Here are some instructions for fixing Norton firewall products.
• Try deleting the sessions folder in your moodledata directory (anybody currently logged in will be thrown out)
• Try deleting cookies on your computer and/or try another browser or another client computer
• In Settings > Site administration > Server > Session Handling, try setting a value for 'Cookie prefix'. You can also do this by setting
$CFG->sessioncookie='something'; in config.php. This is especially true if you are using multiple Moodles on the same browser. • Make sure you have not removed or changed the Password Salt value(s) in config.php. If passwords were created using a salt the correct salt must be in config.php for those passwords to continue to work. This is easily done if you recreate config.php while performing an upgrade and forget to transfer the salt values. • Do you have a .htaccess file in your Moodle folder (or its parent directories). If so, is there anything in there that might be causing trouble (strange redirects, access restrictions etc.)? • Check the value of mnet_localhost_id in the mdl_config database table. It's normally 1 but must match the mnet_hostid field in your user records in the mdl_user table for the user to be recognised. It can sometimes get changed spuriously during upgrades or site migrations. • Check config.php - it should NOT have any spaces/new lines at the end of code. • You are using the correct username and password, yes? If you are still having problems, read the Cannot log in page. You could also try changing the admin password. Proceed as if you have lost it - see Administration FAQ. ## I log in but the login link doesn't change. I am logged in and can navigate freely. Make sure the URL in your $CFG->wwwroot
setting is exactly the same as the one you are actually using to access the site.

This indicates that slash arguments are not enabled on your web server. Please see Using slash arguments for details.

## Why are all my pages blank?

Check the dirroot variable in config.php. You must use complete, absolute pathnames (e.g.)

## Why does my new installation display correctly on the server, but when I view it from a different machine, styles and images are missing?

In the installation instructions, one of the suggested settings for 'webroot' is 'localhost'. This is fine if all you want to do is some local testing of your new Moodle installation. If, however, you want to view your new installation from another machine on the same local area network, or view your site on the internet, you will have to change this setting:

• For local testing, 'localhost' is fine for the webroot (\$CFG->wwwroot in config.php).
• If you want to test your site from other machines on the same local area network (LAN), then you will have to use the private ip address of the serving machine, (e.g. 192.168.1.2/moodle) or the network name of the serving computer (e.g. network_name_of_serving_machine/moodle) as the web root. Depending on your LAN setup, it may be better to use the network name of the computer rather than its (private) ip address, because the ip address can and will change from time to time. If you don't want to use the network name, then you will have to speak to your network administrator and have them assign a permanent ip address to the serving machine.
• Finally, if you want to test your new installation across the internet, you will have to use either a domain name or a permanent (public) ip address/moodle as your web root. To handle both types of access, see masquerading.

## Maximum upload file size - how to change it?

There are several places to change the maximum file upload size. The first place to check is the Administration block. Security -> Site Policies -> and look for "Maximum Uploaded File Size". This is the "maxbyte" variable found in older versions of Moodle (under Admin > Variables). Teachers may also set the maximum file size by the course administration block.

For more help see:

## Moodle claims PHP float handling is not compatible

The symptom is that when you try to install or upgrade your Moodle, you get a message "Detected unexpected problem in handling of PHP float numbers".

This forum thread and MDL-18253 have more information. In short, this problem should not happen, you can help us by telling posting information about exactly which version of PHP, and OS you are using. That may let us find a way to work around this problem.

You may be able to solve this issue by installing a more recent PHP versions. If you compile PHP yourself from source, changing the compilation options may help. However, since we don't understand the cause, we don't really know. If you do find a solution that works for you, please do tell us about it.

Update: we have a guess that the problem may be the 'precision' setting in your php.ini file. In a default PHP install this is set of 14. On at least one server that exhibited this problem it had been changed to a smaller value. So, if you see this problem, please try adding

ini_set('precision', 14);


## How do I run multiple instances of Moodle without duplicating base code?

See this thread for a detailed explanation by Martin Langhoff.

## What is FreeTDS and how can I use it in my installation?

FreeTDS is an open source implementation of the Tabular Data Stream protocol used by Microsoft SQL Server and Sybase for their databases. Unfortunately, Microsoft servers don't usually accept TDS 5.0 connections. FreeTDS allows your Unix/Linux applications to talk to these other database products and import and export data between different systems successfully.

## I can't enable a plugin on the Plugins overview page because the icon is not clickable

The open and closed eye icon on the Plugins overview page is simply there to show whether or not a plugin is enabled. You can't edit plugins from this screen. If you wish to enable a plugin, to to the appropriate page for managing the type of plugin you need, for instance Settings>Site administration>Plugins>Repositories>Manage repositories or Settings>Site administration>Plugins>Activity modules>Manage activities.