I’m not sure why I decided to do it, but I did it. I setup a Moodle Development Environment on my local machine using MAMP. I attempted to install Moodle 3 times before I actually got it working. This is my tale….
I think I know how it began. I own a production site and started experimenting with APIs. I managed to set up an API that pushed some data from Moodle to an external webpage and it got me really interested in APIs and how they work. I have to say I still don’t fully understand the topic and I’m still learning a lot. Linkedin Learning has helped me quite a bit to understand API architecture and give me some pointers and tools to test and create some basic APIs. What I don’t fully understand at the moment is what Moodle is capable of but I think I am getting there.
I found a free Moodle Developer course at the Moodle Academy and while browsing the materials noticed that they actually have a course called ‘Setting up a Moodle Development Environment.’ I obviously signed up. But I feel I am at that in-between level where I am definitely not a beginner, but I’m also not an expert, I’m somewhere in the middle trying to paddle upstream. I feel a bit mixed about the course, I think it’s been pitched at the wrong level as some parts are explained in way too much detail! But then other parts are not explained enough and they assume knowledge.
What I found is that a lot of the steps at the beginning are things that are ‘nice to know’ and I found myself skipping to get just to the actual steps to install the bloody environment. Also the course has been built as a Moodle lesson, which means that you are hit with the occasional multiple choice question every so often – this seems incredibly pointless as I really don’t need to memorise what version of PHP is needed to install version x of Moodle. I’d just google it. In fact, it’s on the webpage when you go to download it. Anyway, I’ll try to avoid a rant, but basically, the steps to install the environment didn’t actually work and it took 3 attempts to get it working.
I found the MAMP installation on my local machine really easy – I had no problems with this. I followed the instructions on the site and it went smoothly. I decided to follow the Moodle Academy steps to install Moodle using Github. This was somewhat successful. I configured the database, launched the installation but when I got to the plugin checks I couldn’t get any further. The error message I received was that the Publish as LTI tool was not installed and that it should be installed before installation could finish. I couldn’t get past this as I couldn’t find any manual plugins to install it from. So I started again and used a different version of Moodle. This time I couldn’t get the installer to launch. Hmm.
I decided to delete everything from the htdocs MAMP directory and start again fresh. This time I decided to bypass Github and use my tried and tested method – I downloaded Moodle as a zip file, moved it to the hosting directory in MAMP and unzipped the folder. This is what finally worked. I’m not really sure I can be bothered to try to get this working in Github. It’s funny because when I was at uni I did a ASP.NET module and had to use Github as part of my assignment to show my coding and version control. Can I remember anything about it now? Nope. It’s like starting from scratch. I’ll leave it for now but it’s something that will probably bug me and I’ll end up experimenting with it again at a later date.
So what now? Well, after I got everything working, I went to bed and I’ve not picked it up again since. I do have plans to do some further API development tests and ideas of grandeur in that it would be nice to try to create a plugin. But let’s see.
Resources
I used my Mac for this project. Here is the link to MAMP, a local web dev solution that combines apache, MySQL and PHP. You can download a version of this for Windows too.
I downloaded Moodle from the official downloads page. The version I am using is 4.2.1+.
Here is the link to Moodle Academy, specifically the Setup your Moodle Development Environment course. While I’ve found a lot of the course material a bit frustrating and out of date, there are still some good things to learn here.