Glad you could stop by the Linux Basement site. Linux Basement is an informational Podcast about Linux, open source software and lots of other wonderful technology. If you want to find out more about open source technologies, subscribe and have a listen!

#linuxbasement is up at irc.freenode.net

MP3 Feed
Ogg Vorbis Feed
MP3 Feed (all episodes)
Ogg Feed (all episodes)

Video blog (not the show!)

 

Installing Moodle

Installing Moodle



What is Moodle?

    From moodle.org

"Moodle is a course management system (CMS) - a free, Open Source software package designed using sound pedagogical principles, to help educators create effective online learning communities. You can download and use it on any computer you have handy (including webhosts), yet it can scale from a single-teacher site to a University with 200,000 students. This site itself is created using Moodle, so check out the Moodle Demonstration Courses or read the latest Moodle Buzz. "



From our previous tutorials, we've set up an Ubuntu Hardy Server LTS server, and installed Drupal as the main content management system. Today we are going to install Moodle, a course management system that can be used for many things, particularly in the educational field, but could easily be extended to corporate training, or online collaboration.



Head over to http://download.moodle.org/ to get the latest version of Moodle. As of this writing, the latest version is 1.9.1, which is what I will use for this tutorial.



wget http://download.moodle.org/stable19/moodle-1.9.1.tgz

tar xfvz moodle-1.9.1.tgz

mv moodle /var/www/moodle



In our previous tutorial, we created an empty database for our Moodle installation. If you have not done so, please refer back to http://www.linuxbasement.com/content/preparing-drupal-6-and-installing for instructions on how to use phpmyadmin to set up an empty database for installation.



Now you can navigate to http://yoursite/moodle and begin the installation. You should see the Moodle installation page. Select your language, and hit next. You will come to a screen that checks for the Moodle prerequisites on your server, such as the correct version of PHP.



Providing you have been following this tutorial series, all of the prerequisites should pass. Hit next.



Now we need to make sure our paths are set up correct. If this is just a test site, you could simply put http://localhost/moodle for the web address path. However, in production, you should put the correct URL here. The data directory should be put outside your web directory (/var/www).





You can simply put it in /var to make sure it is not accessable to the outside world. The Moodle Directory should already be populated. I simply blanked mine out to avoid confusion. Hit Next.



Now we need to enter the information to connect to your MySQL Database. Again, you should have created this emtpy database in the last tutorial. So, in my case the server is local so I will put localhost. Database and User is moodle, and the password you used when you created the database and user. If you followed my instructions, this is different then the root MySQL password. Try not to get the two confused.

The table prefix should not be changed unless you are doing multiple installs of moodle and want to differenciate. Hit Next.



One last round of Server Checks.

And off we go. Hit Next.



Here you have the option of downloading a different language pack if you need it. Hit Next.



Now we come to a very important page. The page where you set up your config.php file. My prefered way to do this is simply to be SSHd into the server and just copy and past the code into a file called config.php which you should create at /var/www/moodle/config.php



You could also download the file, and then ftp it up, but ssh gives you more geek cred.



Once you've gotten your config.php hit continue and you should be prompted to begin the database installation process, which is just a matter of hitting continue several times. Eventually you will come to the setup of your administrator. Enter a password that you will remember and an email address and create your first user. This user will be the administrator for the entire site.



Next, name your site. Guess what? That's it!