Skip to content

Deploying Open eClass

Introduction

Open eClass is an open-source e-learning platform designed for educational institutions to deliver online courses and manage learning activities. Developed by the Greek Universities Network (GUNet), Open eClass has been used by universities and educational organizations across Europe and beyond since 2003.

Built with PHP and MySQL, Open eClass provides a complete Learning Management System (LMS) with tools for course creation, content delivery, student assessment, and collaboration. The platform supports the SCORM standard for importing and sharing learning content.

Key features of Open eClass include:

  • Course Management: Create and organize courses with modular content structures
  • Document Repository: Upload and manage course materials, documents, and multimedia
  • Assignments: Create assignments with deadlines and automated grading support
  • Quizzes and Tests: Multiple question types with time limits and randomization
  • Discussion Forums: Threaded discussions for course communication
  • Video Integration: Support for video lectures and streaming
  • Learning Paths: Sequential course content with completion tracking
  • Gradebook: Track and manage student grades
  • Calendar: Course events and deadlines calendar
  • Statistics: Detailed usage and progress analytics
  • SCORM Support: Import SCORM-compliant learning packages
  • Multi-Language: Available in multiple languages

This guide walks through deploying Open eClass on Klutch.sh using Docker.

Why Deploy Open eClass on Klutch.sh

Deploying Open eClass on Klutch.sh provides reliable e-learning infrastructure:

Accessible Learning: Students can access courses from anywhere with internet connectivity.

Persistent Storage: Store course materials, student submissions, and grades with persistent volumes.

HTTPS by Default: Secure access to your learning platform with automatic SSL certificates.

Scalable Resources: Handle increased load during exam periods or course enrollments.

Custom Domains: Use your institution’s domain for professional branding.

Prerequisites

Before deploying Open eClass on Klutch.sh, ensure you have:

Deploying Open eClass on Klutch.sh

    Set Up Your Database

    Deploy a MySQL or MariaDB database on Klutch.sh or use an external database service.

    Create Your Dockerfile

    Create a Dockerfile in your repository:

    FROM php:8.1-apache
    # Install PHP extensions and dependencies
    RUN apt-get update && apt-get install -y \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    libzip-dev \
    libicu-dev \
    unzip \
    git \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install gd mysqli pdo pdo_mysql intl zip
    # Enable Apache modules
    RUN a2enmod rewrite
    # Download Open eClass
    WORKDIR /var/www/html
    RUN git clone https://github.com/gunet/openeclass.git .
    # Set permissions
    RUN chown -R www-data:www-data /var/www/html \
    && chmod -R 755 /var/www/html
    EXPOSE 80
    CMD ["apache2-foreground"]

    Push to GitHub

    Commit and push your Dockerfile to your GitHub repository.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project.

    Create and Configure the App

    Create a new app and connect it to your GitHub repository.

    Configure HTTP Traffic

    Set the traffic type to HTTP with an internal port of 80.

    Set Environment Variables

    Configure your deployment:

    VariableDescription
    DB_HOSTDatabase hostname
    DB_USERDatabase username
    DB_PASSWORDDatabase password
    DB_NAMEDatabase name

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /var/www/html/courses50+ GBCourse files and materials
    /var/www/html/video100+ GBVideo content
    /var/www/html/config100 MBConfiguration files

    Deploy Your Application

    Click Deploy to build and launch your Open eClass instance.

    Complete Installation

    Access your deployment and complete the web-based installation wizard.

Additional Resources