Best Practices in Moodle Administration provides tips for optimizing Moodle performance and uptime. The presentation recommends establishing change management processes, using monitoring tools, automating user management, and following security best practices. It also demonstrates hands-on techniques for backups, debugging issues, and customizing themes.
1 of 45
More Related Content
Best practices in Moodle administration Monatana Moot 2014
2. Background and Context
Managed thousands of Moodle sites
Managed millions of Moodle user accounts
Over 10 years experience with Moodle
Tuning, scalability, and performance expert
Author of Moodle Module Development
3. Format
Variety of tips / tricks
Learn the possibilities
Some hands on
Ask questions!
Share your tips
4. Getting to Know You
How many new admins?
How many running Moodle 2.5? Moodle
2.6? Moodle 2.7?
Anyone running Moodle older than 2.5?
Any Moodle 1.9 sites?
Are you a 'geeky admin' or instructional
admin?
5. Getting to Know You
How many host your own Moodle site?
What OS are you running?
What web server are you running?
What database are you running?
What are you hoping to learn today?
6. Outages
80% of failures are bad changes
80% of downtime finding the bad change
7. Moodle Mission Critical?
Use Change Management!
Have a stakeholder change advisory board
Who are our stakeholders?
What should we control?
What causes downtime?
What causes user issues?
8. Hands-on
Forming a Change Advisory Board
Who?
How often?
What are we controlling?
9. Change Management Tips
Control settings management
Control module approval
Control stack changes
Document the how's and why's
Be responsive
Read the Visible Ops book
11. Admin Know Thy Server
Monitoring: Cacti
SNMP monitoring
Round robin log storage
Alerts and Notifications: Nagios
SNMP alert system
Have your servers page or text you!
12.
Linux most used for scalability
Windows lower performance for PHP
apps, but improving
Mac OSX forking performance issue
Apache and MySQL concurrency issue
Platform Selection
13. Performance Tips
PHP Accelerator APC / OPCache
MySQL
Buffers and Query Caching
Use InnoDB
Use MariaDB build
Sessions
Moodle source code location
18. JMeter Benchmarking
Simulates simultaneous user activity
Gathers response and throughput results
Not a browser can't test javascript
Can use to measure +/- of changes
Can use to estimate expected concurrency, but
harder
Moodle 2.6 and onward has builtin integration
19. User Management
Plan ahead Moodle sites grow fast!
Measure twice cut once
Automate
20.
Great combination: LDAP authentication with
external database enrolment
Automate account creation
Enrollment Plug-ins
Automate course creation
Automate teacher assignment
Automate student enrollments
Synchronization scripts
A Better Way Automate!
21.
Automate user creation, course creation and
enrolments
Use LDAP auth + external DB enrolment
Get higher adoption rates from instructors
Instructor can focus more time on teaching less on the
technology
Just-in-Case Model
23. Roles
Avoid changing built in roles
Remember reset defaults option
Know what level to apply roles at
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
25.
Course backups not a full backup!
Disable automated course backups?
Yesterday instance
Backup Elements
Moodle code
Moodledata
Database
Backups Management
26. Hands-on
Make a Moodle backup
Copy Moodle source dir
Copy Moodle data dir
'dump' database to sql file
27.
Use an issue tracker / ticket system
Get a detailed user report
Use Moodle debugger
Reproduce issue
Use search
Google
Moodle tracker
Moodle forums and docs
Finding and Fixing
28. Hands-on
Enable debugging
Site Admin Development
Debugging
Increase debugging level
Enable display
Enable performance info
29. Moodle Issue Tracker
Use notification screen to confirm version
Moodle Issue Tracker
損Vote for bugs
損Set a watch your important bugs
損Store issue ID in your support system
for later reference
損http://tracker.moodle.org
31. 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
Consider long term availability
Consider security
32. Common Plug-in Types
Blocks
Activity modules
Filters
Auth
Enrollment
Local
Themes
33. PhpMyAdmin / Adminer
Useful and powerful, but dangerous
Useful to pull reports not built into Moodle
Change settings not in GUI
Fix Moodle when broken by user error
Reset administrator password if locked out
35. MyODBC
Windows client software
Connect MySQL to desktop applications
Make ad hoc reports in MS Access, Excel,
Open Office, etc.
36. Various Admin Helpers
Moodle debug
General debugging
Performance debugging
phpinfo confirm your php build
iperf test your network
Iostat / sar linux disk usage stats
strace see what a process is doing
37. Security
Security report
Use password salts
User passwords less secure then ever!
Know about password managers like
lastpass and keepass
Don't give web server user write
permissions to Moodle source
38. General Security
Select Enterprise class OS with long term update
support.
Automate updates / have set release schedule
Moodledata outside of web root
Try mod_sec
Consider using weekly stable git for Moodle auto
updates
Consider forced logins
HTTPS logins
39. General Security
Select Enterprise class OS with long term update
support.
Automate updates / have set release schedule
Moodledata outside of web root
Try mod_sec
Consider using weekly stable git for Moodle auto
updates
Consider forced logins
HTTPS logins
40. Hands-on
Run security report
Enable force logins
Show secure logins setting
Show kpass/last pass password manager
Go to Moodle Docs security FAQ
41. 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.
42. Custom themes
Start with a basic theme
Copy existing theme to a new folder name
Prevents upgrades from wiping out
Test on a non-production site
Test with many browsers / screen sizes
45. What we do
Expert advice and eLearning program review
Evangelism and training
Instructional design
Custom development
System tuning
Performance assessment