SlideShare a Scribd company logo
1 of 47
Best Practices in Moodle
Administration
Jonathan Moore
Founder
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
Format
● Variety of tips / tricks
● Learn the possibilities
● Some hands on
● Ask questions!
● Share your tips
Getting to Know You
● How many were in this
session last year?
● Interest in new features in
2.8 / 2.9?
Getting to Know You
● How many new
admins?
● How many running
Moodle 2.6? Moodle
2.7? Moodle 2.8?
● Anyone running
Moodle older than
2.6?
● Any Moodle 1.9
sites?
● Are you a 'geeky
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?
Outages
● 80% of failures are bad changes
● 80% of downtime finding the bad change
Outages
● 80% of failures are bad changes
● 80% of downtime finding the bad change
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?
Hands-on
● Forming a Change Advisory Board
● Who?
● How often?
● What are we controlling?
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
Hands-on
● Local Moodle install
● Moodle.org
– Downloads
– Current builds
– Choose Mac / PC
Admin Know Thy Server
● Monitoring: Cacti / Zennoss
● SNMP monitoring
● Round robin log storage
● Alerts and Notifications: Nagios
● SNMP alert system
● Have your servers page or text you!
●
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
Performance Tips
● PHP Accelerator – APC / OPCache
● MySQL –
– Buffers and Query Caching
– Use InnoDB
– Use MariaDB build
● Sessions
● Moodle source code location
Performance Tweaking
● Memory Budget
● Concurrency
● 5 Things Making Your Site Slow
● Testing
Hands-on
● Visit phpinfo
● Site Administration → Server →
phpInfo
● Confirm PHP version
● Confirm if PHP Accelerator
More Tips
● Batch cron.php runs for multiple Moodles
● Check state of indexes and bigints
● Perform database maintenance
Performance Testing Tools
● Admins
– jMeter
– Apache ab utility
● Devs
– Behat / Sellenium
– XProf
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
User Management
● Plan ahead Moodle sites grow fast!
● Measure twice cut once
● Automate

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!

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
Hands-on
● Bulk upload users with a flat file
● External DB enrollmet setup
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
Hands-on
● Duplicate a role and edit
●
Course backups not a full backup!
●
Disable automated course backups?
●
Yesterday instance
●
Backup Elements
●
Moodle code
●
Moodledata
●
Database
Backups Management
Hands-on
● Make a Moodle backup
– Copy Moodle source dir
– Copy Moodle data dir
– 'dump' database to sql file
●
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
Hands-on
● Enable debugging
● Site Admin → Development →
Debugging
● Increase debugging level
● Enable display
● Enable performance info
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
Hands-on
● Visit issue tracker
● Http://tracker.moodle.org
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
Common Plug-in Types
● Blocks
● Activity modules
● Filters
● Auth
● Enrollment
● Local
● Themes
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
Hands-on
● Install the certificate module
● Install Adminer
MyODBC
 Windows client software
 Connect MySQL to desktop applications
 Make ad hoc reports in MS Access, Excel,
Open Office, etc.
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
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
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
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
Hands-on
● Run security report
● Enable force logins
● Show secure logins setting
● Show kpass/last pass password manager
● Go to Moodle Docs security FAQ
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
 Test on a non-production site
 Test with many browsers / screen sizes
Hands-on
● Change theme
● Open theme settings
● Add image
● Change colors
Questions?
● http://elearningconsultancy.com
● jonathan@elearningconsultancy.com
● Twitter: @moorejon
● Skype: moorejon07
What we do
● Expert advice and eLearning program review
● Evangelism and training
● Instructional design
● Custom development
● System tuning
● Performance assessment

More Related Content

What's hot

Principal Propagation with SAP Cloud Platform
Principal Propagation with SAP Cloud PlatformPrincipal Propagation with SAP Cloud Platform
Principal Propagation with SAP Cloud PlatformGary Jackson MBCS
 
Guided Buying: Exploration and Best Practices
Guided Buying: Exploration and Best PracticesGuided Buying: Exploration and Best Practices
Guided Buying: Exploration and Best PracticesSAP Ariba
 
How Long Does it Take to Create Learning?
How Long Does it Take to Create Learning?How Long Does it Take to Create Learning?
How Long Does it Take to Create Learning?Chapman Alliance
 
Taller Overview sap fiori
Taller Overview sap fioriTaller Overview sap fiori
Taller Overview sap fioriSergio Cannelli
 
The Odoo Ecosystem
The Odoo EcosystemThe Odoo Ecosystem
The Odoo EcosystemOdoo
 
Presentatie Projectmanagement
Presentatie ProjectmanagementPresentatie Projectmanagement
Presentatie ProjectmanagementSpliethoff
 
Effective Online Learning
Effective Online LearningEffective Online Learning
Effective Online Learningarosewlsc
 
SAP NetWeaver BW Powered by SAP HANA
SAP NetWeaver BW Powered by SAP HANASAP NetWeaver BW Powered by SAP HANA
SAP NetWeaver BW Powered by SAP HANASAP Technology
 
PMBOK(R) sixth edition data flow diagrams r2
PMBOK(R)  sixth edition data flow diagrams r2PMBOK(R)  sixth edition data flow diagrams r2
PMBOK(R) sixth edition data flow diagrams r2Kose Jumnichi
 
Project Management Theory
Project Management TheoryProject Management Theory
Project Management TheoryGlen Alleman
 
Implementing AI powered NBO programs exacaster vivacom
Implementing AI powered NBO programs exacaster vivacomImplementing AI powered NBO programs exacaster vivacom
Implementing AI powered NBO programs exacaster vivacomJolita Bernotiene
 
Blended learning in 21st century
Blended learning in 21st centuryBlended learning in 21st century
Blended learning in 21st centuryDr. Sushma H.B
 
Odoo implementation
Odoo implementationOdoo implementation
Odoo implementationOdoo Thaidev
 
How to Write a Business Case: 4 Steps to a Perfect Business Case Template
How to Write a Business Case: 4 Steps to a Perfect Business Case TemplateHow to Write a Business Case: 4 Steps to a Perfect Business Case Template
How to Write a Business Case: 4 Steps to a Perfect Business Case TemplateWorkfront
 

What's hot (20)

Principal Propagation with SAP Cloud Platform
Principal Propagation with SAP Cloud PlatformPrincipal Propagation with SAP Cloud Platform
Principal Propagation with SAP Cloud Platform
 
Mooc in india
Mooc in indiaMooc in india
Mooc in india
 
Guided Buying: Exploration and Best Practices
Guided Buying: Exploration and Best PracticesGuided Buying: Exploration and Best Practices
Guided Buying: Exploration and Best Practices
 
How Long Does it Take to Create Learning?
How Long Does it Take to Create Learning?How Long Does it Take to Create Learning?
How Long Does it Take to Create Learning?
 
Taller Overview sap fiori
Taller Overview sap fioriTaller Overview sap fiori
Taller Overview sap fiori
 
The Odoo Ecosystem
The Odoo EcosystemThe Odoo Ecosystem
The Odoo Ecosystem
 
Moodle - Learning Management System
Moodle - Learning Management SystemMoodle - Learning Management System
Moodle - Learning Management System
 
AXELOS - P3O® - Portfolio, Programme and Project Offices - Foundation
AXELOS - P3O® - Portfolio, Programme and Project Offices - FoundationAXELOS - P3O® - Portfolio, Programme and Project Offices - Foundation
AXELOS - P3O® - Portfolio, Programme and Project Offices - Foundation
 
Presentatie Projectmanagement
Presentatie ProjectmanagementPresentatie Projectmanagement
Presentatie Projectmanagement
 
Effective Online Learning
Effective Online LearningEffective Online Learning
Effective Online Learning
 
PgMP Panel Review (3/3)
PgMP Panel Review (3/3)PgMP Panel Review (3/3)
PgMP Panel Review (3/3)
 
SAP NetWeaver BW Powered by SAP HANA
SAP NetWeaver BW Powered by SAP HANASAP NetWeaver BW Powered by SAP HANA
SAP NetWeaver BW Powered by SAP HANA
 
PMBOK(R) sixth edition data flow diagrams r2
PMBOK(R)  sixth edition data flow diagrams r2PMBOK(R)  sixth edition data flow diagrams r2
PMBOK(R) sixth edition data flow diagrams r2
 
Moodle.ppt
Moodle.pptMoodle.ppt
Moodle.ppt
 
Project Management Theory
Project Management TheoryProject Management Theory
Project Management Theory
 
Implementing AI powered NBO programs exacaster vivacom
Implementing AI powered NBO programs exacaster vivacomImplementing AI powered NBO programs exacaster vivacom
Implementing AI powered NBO programs exacaster vivacom
 
Blended learning in 21st century
Blended learning in 21st centuryBlended learning in 21st century
Blended learning in 21st century
 
Odoo implementation
Odoo implementationOdoo implementation
Odoo implementation
 
PMP Exam Preparation - 200 Questions
PMP Exam Preparation - 200 QuestionsPMP Exam Preparation - 200 Questions
PMP Exam Preparation - 200 Questions
 
How to Write a Business Case: 4 Steps to a Perfect Business Case Template
How to Write a Business Case: 4 Steps to a Perfect Business Case TemplateHow to Write a Business Case: 4 Steps to a Perfect Business Case Template
How to Write a Business Case: 4 Steps to a Perfect Business Case Template
 

Viewers also liked

Moodle Course Creator Certificate 2016
Moodle Course Creator Certificate 2016Moodle Course Creator Certificate 2016
Moodle Course Creator Certificate 2016Elearning Experts LLC
 
4TVirtualCon- Moodle Administration
4TVirtualCon- Moodle Administration4TVirtualCon- Moodle Administration
4TVirtualCon- Moodle AdministrationMiguel Guhlin
 
Moodle 2.2, 2.3 and beyond
Moodle 2.2, 2.3 and beyondMoodle 2.2, 2.3 and beyond
Moodle 2.2, 2.3 and beyondMartin Dougiamas
 
Moodle for Small Business
Moodle for Small BusinessMoodle for Small Business
Moodle for Small BusinessTish Kirkland
 
Moodle_Configuration
Moodle_ConfigurationMoodle_Configuration
Moodle_ConfigurationJunaid Shaikh
 
Moodle explained with lego (short version)
Moodle explained with lego (short version)Moodle explained with lego (short version)
Moodle explained with lego (short version)sarahfrederickx
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best PracitcesJustin Filip
 
Best Practices in Moodle Course Development
Best Practices in Moodle Course DevelopmentBest Practices in Moodle Course Development
Best Practices in Moodle Course Developmentnosh0502
 
Installing moodle on a local machine
Installing moodle on a local machineInstalling moodle on a local machine
Installing moodle on a local machineVag Kats
 
Building a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBuilding a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBas Brands
 
A basic introduction to the Moodle architecture
A basic introduction to the Moodle architectureA basic introduction to the Moodle architecture
A basic introduction to the Moodle architectureTim Hunt
 
Best practices in Moodle Course Design
Best practices in Moodle Course DesignBest practices in Moodle Course Design
Best practices in Moodle Course DesignMichelle Moore
 

Viewers also liked (18)

Moodle Course Creator Certificate 2016
Moodle Course Creator Certificate 2016Moodle Course Creator Certificate 2016
Moodle Course Creator Certificate 2016
 
4TVirtualCon- Moodle Administration
4TVirtualCon- Moodle Administration4TVirtualCon- Moodle Administration
4TVirtualCon- Moodle Administration
 
Moodle 2.2, 2.3 and beyond
Moodle 2.2, 2.3 and beyondMoodle 2.2, 2.3 and beyond
Moodle 2.2, 2.3 and beyond
 
Moodle 2 Overview
Moodle 2 OverviewMoodle 2 Overview
Moodle 2 Overview
 
Moodle for Small Business
Moodle for Small BusinessMoodle for Small Business
Moodle for Small Business
 
Moodle_Configuration
Moodle_ConfigurationMoodle_Configuration
Moodle_Configuration
 
Moodle explained with lego (short version)
Moodle explained with lego (short version)Moodle explained with lego (short version)
Moodle explained with lego (short version)
 
moodle on wamp
moodle on wampmoodle on wamp
moodle on wamp
 
Moodlemoot AU 2013
Moodlemoot AU 2013Moodlemoot AU 2013
Moodlemoot AU 2013
 
Moodle
Moodle Moodle
Moodle
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best Pracitces
 
Best Practices in Moodle Course Development
Best Practices in Moodle Course DevelopmentBest Practices in Moodle Course Development
Best Practices in Moodle Course Development
 
Installing moodle on a local machine
Installing moodle on a local machineInstalling moodle on a local machine
Installing moodle on a local machine
 
Building a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBuilding a Moodle theme with bootstrap
Building a Moodle theme with bootstrap
 
A basic introduction to the Moodle architecture
A basic introduction to the Moodle architectureA basic introduction to the Moodle architecture
A basic introduction to the Moodle architecture
 
Best practices in Moodle Course Design
Best practices in Moodle Course DesignBest practices in Moodle Course Design
Best practices in Moodle Course Design
 
Best Ways of Using Moodle
Best Ways of Using MoodleBest Ways of Using Moodle
Best Ways of Using Moodle
 
Moodle Course Design
Moodle Course DesignMoodle Course Design
Moodle Course Design
 

Similar to Best Practices In Moodle Administration

Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014moorejon
 
Ireland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionIreland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionRemote-Learner UK
 
Extending Moodle Reporting
Extending Moodle ReportingExtending Moodle Reporting
Extending Moodle Reportingmoorejon
 
JMeter performance and scalability in Moodle Montana Moot 2014
JMeter performance and scalability in Moodle Montana Moot 2014JMeter performance and scalability in Moodle Montana Moot 2014
JMeter performance and scalability in Moodle Montana Moot 2014moorejon
 
Moodle performance and stress testing
Moodle performance and stress testingMoodle performance and stress testing
Moodle performance and stress testingmoorejon
 
Ireland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon SessionIreland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon SessionRemote-Learner UK
 
Moodle performance testing presentation - Jonathon Moore
 Moodle performance testing presentation - Jonathon Moore Moodle performance testing presentation - Jonathon Moore
Moodle performance testing presentation - Jonathon MooreIreland & UK Moodlemoot 2012
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master BuilderPhilip Norton
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Per Henrik Lausten
 
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...Blackboard APAC
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetupSyam Sasi
 
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsProper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsDave Stokes
 
Successful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine RankingsSuccessful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine RankingsJoomla Day South Africa
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performanceDavid Monllaó
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Developmentmoorejon
 
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...Dave Stokes
 
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsLinuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsDave Stokes
 
10 tips for continuous integration
10 tips for continuous integration10 tips for continuous integration
10 tips for continuous integrationVladimir Roudakov
 
Joomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteJoomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteRoberto Segura
 

Similar to Best Practices In Moodle Administration (20)

Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014
 
Ireland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionIreland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning Session
 
Extending Moodle Reporting
Extending Moodle ReportingExtending Moodle Reporting
Extending Moodle Reporting
 
JMeter performance and scalability in Moodle Montana Moot 2014
JMeter performance and scalability in Moodle Montana Moot 2014JMeter performance and scalability in Moodle Montana Moot 2014
JMeter performance and scalability in Moodle Montana Moot 2014
 
Moodle performance and stress testing
Moodle performance and stress testingMoodle performance and stress testing
Moodle performance and stress testing
 
Ireland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon SessionIreland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon Session
 
Moodle performance testing presentation - Jonathon Moore
 Moodle performance testing presentation - Jonathon Moore Moodle performance testing presentation - Jonathon Moore
Moodle performance testing presentation - Jonathon Moore
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
 
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetup
 
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsProper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
 
Successful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine RankingsSuccessful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine Rankings
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performance
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Development
 
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
 
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsLinuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
 
Managing Moodle Performance Testing Paul Stevens
Managing Moodle Performance Testing 	Paul StevensManaging Moodle Performance Testing 	Paul Stevens
Managing Moodle Performance Testing Paul Stevens
 
10 tips for continuous integration
10 tips for continuous integration10 tips for continuous integration
10 tips for continuous integration
 
Joomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteJoomla! future #jd14fr keynote
Joomla! future #jd14fr keynote
 

More from moorejon

How to encrypt and protect your moodle site for free with let's encrypt
How to encrypt and protect your moodle site for free with let's encryptHow to encrypt and protect your moodle site for free with let's encrypt
How to encrypt and protect your moodle site for free with let's encryptmoorejon
 
Best new features in moodle 3.1
Best new features in moodle 3.1Best new features in moodle 3.1
Best new features in moodle 3.1moorejon
 
Using moodle badges
Using moodle badgesUsing moodle badges
Using moodle badgesmoorejon
 
Using moodle outcomes and competencies
Using moodle outcomes and competenciesUsing moodle outcomes and competencies
Using moodle outcomes and competenciesmoorejon
 
Git for Moodle Administrators
Git for Moodle AdministratorsGit for Moodle Administrators
Git for Moodle Administratorsmoorejon
 
Introduction To Elis
Introduction To ElisIntroduction To Elis
Introduction To Elismoorejon
 
Securing Your Moodle
Securing Your MoodleSecuring Your Moodle
Securing Your Moodlemoorejon
 
Integrating Moodle With Enterprise Systems
Integrating Moodle With Enterprise SystemsIntegrating Moodle With Enterprise Systems
Integrating Moodle With Enterprise Systemsmoorejon
 

More from moorejon (8)

How to encrypt and protect your moodle site for free with let's encrypt
How to encrypt and protect your moodle site for free with let's encryptHow to encrypt and protect your moodle site for free with let's encrypt
How to encrypt and protect your moodle site for free with let's encrypt
 
Best new features in moodle 3.1
Best new features in moodle 3.1Best new features in moodle 3.1
Best new features in moodle 3.1
 
Using moodle badges
Using moodle badgesUsing moodle badges
Using moodle badges
 
Using moodle outcomes and competencies
Using moodle outcomes and competenciesUsing moodle outcomes and competencies
Using moodle outcomes and competencies
 
Git for Moodle Administrators
Git for Moodle AdministratorsGit for Moodle Administrators
Git for Moodle Administrators
 
Introduction To Elis
Introduction To ElisIntroduction To Elis
Introduction To Elis
 
Securing Your Moodle
Securing Your MoodleSecuring Your Moodle
Securing Your Moodle
 
Integrating Moodle With Enterprise Systems
Integrating Moodle With Enterprise SystemsIntegrating Moodle With Enterprise Systems
Integrating Moodle With Enterprise Systems
 

Recently uploaded

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Recently uploaded (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Best Practices In Moodle Administration

  • 1. Best Practices in Moodle Administration Jonathan Moore Founder
  • 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 were in this session last year? ● Interest in new features in 2.8 / 2.9?
  • 5. Getting to Know You ● How many new admins? ● How many running Moodle 2.6? Moodle 2.7? Moodle 2.8? ● Anyone running Moodle older than 2.6? ● Any Moodle 1.9 sites? ● Are you a 'geeky
  • 6. 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?
  • 7. Outages ● 80% of failures are bad changes ● 80% of downtime finding the bad change
  • 8. Outages ● 80% of failures are bad changes ● 80% of downtime finding the bad change
  • 9. 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?
  • 10. Hands-on ● Forming a Change Advisory Board ● Who? ● How often? ● What are we controlling?
  • 11. 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
  • 12. Hands-on ● Local Moodle install ● Moodle.org – Downloads – Current builds – Choose Mac / PC
  • 13. Admin Know Thy Server ● Monitoring: Cacti / Zennoss ● SNMP monitoring ● Round robin log storage ● Alerts and Notifications: Nagios ● SNMP alert system ● Have your servers page or text you!
  • 14. ● 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
  • 15. Performance Tips ● PHP Accelerator – APC / OPCache ● MySQL – – Buffers and Query Caching – Use InnoDB – Use MariaDB build ● Sessions ● Moodle source code location
  • 16. Performance Tweaking ● Memory Budget ● Concurrency ● 5 Things Making Your Site Slow ● Testing
  • 17. Hands-on ● Visit phpinfo ● Site Administration → Server → phpInfo ● Confirm PHP version ● Confirm if PHP Accelerator
  • 18. More Tips ● Batch cron.php runs for multiple Moodles ● Check state of indexes and bigints ● Perform database maintenance
  • 19. Performance Testing Tools ● Admins – jMeter – Apache ab utility ● Devs – Behat / Sellenium – XProf
  • 20. 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
  • 21. User Management ● Plan ahead Moodle sites grow fast! ● Measure twice cut once ● Automate
  • 22.  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!
  • 23.  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
  • 24. Hands-on ● Bulk upload users with a flat file ● External DB enrollmet setup
  • 25. 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
  • 26. Hands-on ● Duplicate a role and edit
  • 27. ● Course backups not a full backup! ● Disable automated course backups? ● Yesterday instance ● Backup Elements ● Moodle code ● Moodledata ● Database Backups Management
  • 28. Hands-on ● Make a Moodle backup – Copy Moodle source dir – Copy Moodle data dir – 'dump' database to sql file
  • 29. ● 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
  • 30. Hands-on ● Enable debugging ● Site Admin → Development → Debugging ● Increase debugging level ● Enable display ● Enable performance info
  • 31. 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
  • 32. Hands-on ● Visit issue tracker ● Http://tracker.moodle.org
  • 33. 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
  • 34. Common Plug-in Types ● Blocks ● Activity modules ● Filters ● Auth ● Enrollment ● Local ● Themes
  • 35. 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
  • 36. Hands-on ● Install the certificate module ● Install Adminer
  • 37. MyODBC  Windows client software  Connect MySQL to desktop applications  Make ad hoc reports in MS Access, Excel, Open Office, etc.
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. Hands-on ● Run security report ● Enable force logins ● Show secure logins setting ● Show kpass/last pass password manager ● Go to Moodle Docs security FAQ
  • 43. 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.
  • 44. 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. Hands-on ● Change theme ● Open theme settings ● Add image ● Change colors
  • 47. What we do ● Expert advice and eLearning program review ● Evangelism and training ● Instructional design ● Custom development ● System tuning ● Performance assessment