Best Practices in Moodle Administration A variety of topics from
Download
Report
Transcript Best Practices in Moodle Administration A variety of topics from
Best Practices in Moodle
Administration
A variety of topics from technical to practical
Jonathan Moore
Vice President
Remote-Learner
Moodle 1.9 Extension Development
Develop your own blocks,
activities, filters, and
organize your content
with secure code
Thoroughly covers key
libraries of Moodle and
best practices to use
them
Explore the Moodle
architectural concepts,
how it is structured, and
how it works
Detailed examples and
Background and Context
Origin of Practices
Nearly 1,000 hosted organizations
Approximately 3 million hosted user
accounts
Dedicated technical and instructional
teams
Using Moodle since 1.0
A variety of topics from technical to
practical for Administrators
Know What is Happening on
Your Server
Monitoring: Cacti
SNMP monitoring
Round robin log storage
Alerts and Notifications: Nagios
SNMP alert system
Have your servers page or text you!
Roles
Do not change built in roles
Know what level to apply roles at
Remember reset defaults option
Admin: global
Course Creator: global, or category
Student, Teacher: course
Know what level capabilities work at
Make new roles by copying most similar
existing role
Easy performance optimizations
Run a PHP accelerator
MySQL
eAccelerator and APC
up to 10x performance improvement
Query caching
Increase buffer sizes
Set Server-> System Paths
Batch cron.php runs for multiple Moodles
Check state of indexes and bigints
A Better Way - Automation
Great combination: LDAP authentication
with external database enrollment
External authentication
Automate account creation
Enrollment Plug ins
LDAP/Active Directory and Database
Automate course creation
Automate teacher assignment
Automate student enrollments
Synchronization scripts
Backups
Recommend against using the internal
automated course backups due to
performance issues.
Internal Moodle Backups not for disaster
recovery
Elements of a Moodle Backup
Moodle software
Moodle data folder
SQL data
Moodle yesterday instance
Platform Selection
Linux most used for scalability
Windows significantly lower performance
for PHP apps
Mac OSX forking performance issue
Apache and MySQL concurrency issue
Issue Tracker
Use notification screen to confirm version
Moodle Issue Tracker
Vote for bugs
Set a Watch your important bugs
phpMyAdmin
Useful and powerful, but dangerous
Useful to pull reports not built into
Moodle
Change settings values not in GUI
Fix Moodle when “broken” by user error
Reset administrator password if locked
out
MyODBC
Windows client software
Connect MySQL to desktop applications
Make ad hoc reports in MS Access,
Excel, Open Office, etc.
Various Other Admin Tools
Moodle debug
General debugging
Performance debugging
phpinfo – confirm your php build
iperf – test your network
iostat – linux disk usage stats
strace – see what a process is doing
Custom Development and
Modules
Don't load modules just because they are
available
Use modules over “hacks”
Use the forums to evaluate modules
Use the author's profile to research the
creator
Security
Select Enterprise class OS with long term
update support. Automate updates
Moodledata outside of web root
Try mod_sec
Consider using weekly stable cvs for
Moodle auto updates
Consider forced logins
HTTPS logins
More Security
Consider turning off self registration
Set the Mysql root user password
See Moodle Docs Security Page
http://docs.moodle.org/en/Security
Email delivery
Make sure you have valid reverse DNS
Make sure you have permission to send
email for primary administrator's email
account
Use email debug to help diagnose
problems.
Custom themes
Start with a basic theme
Copy existing theme to a new folder
name
Prevents upgrades from wiping out
Location and Language
Use geography based time zones over
UTC (for new US daylight savings time)
Set an appropriate default language
language (fix “spelling errors”) default is
UK English
Questions?