Difference between revisions of "Complete Install Packages for Mac OS X"

Jump to: navigation, search
m (Script control ... looking inside ...)
m (removing categories)
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Installing Moodle}}
#REDIRECT [[Installation Package for OS X]]
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, server). Moodle4Mac is available from  [http://download.moodle.org/macosx/ Moodle  packages for Mac OS X]. You will find other downloads for Linux and Window Operating Systems that may involve more customization of configuration files.
Moodle4Mac does not have sufficient security for public, production servers -- only use for private, local testing purposes. If you want to use Moodle on an OS X Server connected to the internet please read the instructions [https://docs.moodle.org/en/Step_by_Step_Installation_on_a_Mac_OS_X_Server Step by step installation on a OS X Server].
[[de:Installationspaket für OS X]]
[[es:Paquetes de Instalación Completos para Mac OS X]]
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==
  + Apple OS X Computer
  + iMac, Mac mini, MacBook, Mac Pro, Xserve
  + Processor:  Intel x86_64 (i5, i7, Xeon, Core 2 Duo)
  + RAM: 2 GB or better
  + Hard Disk: 800 MB free
  + System Software: OS X 10.6, 10.7, 10.8
==Download and install ==
'''Step 1:'''  Download the zipped disk image file from Moodle http://download.moodle.org/macosx/.  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:'''  Double click the disk image Moodle4Mac.dmg to mount the installation disk.
'''Step 3:''' Move the folder '''MAMP''' into the folder '''Applications'''.  Moodle4Mac is based on MAMP (Mac OS X, Apache, MySQL, PHP).  MAMP does not save parameters in a registry or in system variables.  If you want to delete Moodle4Mac you only need to move the MAMP folder into the Trash.  For more information about MAMP please look at the [http://mamp.info/ project page].
'''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:''' Double click the MAMP icon to start the server.
'''Step 6:''' Start your browser and type or http://localhost:8888/moodle/ into 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:''' Login with the username '''admin''' and the password '''12345''' and you will be the main administrator of your new local Moodle.
==Language packages==
By default Moodle4Mac is delivered in English, any other language must be loaded. The german standard package ''de'' translates all text strings to german, the additional package ''de_du'' adds the informal conversation ''du'', the additional package ''de_kids'' provides scholastic simplifications.
The direct link for the language import is http://localhost:8888/moodle24/admin/tool/langimport/
After importing addition, the settings for the default language for the user account and admin can be switched to German. Only then you will find the menus and settings dialogs your Moodle in German. Of course, all text in the text boxes on the home page and in the two preloaded courses Moodle4Mac About and How to update as they were originally entered ... if you like, you can change these texts like ....
==Completely backup your server==
Just as you installed Moodle4Mac the first time on your computer, you can backup a customized system completely. Because all files and configurations are stored within the directory MAMP, you can easily backup your MAMP directory to an external disk. Your Moodle will be frozen together with all settings and all the courses, and it can be recovered at any time in the same form.
First stop all server processes like httpd and mysqld, then exit the MAMP program. After everything stopped you can copy or move the MAMP directory. If you want to transfer MAMP to one or more other computers, you will create a ZIP archive containing the MAMP directory. This ZIP archive can be copied anywhere ... to an USB memory, to a web server, on a burned CD ...
The target computer must be a Mac. On this Mac, unpack the ZIP archive and move the MAMP folder to the Application folder ... done! Everything is going exactly as in section download and installation. In this way you can prepare your Moodle for a presentation or a training lab, and you can distribute it.
==Server in your local network==
In various workshops we used Moodle4Mac as a quick server installation for our local network. Make sure that you change the passwords for Moodle and MySQL before you allow access to this server ... otherwise, you'll be amazed how creative your user group can be. Please read the safety instructions of Moodle4Mac.
In this section you will see all required settings to use the server in the local network. Only three steps are required. The first step is to change one line in the config.php for Moodle. In the second step you need to adjust the base address in Moodle. And in your third step you open the firewall for ''httpd''.
To get your Moodle to another computer in your local network your Mac must be clearly addressable. You may use a fixed IP address or a DNS name. In local networks usually ip addresses of the private sections 10.xxx , 172.xxx , or 192.168.xx are assigned. If your Moodle4Mac gets an ip address this address must never change. Please do not use any static ip address if you do not know exactly what you do ... in case of doubt ask the administrator of the local network.
You can't use Moodle4Mac as a local server which is intended to work on different networks.
===Edit config.php===
For the following your computer should be a Mac in a computer lab. For this example it has the the fixed ip address You must edit now the configuration ''/Applications/MAMP/htdocs/moodle24/config.php''  and change the wwwroot from ''localhost'' to ''''. You must use your own address for your own network!!
After your changes you should get your Moodle with the address
<pre>&lt;?php  /// Moodle Configuration File
$CFG-&gt;dbtype    = 'mysql';
$CFG-&gt;dbhost    = 'localhost';
$CFG-&gt;dbname    = 'moodle24';
$CFG-&gt;dbuser    = 'moodle';
$CFG-&gt;dbpass    = 'moodle';
$CFG-&gt;dbpersist =  false;
$CFG-&gt;prefix    = 'mdl_';
$CFG->dboptions = array (
  'dbpersist' => 0,
  'dbsocket' => 1,
// Use the ip address of your computer instead of localhost
$CFG-&gt;wwwroot  = '';
// $CFG-&gt;wwwroot  = 'http://localhost:8888/moodle24';
$CFG-&gt;dataroot  = '/Applications/MAMP/data/moodle24';
$CFG-&gt;admin    = 'admin';
$CFG-&gt;passwordsaltmain = 'some_very_long_secret!#A12345678901234567890!';
$CFG-&gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode
// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!
===Replace the base address===
The original base address ''localhost'' is stored in many places within the database, your Moodle will not work properly with the modified base address. But images can not be displayed because they are accessible only from their correct address. From your local computer you might not see the problems but if you are outside on a computer getting access to the site.
Moodle has a tool that allows you to replace the database entries from http://localhost:8888/moodle24/ to .
You call this tool via the address
No ... there is no menu option for it, probably because at thoughtless action with this tool also can shred the database ... in the first field enter http://localhost:8888/moodle24/, in the second field (or the ip address that you have assigned in your installation). Use the correct spelling in both fields! With the hook you acknowledge that you know about the risk ...
===Open the firewall===
The firewall in OS X 10.6, 10.7 and 10.8 can be enabled and disabled the ''System Preferences > Security > Firewall''. If the firewall is disabled, although Moodle4Mac works without further settings in the network, but your computer is vulnerable to all requests from the outside ... the latter you should not do!
The the system firewall of OS X is a packet filter that determines for each program if a data packet should be passed or blocked. If the firewall is enabled every program must be entered on a list to respond to requests from outside. Moodle4Mac (or MAMP) uses the httpd program to deliver the sites. You will find httpd in the MAMP folder ... the path is ''/Application/MAMP/Library/bin/httpd''. To enter httpd into the whitelist of the firewall you must click forward on this path ... no idea if there would be a configuration file which you can edit.
You need to get this setting for the firewall only once. If httpd is approved then all computers in your local network can access to Moodle ... by the way it is not important which is used by httpd ... port 8888 or port 80.
Do not open the firewall for mysqld because Moodle itself gets a connection to mysql on the server but no user should communicate with mysql directly from the client.
===Connect Moodle from your network ...===
Your web server can be connected with the url in your local network, where is an example address which your Mac got from 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:  [http://www.network0.org/2006/09/23/how-to-secure-mamp/ 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 [http://www.living-e.com/MAMP-PRO/ MAMP internet server]. It's commertial and not free!
===Step by step to secure Moodle4Mac===
<br />&nbsp;
===Secure connections with HTTPS===
The text is copied from [http://www.webopius.com/content/355/getting-mamp-working-with-ssl-on-os-x 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. You start the update with a double click and everything happens automatically. All courses rest in Moodle. You do not need to renew your local Moodle completely ... you only get the new Moodle files.
===Update the local Moodle via Git===
Make sure that the Git program is installed on your Mac (see instructions below). You also need an Internet connection because the files are downloaded from the Moodle update server. A double click on the icon UpdateMoodle.sh starts the script and updating occurs automatically. That's really all ... could it be easier?
The Git program connects to the Moodle server and controls which files are new, which have changed and which have been deleted. The transmission time depends on the internet connection. With Git only really necessary files will be transmitted. If the transfer takes too long, you can abort the process with <ctrl>-c. You can easily start the update again later.
<br />&nbsp;
===Script control ... looking inside ... ===
If you want to see what is inside the document '''UpdateMoodle.sh''' please feel free to open it with a text editor, e.g. TextWrangler.
It is only a text file but it uses a OS X feature to open and execute the script with the Terminal program. You don't need to learn anything ... doubleclick to update everything.
#! /bin/sh
#  This GIT installer for Mac OS X is part
#  of the installation package Moodle4Mac
#  20121206 - Ralf Krause
echo "+--------------------------------------------+"
echo "| GIT updater for your local Moodle server"
echo "+--------------------------------------------+"
cd /Applications/MAMP/htdocs
if ! test -e moodle24/.git ; then
    ## for the first update ... git needs to download everything
    git clone --depth 1 -b MOODLE_24_STABLE git://github.com/moodle/moodle.git moodle24-git
    if test -e moodle24 ; then
        if test -e moodle24/config.php ; then
            sudo cp moodle24/config.php moodle24-git/.
        DATE=`date +%Y%m%d-%H%M`
        mv moodle24 moodle24-$DATE
    mv moodle24-git moodle24
    ## you can delete the old folder now
    ## rm -R moodle24-*
    ## the git update only gets the new and changed files
    cd moodle24
    git pull
    cd ..
The different versions of the script UpdateMoodle.sh only differ in two parameters ... first we need to know the right folder for Moodle and second we must use the correct git tag for the Moodle version. The shown script upgrades Moodle 2.4.
* Moodle 2.0 uses <span style="color:red;">MOODLE_20_STABLE</span>
* Moodle 2.1 uses <span style="color:red;">MOODLE_21_STABLE</span>
* Moodle 2.2 uses <span style="color:red;">MOODLE_22_STABLE</span>
* Moodle 2.3 uses <span style="color:red;">MOODLE_23_STABLE</span>
* Moodle 2.4 uses <span style="color:red;">MOODLE_24_STABLE</span>
* Moodle 2.5 uses <span style="color:red;">MOODLE_25_STABLE</span>
* Moodle 2.6dev uses <span style="color:red;">master</span>
===Install Git===
Download the Git program from  http://git-scm.com/download/ ... it's free and open source.
<br />&nbsp;
Open the disk image and doubleclick the installer git-xxx-osx.pkg. If you want to know more about Git then read the Git documentation on their web site ... but if you only want to update Moodle the script '''UpdateMoodle.sh''' should also work without reading
<br />&nbsp;
==See also==
* [http://mamp.info  MAMP = Mac + Apache + MySQL + PHP]
* [http://en.wikipedia.org/wiki/MAMP MAMP in Wikipedia]
* [[Step by Step Installation on a Mac OS X Server|Step by Step Installation on a Mac OS X Server 10.5/10.6]]
* [[Step-by-step Guide for Installing Moodle on Mac OS X 10.4 Client|Step by step Installation on a Mac OS X Client 10.4]]
* [http://en.wikipedia.org/wiki/Private_network Private network addresses in Wikipedia]
* [http://moodle.org/mod/forum/discuss.php?d=24632 Using Moodle: Dynamic DNS Home Server]
[[Category:Mac OS X]]
[[de:Vollständiges Installationspaket für Mac OS X]]

Latest revision as of 07:01, 16 October 2015