Best of Linux

Best Self-Hosted Learning Management Systems (LMS)

Prior to the digital era, classes were restricted to lectures whose availability to the general public ranged from okay to abysmal. Fortunately, the times have changed and it’s now easier than ever to access high-quality educational content from the most prestigious universities in the world and independent educators with a passion for sharing knowledge. In fact, the e-learning market worldwide is forecast to surpass $243 billion by 2022, and learning management systems (LMS) are a major driver of this growth.

LMSs are software applications that provide a range of tools for the delivery and management of educational courses and training programs—traditional, mixed, and purely online. Teachers often use LMSs to deliver material to their students, track student progress, and manage record-keeping. Some LMSs can be used to deliver fully online courses similar to those you may already be familiar with from sites like Coursera or Udemy.

Regardless of whether you’re an educational institution or an independent educator, our selection of best self-hosted learning management systems is here to help you spread knowledge to people around the world.

Open edX

edX is a popular provider of massive open online courses. It was created in 2012 by the Massachusetts Institute of Technology and Harvard University. Today, edX has over 15 million users, and its courses cover a broad range of subjects that include computer science, business and management, language, engineering, data and statistics, humanities, and others.

EdX runs on Open edX, which is an open source platform software developed by edX. Open edX is based on Python, with Django as the web application framework, and it’s used by many higher-education institutions around the world to provide massive open online courses.

Open edX consists of several largely independent components. There is the Open edX LMS, which is the tool that learners use to access all the course content and interact with the course. To help educators create online courses, Open edX also comes with Open edX Studio, a tool that makes it easy to create courses, set grading policies, and manage the course schedule.

There are several ways how to install Open edX. If you’re a tinkerer and would like to manage an Open edX installation yourself, the self-hosted installation option is ideal for you. In the second part of this article, we explain in detail how to install Open edX on Ubuntu, so feel free to scroll down if you already feel that Open edX is the right learning management system for you.


First released in 2002, Moodle is a tried and tested open source learning management system written in PHP and distributed under the GNU General Public License. Moodle provides educators with a single robust, secure, and integrated learning management system based on proven pedagogical principles and supported by a global community of over 90 million users.

The Moodle community is translating this LMS into almost all languages around the world. Moodle is provided with no licensing fees, and anyone is allowed to adapt the software to fit their needs. One major advantage of Moodle over many other learning management systems is the fact that Moodle can be effortlessly scaled from just a few students to millions. Enabling and disabling core features takes no time, and there are many freely available plugins and add-ons ready to make this excellent LMS even better.


Unlike Moodle, Sakai is built on Java and, while open source, the only people who are allowed to contribute to the project are key stakeholders and commercial affiliates. Sakai’s target audience is the global academic community, and the learning management system is developed with the needs of higher education providers in mind.

Sakai has a modern user interface that has been designed from the ground up to be responsive, mobile-ready, and powerful. It works just as great on mobile devices as it does on desktop computers, and it incorporates Bootstrap and Font Awesome libraries, making it very easy for developers to customize it.Canvas

Canvas by Instructure is a learning management system designed with the needs of 21st century students and educators in mind. While a commercial product at its core, Canvas can be used for free by individual teachers as a self-hosted solution. Only enterprises and other entities that would like to use Canvas for commercial purposes are required to pay for a license.

Because Canvas is built using Ruby, it’s slightly more complicated to install than Open edX or Moodle. On the other hand, Canvas is extremely intuitive to use, which is why it’s especially popular among students, who appreciate that it makes their lives easier and not harder.


LearnDash is a powerful learning management system for WordPress, which means that installing it could hardly be any easier. LearnDash is especially popular among internet entrepreneurs, who use it to sell online courses. With built-in support for PayPal, Stripe, 2Checkout, and 300 other payment gateways thanks to its integration with WooCommerce, LearnDash makes it possible to spread knowledge and made a good living doing so at the same time.

Part of LearnDash is an intelligent course builder with eight question types, custom messages, question banks, and much more. Each course, lesson, or quiz can be based on prerequisites, and award points can be given for completing courses to provide extra motivation.

How to Install and Configure Open edX

Open edX using just a few scripts:

  1. Set the OPENEDX_RELEASE variable: export OPENEDX_RELEASE=the-tag/you-want-to-install
  2. Bootstrap the Ansible installation: wget$OPENEDX_RELEASE/util/install/ -O – | sudo bash
  3. Randomize the passwords: wget$OPENEDX_RELEASE/util/install/ -O – | bash
  4. Install Open edX: wget$OPENEDX_RELEASE/util/install/ -O – | bash

For more detailed instructions on how to install Open edX, visit this page.


Creating an online course and publishing it on the internet for the whole world is easier than ever thanks to modern learning management systems. If you consider yourself to be an expert on something, you should consider installing one the above-recommended LMSs on your server. As we’ve demonstrated, it takes just a few minutes to get started, and you might even be able to turn teaching into a career.

About the author

David Morelo

David Morelo is a professional content writer in the technology niche, covering everything from consumer products to emerging technologies and their cross-industry application