Skip to main content
OpenEduCat logo
Installation Guide

How to Install OpenEduCat on Ubuntu

Step-by-step guide to install OpenEduCat Free Edition on Ubuntu 20.04/22.04 LTS with PostgreSQL, Python dependencies, and Nginx reverse proxy setup.

This guide walks IT administrators through a complete production-ready installation of OpenEduCat on Ubuntu Server. Ubuntu LTS is the recommended deployment platform for OpenEduCat due to its long-term support lifecycle, wide availability on cloud providers (AWS, Azure, Google Cloud, DigitalOcean), and strong community documentation. By the end of this guide, you will have OpenEduCat running behind an Nginx reverse proxy with a systemd service for automatic startup -- a configuration suitable for serving your institution in production. The entire process takes approximately 30-45 minutes for an experienced system administrator. If you prefer a managed deployment, OpenEduCat also offers cloud-hosted plans that eliminate server management entirely.

Prerequisites

  • Ubuntu 20.04 or 22.04 LTS
  • Minimum 4GB RAM (8GB recommended)
  • 20GB free disk space
  • Root or sudo access
  • Internet connection

Installation Steps

Step 1: Update System Packages

$ sudo apt update && sudo apt upgrade -y

Note: Always start with a fully updated system.

Step 2: Install PostgreSQL

$ sudo apt install postgresql postgresql-contrib -y
$ sudo systemctl start postgresql
$ sudo systemctl enable postgresql

Note: PostgreSQL 12+ is required for OpenEduCat.

Step 3: Create Database User

$ sudo -u postgres createuser -s openeducat
$ sudo -u postgres psql -c "ALTER USER openeducat WITH PASSWORD 'your_password';"

Note: Replace your_password with a secure password.

Step 4: Install Python Dependencies

$ sudo apt install python3 python3-pip python3-venv python3-dev -y
$ sudo apt install libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev -y

Step 5: Install wkhtmltopdf

$ sudo apt install wkhtmltopdf -y

Note: Required for PDF report generation.

Step 6: Download OpenEduCat

$ cd /opt
$ sudo git clone https://github.com/openeducat/openeducat_erp.git openeducat

Step 7: Install Python Packages

$ cd /opt/openeducat
$ pip3 install -r requirements.txt

Step 8: Create a Systemd Service

$ sudo nano /etc/systemd/system/openeducat.service

Note: Create a systemd unit file so OpenEduCat starts automatically on boot and can be managed with systemctl commands. Set the User to the openeducat system account, the WorkingDirectory to /opt/openeducat, and the ExecStart to python3 openeducat-bin with your configuration file. This ensures the application restarts automatically after server reboots or unexpected crashes, which is essential for production deployments.

Step 9: Enable and Start the Service

$ sudo systemctl daemon-reload
$ sudo systemctl enable openeducat
$ sudo systemctl start openeducat

Note: The enable command ensures OpenEduCat starts automatically after a server reboot. The daemon-reload command tells systemd to re-read the unit files after creating the new service. Check the service status with sudo systemctl status openeducat to confirm it is running.

Step 10: Install and Configure Nginx as Reverse Proxy

$ sudo apt install nginx -y
$ sudo systemctl enable nginx
$ sudo systemctl start nginx

Note: Configure an Nginx server block to proxy requests from port 80 or 443 to localhost:8069. This provides HTTPS termination, static file caching, and proper connection handling for production use. Use proxy_pass http://127.0.0.1:8069 in your location block and set appropriate proxy headers for X-Forwarded-For and X-Forwarded-Proto. For SSL, use Let's Encrypt with certbot to obtain a free certificate.

Step 11: Verify the Installation

$ curl -I http://localhost:8069
$ sudo systemctl status openeducat
$ sudo systemctl status nginx

Note: Confirm that OpenEduCat responds on port 8069 and that both the application and Nginx services are running. Open your browser and navigate to http://your-server-ip to access the OpenEduCat web interface through the Nginx reverse proxy. The default administrator credentials are admin/admin. Change the password immediately after your first login.

Ready to Transform Your Institution?

See how OpenEduCat frees up time so every student gets the attention they deserve.

Try it free for 15 days. No credit card required.