Note: You are currently viewing documentation for Moodle 3.7. Up-to-date documentation for the latest stable version of Moodle may be available here: MoodleBox.

MoodleBox

From MoodleDocs
Revision as of 17:16, 5 September 2017 by Nicolas Martignoni (talk | contribs) (Version 1.6 update)

The MoodleBox plugin for Moodle is an administration tool providing a GUI to some settings and management of a MoodleBox, a Moodle server installed on a Raspberry Pi.

It enables a Moodle administrator to monitor some hardware settings, to set the date of the MoodleBox, to allow restart and shutdown of the MoodleBox and changing Raspberry Pi passwords using a GUI. After the installation in Moodle, some steps are required to complete on the Raspberry Pi (see below).

The plugin is compatible with Moodle 3.1 or later.

Requirements

  • A Raspberry Pi (ideally Model 3 B)
  • Raspbian installed (or another Linux based distribution)
  • Package Incron installed
  • Moodle installed (obviously)

Installation

The MoodleBox plugin must be installed in the Moodle tree of the MoodleBox, in the tool folder. Once installed, an new option MoodleBox will be available in Moodle, under Site administration > Server in the Administration block.

To complete the installation, you have to create some files in the plugin folder and configure some incron jobs on the MoodleBox.

1 Create necessary files

   touch .reboot-server; touch .shutdown-server; touch .set-server-datetime; touch .newpassword; touch .wifisettings
   chown -R www-data:www-data /var/www/moodle/admin/tool/moodlebox

2 Install incron package and allow root to run it

   sudo apt-get install incron
   echo root | sudo tee -a /etc/incron.allow

3 Add following lines to incrontab

   /var/www/moodle/admin/tool/moodlebox/.reboot-server IN_CLOSE_WRITE /sbin/shutdown -r now
   /var/www/moodle/admin/tool/moodlebox/.shutdown-server IN_CLOSE_WRITE /sbin/shutdown -h now
   /var/www/moodle/admin/tool/moodlebox/.set-server-datetime IN_CLOSE_WRITE /bin/bash /var/www/moodle/admin/tool/moodlebox/.set-server-datetime
   /var/www/moodle/admin/tool/moodlebox/.newpassword IN_CLOSE_WRITE /bin/bash /var/www/moodle/admin/tool/moodlebox/bin/changepassword.sh
   /var/www/moodle/admin/tool/moodlebox/.wifipassword IN_CLOSE_WRITE /bin/bash /var/www/moodle/admin/tool/moodlebox/bin/changewifisettings.sh

4 Secure your Moodlebox

Features

  • Info about the MoodleBox (kernel version, Raspbian version, free space on SD card, CPU load, CPU temperature, CPU frequency, uptime, DHCP clients).
  • GUI to set the MoodleBox date and time.
  • GUI to set the MoodleBox password.
  • GUI to set the MoodleBox Wi-Fi network password.
  • GUI to restart and shutdown the MoodleBox.

Availability

The code is available at https://github.com/martignoni/moodle-tool_moodlebox.