Download Moodle for Mac - Powerful and full-featured learning management solution designed to help you create your own private website for your own custom selection of courses. The complete install packages for Mac OS X are named Moodle4Mac and allow a very easy way to install Moodle on your Mac computer (laptop, desktop or test server). Moodle4Mac is available from Moodle packages for Mac OS X. Moodle4Mac is based on the software MAMP. Download the latest version of Moodle for Mac for free. Read 15 user reviews and compare with similar apps on MacUpdate.
- Download Moodle Desktop for macOS 10.10.0 or later and enjoy it on your Mac. Introducing Moodle Desktop - the solution to accessing your Moodle courses on desktop. With Moodle Desktop, you can enjoy the following popular features and functionalities that make online learning of any kind collaborative:. Easily access course content: View.
- Introducing Moodle Desktop - the solution to accessing your Moodle courses on Windows desktop and surface tablets. With Moodle Desktop, you can enjoy the following popular features and functionalities that make online learning of any kind collaborative: - Easily access course content: View course activities and download materials for offline use.
Complete install packages for Mac OS X are available from Moodle Downloads which uses MAMP. You will find a separate card for the Mac OS X downloads. They are designed for new and local installations on a Mac computer/server. There are other downloads for Linux, and Window Operating Systems that may involve more customization of configuration files.
The complete install packages for Mac OS X are named Moodle4Mac. These do not have sufficient security for public, production servers--only use for private, local testing purposes. These packages allow Moodle to be installed, along with the prerequisites that includes a web server, database and scripting language (Apache, MySQL and PHP in this case). Several versions of the complete install package are available. You will find versions for Intel based Macs and for older PPC based Macs. Please use the correct version for your processor. The instructions on the download page provide guidance on which version is likely to be most suitable.
Note 1: The latest complete install package version components, may not be backwardly compatible. Always check version compatibility of each component if you intend to develop materials on a later version of Moodle than the version installed on your 'main' Moodle site. In short, complete install packages are designed for first time install on a 'clean' machine.
Note 2: If you want a secure, public server with OS X, you may be interested to use the normal web server that comes preinstalled with every Mac Computer--see the Step-by-step Guide for Installing Moodle on Mac OS X 10.4 Client for Moodle. However, remember that the complete package Moodle4Mac is ready to use and no additional programs must be installed and configured together.
System requirements
Install complete package Moodle4Mac
Download and install Moodle4Mac
Step 1:Download the zipped disk image file from the Moodle download page. Please choose the correct file for your processor type. The zip archive should be unzipped automatically when the download is complete. If the download file is not unzipped please do this manually.
Step 2: Doubleclick the file Moodle4Mac.dmg to mount the installation disk.
Step 3: Move the folder MAMP into the folder Applications. Moodle4Mac is based on MAMP (Mac, Apache, MySQL, PHP). MAMP makes no entries in any registry and no settings for the system variables. If you want to know more about MAMP please read the project page http://mamp.info/
Step 4: Now you are ready to start your web server. Go to the Applications folder. Find the MAMP folder and open it.
Step 5: Doubleclick the icon MAMP to start the server.
Step 6: Start your browser and type http://127.0.0.1:8888 or http://localhost:8888 in the address bar. You will start your preinstalled Moodle. You do not need to do any installation. You are ready. Done ... hey, that was easy, wasn't it??
Step 7: Please login with the username admin and the password 12345 and you will be the main administrator of your new local Moodle.
Using Moodle4Mac as a local server in your network
In some workshops we used Moodle4Mac as a quick server installation for our local network. You should change the admin passwords (Moodle and MySQL) before you do this. There are only two steps to get the server connection from every computer in your network. One step is the change of only one line in the Moodle config.php, and the second step is that you must open the firewall of the Mac OS X. This chapter shows how you can do this.
Edit the file config.php
Use the current ip address of your computer instead of localhost so an external computer can connect the the web server. If your network is configured to dynamic ip addresses via DHCP please make sure that your computer retains its ip address while you want to use it as a Moodle server.The best thing would be to get a static ip address for your computer. Mostly your ip address in a local network will show one of the following numbers 10.x.x.x, 172.x.x.x, or 192.168.x.x
If your computer for example has the ip address 192.168.0.20 then you must change the configuration from localhost to 192.168.0.20. In the following box you will see this address in the line $CFG->wwwroot. This ip address will be different in your own network. You must use own address for your own network!! Please do not use an ip address if you do not know what you are doing ... ask your network administrator.
Open the firewall
The web server that comes together with Moodle4Mac works on the TCP port 8888. Moodle4Mac uses this port because this gets no conflicts with the normal web server of Mac OS X that answers on TCP port 80. You can switch the port from 8888 to 80 but you must know the administration password of your Mac. In this case the normal web server will not work.
To open the firewall please go to System Preferences > Sharing > Firewall. Choose New..., fill in TCP port 8888, and set the rule name Moodle4Mac.
When the rule exists it must be activated to get a connection to Moodle from any computer in your internal network.
Connect Moodle from your network ...
Your web server can be connected with the url http://x.x.x.x:8888/moodle18/ in your local network, where x.x.x.x is the address your Mac was given by the local router on your LAN. Usually such numbers start with 10.x.x.x, 172.x.x.x, or 192.168.x.x. All users from any computer in your network can use your Moodle via this address.
This also works if your computer is connected to the internet directly. If you open the firewall in your internet router and if you forward the port 8888 to your computer then any user everywhere on the world would be able to work with your Moodle ... but please remember also that there are a lot of security risks if you do this ... it would be better if you don't do this!!
Some words about the security ...
MAMP is designed for local computers
MAMP can be used for testing and developing websites locally on their Apple computers. MAMP should not be used in a production environment because everybody knows all the settings and all the predefined passwords. It's prepared for an easy start and not for a public web server!! But with some careful modfications, you can sufficiently secure MAMP and Moodle4Mac to use them in public development environments.
How to secure MAMP?
I found some ideas in the following document: How to secure MAMP?. It's really old and some of the instructions are not correct for the current version.
There is also a new package MAMP Pro that will let you do a lot of settings for a more secure web server. Please look to the web page for this product. You can find a describtion for MAMP Pro on the MAMP internet server. It's commertial and not free!
Step by step to secure Moodle4Mac
How to set up SSL/https in MAMP for a development/test environment
The text is copied from webopius web site (excepted the last steps).
- stop MAMP
- backup your /Applications/MAMP/conf folder
- open a terminal
- enter: openssl genrsa -des3 -out server.key 1024. Enter a password twice.
- enter: openssl req -new -key server.key -out server.csr. Enter the previous password. You need to answer some questions. Common name expects your local name (for me it was jerome.moodle.local)
- enter: openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- enter: cp server.key server.tmp
- enter: openssl rsa -in server.tmp -out server.key. Enter the previous password.
- enter: mkdir /Applications/MAMP/conf/ssl
- enter: cp server.crt /Applications/MAMP/conf/ssl
- enter: cp server.key /Applications/MAMP/conf/ssl
- Edit Applications/MAMP/conf/apache/ssl.conf:
- comment <IfDefine SSL> tag to closing tag (but not the content)
- SSLCertificateFile /Applications/MAMP/conf/ssl/server.crt
- SSLCertificateKeyFile /Applications/MAMP/conf/ssl/server.key
- Edit /Applications/MAMP/conf/apache/httpd.conf:
- Listen 80
- comment <IfDefine SSL> tag to closing tag (but not the content)
- Edit /Application/MAMP/conf/apache/ssl.conf, change the document root (DocumentRoot) for the one you have into /Application/MAMP/conf/apache/httpd.conf
- in a terminal enter: cd /Applications/MAMP/bin/apache2/bin
- enter: sudo ./apachectl startssl
- start MAMP
From now MAMP should start/stop with the SSL support activated. Note that these steps have only be tested with Apache port set to 80 into MAMP preferences.
How To Update Your Moodle4Mac
It is very simple to update your locally installed Moodle. If you have got this course together with Moodle4Mac then you should have everything you need for a CVS update.
The only software you must have installed on your Apple computer is the Xcode Tools package from your system installation media. After this it only needs a doubleclick to get the newest Moodle version without downloading the complete installation package.
Update the local Moodle via CVS
Be sure that the Xcode Tools are installed on your Mac computer. You also must have an internet connection to get the files from the update server.
Now the only thing you need to do is to doubleclick on an icon inside your MAMP folder. That's all .... really .... it's easy!!
Please look for the document UpdateMoodle.sh. If you doubleclick this file you will see that the system utility Terminal opens and the update process starts automatically. You must allow to connect to the Moodle internet server ... but think about this fact only if a system tool asks you.
The update tool CVS connects to the Moodle internet server and looks for all those files that must be downloaded. If the process asks for a password you press the return button to enter ... the password is 'empty'. The update needs a few moments to find all the updated or new files but then only those files are transfered. Please wait for some minutes.
Every updated file is shown in the update log so you can control if the updater works and when it is completed. At least you will see the config.php because this file does not come from the update server.
If the update takes too long you may break with <strg>-C. It doesn't matter because only text files are copied. On break the process stops working. If you restart the update again the CVS tool runs through all folders and files again to find those that need to be renewed.
Look Inside ...
If you want to see what is inside the document UpdateMoodle.sh please feel free to open it with a text editor. It is only a text file but it uses the Mac OS X feature to open a file with a chosen program via doubleclick.
I chose the system utility Terminal to open the file UpdateMoodle.sh and to run the script it contains automatically. So everything can be done with a doubleclick. It's easy and everybody can do it!!
The different versions of the update script are different in only two things ... first you need to choose the correct folder for the Moodle files and seconds you must input the correct CVS tag for the Moodle version in the last line. The shown script is for updating the version Moodle 2.2.
- Moodle 1.6 uses MOODLE_16_STABLE
- Moodle 1.7 uses MOODLE_17_STABLE
- Moodle 1.8 uses MOODLE_18_STABLE
- Moodle 1.9 uses MOODLE_19_STABLE
- Moodle 2.0 uses MOODLE_20_STABLE
- Moodle 2.1 uses MOODLE_21_STABLE
- Moodle 2.2 uses MOODLE_22_STABLE
- Moodle 2.3dev uses HEAD
Install Xcode Tools on your Mac
Xcode Tools is the developer tools package for Mac OS X. This package includes an integrated suite of software development tools, including compilers and applications.
If you do not know whether the Xcode Tools are installed on your Mac please look on your main harddrive. If there is a folder named Developer then you must do nothing.
If you cannot find this on your harddrive then you must install this package before following the instructions in this document. The Xcode Tools package is part of the Mac OS X installation media. You will find the Xcode Tools on your installation CD or DVD set.
If you do not find your installation media anymore you also can download the Xcode Tools from the URL http://developer.apple.com/tools/xcode/. It is free but you have to register as a developer. If you start the download from there please remember that the Xcode package brings a lot of bytes and will need a very few minutes to complete.
After you have put these things into your system you will see a new folder named Developer on your harddisk. If you only want to update your Moodle you do not need all these nice developer tools from the inside of the folder. Sorry about this but there is no separate installer for the CVS update process.
Moodle Download For Mac
See also
Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable. |
Overview
This guide shows all steps for the installation of Moodle on a Mac OS X Server. This server is a commercial product. You will find all documentations about the web server on the Apple support pages.
This installation guide can't be useful for an installation on MAMP or XAMPP. If you are looking for an easy way to install Moodle on your local machine please use Complete install packages for Mac OS X 10.4/10.5/10.6 Clients that can be downloaded from http://download.moodle.org/macosx/ ... but if you are planning to set up a Moodle internet server on a Mac then you should think about some more security as the ever local package could give.
Please feel free to add your ideas and wishes to the discussion page for this article. You may also write a complete chapter if you tried the facts yourself on your own Mac Server. I am most interested to make the things better.
System requirements
Configure PHP for your Moodle installation
Mac OS X 10.6 Server - No PHP installation needed
The Mac OS X 10.6.5 Server (SnowLeopard) comes with PHP 5.3.3 and a lot of PHP extensions. This would be the best choice for Moodle 1.9.x and for Moodle 2.0 on a Mac OS X Server. Please forget everything you read about the missing GD Library! The PHP installation is totally complete for Moodle. You only have to switch on the PHP module and to control if the file /etc/php.ini sets the right values for Moodle.
Mac OS X 10.5 Server - Install PHP 5.3.0 and the GD Library
The Mac OS X 10.5.8 Server (Leopard) comes with PHP 5.2.6 ... this is correct for Moodle 1.9.x. But you have to add the missing GD Library support to get Moodle running on your server. For Moodle 2.0 the server must have PHP 5.2.8 (or better) and some more PHP extensions ... in this case you need to get the better PHP version. These instructions are helpful in both cases.
To see which PHP version and extensions are installed on your server you should edit the file /Library/WebServer/Documents/info.php. You must activate the function call phpinfo() by deleting the both slashes // at the start of the function line. After saving the file you can get all PHP informations in your browser. Please look at http://your-server-address/info.php ... you will not find any GD library support ... bad thing for Moodle!!
The easiest way to get the GD library support and to get a better PHP version would be the installation of the complete PHP 5.3.0 package from http://www.entropy.ch/software/macosx/php/. Marc Liyanage precompiled this package to use it on Mac clients and Mac servers. Please get the package and install it by following the instructions on the download page. The installer does everything for you ... it copies PHP into the correct folder /usr/local/php5 and changes its owner to root automatically. You will find the file php.ini inside the new package folder. Open the file /usr/local/php5/lib/php.ini and edit some settings for Moodle.
Note: If you want to install Moodle 1.8.x on the server you need to get the Entropy PHP-5.2.9-7.pkg instead. Moodle 1.8.x does not run with PHP 5.3.0. (MDL-20128)
Now the Apache web server must get knowledge that you want to use the new PHP library instead of the old. Open the application Server Admin to switch to the new library. Go to the web server settings and find the entry php5_module. The normal place for PHP the Mac server is libexec/apache2/libphp5.so. Please change to /usr/local/php5/libphp5.so and save the settings.
PHP settings in your php.ini
The next thing is to configure the file php.ini. Most of the settings are okay but not all of them. To communicate to the MySQL database with PHP you have to set the default socket name for local MySQL connects. The default socket name for local MySQLi connects is needed for Moodle 2.0.
If you want to upload any file to your Moodle you should add a little bit more upload size in php.ini. If your server can't use more than 1 GB RAM you should set the memory_limit to a value less than 128M ... but it should have more than 48M for Moodle 1.9 and Moodle 2.0. Note that these sections are not likely to be consecutive in the php.ini file; the quickest way to find each one is search on the initial term (such as 'mysql.default_socket').
That's all ... save the file php.ini and restart the web server. Now you should look at http://your-server-address/info.php again. I hope that everything will be okay. You will find the version number PHP 5.3.x and the running GD library support. Congratulations ... the first step for Moodle on your Mac server is done!
Installing & configuring the intl extension.
[intl]
This directive allows you to produce PHP errors when some errorhappens within intl functions. The value is the level of the error produced.Default is 0, which does not produce any errors.intl.error_level = E_WARNING
That's all ... save the file php.ini and restart the web server. Now you should look at http://your-server-address/info.php again. I hope that everything will be okay. You will find the version number PHP 5.3.x and the running GD library support. Congratulations ... the first step for Moodle on your Mac server is done!
Configure the MySQL database for your Moodle installation
In standard case the database MySQL is installed on the Mac OS X Server but it is not running yet. Please make sure that you start the MySQL database server.
Use the graphical way
Sorry ... there are some more installations and a lot of clicks to configure MySQL in a graphical way.
First of all start the Server Admin. You will find this program by the way Applications > Server > Server Admin. Activate MySQL on the local server. You must set the password for the user root before you can start MySQL.
For the next you must download the MySQL database administration tool phpMyAdmin from http://www.phpmyadmin.net . Move the folder to the web server documents as /Library/WebServer/Documents/phpMyAdmin.
Add the security phrase to the file config.inc.php in between the single quotes on the line $cfg['blowfish_secret'] = ; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Now you will be able to start http://your-server-address/phpMyAdmin/ in your browser and to log into the database as the user root. Add a database moodle19. Add a database user moodle to the server localhost. Don't forget to set a secure password. The database user moodle should be allowed to administrate the database moodle19 only. It is a bad way to set root to administrate the database moodle19. If you want to install also Moodle 2.0 dev please add a second database moodle20 and use the same database user for it.
phpMyAdmin is a nice thing to look into the database while Moodle is running for some time. It's much easier to see in the graphical interface than in the command line tools. The image shows the database after Moodle 1.9 and Moodle 2.0 were already installed on this server.
Use the Terminal
If you want a quick installation then don't fear to use the Terminal. It's easier to tell you all the commands for the right way with the Terminal than showing you all the pictures to do the same with graphical tools. There are only a few commands to do everything I told you before.
Start the Terminal. You will find this program by the way Applications > Tools > Terminal. You will see that we must do the same steps as before but you can read them in a text form.
First of all you need to set the root password. If you didn't this before then use the first command line. If you want to change an existing password then use the second one.
The next steps are creating a new database moodle19 with correct character set and setting up a database user moodle, with an assigned password (IDENTIFIED BY), to administrate the new database ... and if you want, then do the same for moodle20.
That's really all with the Terminal. You are just ready!
Use InnoDB with Moodle 2.0
For Moodle 2.0 you should setup the support for InnoDB in your MySQL database.
Open the file /etc/my.cnf an delete every # in all lines beginning with innodb. This uncomments the InnoDB settings. Please save the file and restart your MySQL database.
Copy the Moodle files to the web server
The documents for the web server are saved in the folder /Library/WebServer/Documents/. You will place your Moodle folder here after you got it from http://download.moodle.org. Download the standard package MOODLE_19_WEEKLY because this is the best choice for new servers. Set the owner _www for the moodle folder ... this is the user for the web server. The folder permissions should be 755 before the installation and 555 after it's done ... please remember to set this later!
You also need the moodledata folder outside of the Documents folder ... so please make one. Go to the folder /Library/WebServer/ and add the folder moodledata. Because I want to install Moodle 1.9.x and Moodle 2.0 dev together on the same Mac server I add two folders moodle19 and moodle20 inside the moodledata folder. Please set the owner _www for both folders moodle19 and moodle20 and the folder permissions to 755.
If you'd like to put the moodledata folder on another volume (not a bad idea if you think you'll have a substantial amount of data within the moodle), note that you cannot simply reference it using the /Volumes/<volume_name>/folder syntax during the moodle setup. Instead, you'll need to create the folder (assigning the user and permissions), then create a link to it within the /Library/WebServer folder. To create the link, use the following command in a terminal window, substituting your data volume and folder name:
Run the Moodle installation
The installation on the Mac server is the same like the installation on every other server.Open a web browser to http://your-server-address/moodle/install.php to begin the installation process.On the screen picture and in the shown config.php you see the web address your-server-address ... it's only a placeholder for a real address or url ... please set yours. Also a user 'moodle' with a password 'moodle' would be very unsafe settings for your installation.
The installer generates the config.php automatically and saves it in the folder /Library/WebServer/Documents/moodle19. Please edit the config.php with a text editor and add the line date_default_timezone_set('UTC');. You may change UTC to your own timezone ... this is needed for PHP 5.3.0. In case you don't know all the relevant time zone identifiers by heart, there is a list available online.
After this, the web-based installation component will walk you through several screens worth of database configurations and updates, for most of which you'll just click the continue button. You'll set up an admin user and give the site a basic configuration (title, description, etc). When the installation is ready you should change the folder permission for /Library/WebServer/Documents/moodle19 to 555 so the web server is not able to write into this folder again.
Download the language packages
Moodle is running ...
How to setup the cron job with launchd
It's really important to start the cron job every 5 minutes. The cron job assists most of Moodle's modules to perform tasks on a scheduled basis. For example, the discussion forums can only mail out copies of new posts to all subscribers if the cron job tells Moodle to do this.
In Mac OS X you will find the system daemon launchd for this service. This daemon offers a standardized interface to any user and all programs started automatically by the system. Please look at http://developer.apple.com/macosx/launchd.html for more information about the configurations and all parameters.
In our case the service should get the web page http://your-server-address/moodle19/admin/cron.php every 5 minutes. The configuration will be done by the file named moodle4mac.cron.plist which must be placed in the system folder /Library/LaunchDaemons/ ... surely you can use any other file name but it should say something about the function of the service. The extension must be .plist. After any reboot of your Mac server the cron service will start automaticly because the file is placed in the correct system folder.
Use the graphical way
You can use Lingon to add a new daemon plist or to edit one. It produces the same text as you can write in your text editor. http://sourceforge.net/projects/lingon/files/
Use a text editor
Please use a text editor to write the needed file. You can open the Terminal and use the system editors vi or pico. But you can also write the text file with any GUI text editor ... I mostly use TextWrangler ... but do NOT take an editor for formatted texts like Microsoft Word or OpenOffice Writer. You must get pure text!
The label string must be the same as the file name is but without the extension .plist. Save the text file /Library/LaunchDaemons/moodle4mac.cron.plist. The owner of the file must be set to the system user root. That's all, really!
How to start and stop the cron service
You can start the new cron service in the Terminal.
The following command would stop the service. If you want to activate changes in the cron service you need to unload and then to load the daemon again.
Only one service for two servers?
For my server I needed to have a cron service for to instances moodle19 and moodle20 ... no problem ... with the typo moodle[19-20] the server will get a cron service for both instances.
To see if the cron service works correctly you should look at the access.log of your web server. The cron.php should be accessed every 5 minutes ... on my server for both Moodle instances moodle19 and moodle20 ... oh yes, it works!!
User administration via LDAP
The following settings will work on 10.5 Server running LDAP - edit them to customize to your own environment. Please note that moodle requires some fields - it is best to have these fields completed in Workgroup Manager on 10.5 Server - otherwise they'll be prompted to enter info into their moodle profile on first login, but the way we've got it set up, moodle can't modify LDAP for security and data integrity. The necessary fields are user name, first name, surname, Email address, City/Town, country, description, ID number.