First a question ... do your clients run their Moodles on Mac's? IF not, what do they use? Think it a better approach for development that the development system be as close to the production environment as possible - there are some small but could be significant differences when developing a plugin .... but that's just me, I guess.
While Rick and Emma has said yes it's possible, they didn't seem to mention how!!!
Now am a command line person myself, but one could translate most of the commands below into GUI usage. And Rick/Emma might have an easier way .... So here goes:
Use the MAMP.app panel to launch it ... start Apache and MySQL servers.
After you get MAMP installed and running with the version 2.8
check the page at: http://localhost:8888/MAMP/index.php?language=English
Using PHPMyAdmin create a database for moodle29
Character set utf8 collate utf8_general_ci
In /Applications/MAMP/data
create a data directory for moodle29
cd /Applications/MAMP/data/
mkdir moodle29
Install git
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
or acquire the 29 code zip and download. Unzip into the moodle29 directory you created.
All the code files should be at the root of the moodle29 directory/folder.
Using git
cd /Applications/MAMP/htdocs
Then issue the following git commands:
git clone -b MOODLE_29_STABLE git://git.moodle.org/moodle.git moodle29
cd moodle29
To check that you have the right version:
fgrep '$release' version.php
Copy the config-dist.php file to config.php
Edit config.php
$CFG->dbtype = 'mysqli'; // 'pgsql', 'mariadb', 'mysqli', 'mssql', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native'; // 'native' only at the moment
$CFG->dbhost = 'localhost'; // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname = 'moodle29'; // database name, eg moodle
$CFG->dbuser = 'moodle'; // your database username
$CFG->dbpass = 'moodle'; // your database password
$CFG->prefix = 'mdl29_'; // prefix to use for all table names
$CFG->dboptions = array(
'dbpersist' => 0, // should persistent database connections be
// used? set to 'false' for the most stable
// setting, 'true' can improve performance
// sometimes
'dbsocket' => 1, // should connection via UNIX socket be used?
// if you set it to 'true' or custom path
// here set dbhost to 'localhost',
// (please note mysql is always using socket
// if dbhost is 'localhost' - if you need
// local port connection use '127.0.0.1')
'dbport' => '', // the TCP port number to use when connecting
// to the server. keep empty string for the
// default port
);
$CFG->wwwroot = 'http://localhost:8888/moodle29';
$CFG->dataroot = '/Applications/MAMP/data/moodle29';
** hide the index.php file in /Applications/MAMP/htdocs (that file sets the header to go to moodle28 ... we don't want that)
from /Applications/MAMP/htdocs/
mv index.php .index.php (see the 'dot' in front of index.php? That hides index.php and apache will not use.
The result of that, when one uses browser to go to http://localhost:8888/ one will now see a raw directory listing that looks like:
moodle
moodle28
moodle29
It's oK with a development box to have a raw directory listing. NOT on production server however.
Now go to http://localhost:8888/moodle29/ by clicking on the moodle29 directory.
You are now in the installation mode.
NOTE: advantage in using git ... easily updated (git pull) and upgraded (a few more commands but that's for later when 3.0 has been released)
'spirit of sharing', Ken