Server Requirements

Software Requirements

Software requirements for Elentra are relatively straight forward. It can run on anything from a Raspberry Pi to a load-balanced scalable cloud computing environment. In the simplest form, it requires a Linux, Apache, MariaDB, and PHP (LAMP) software stack.

Category

Requirement

Notes

Linux

  • Enterprise Linux 7 or 8

  • Ubuntu 20.04 or 22.04

Most of our documentation references Enterprise Linux (e.g., Rocky, CentOS, RHEL).

Apache

2.4+

MariaDB

10.1+ (10.4 recommended)

MySQL 5.7+ and other commercial flavors are also fully supported.

PHP

8.0

Support Information

  • Although Elentra may run on other distributions not listed above, if not supported, unknown issues may occur, and issues specific to the unsupported distributions may not be addressed to the same level as with supported distributions

  • PHP 7.4 is no longer supported as of Elentra ME 1.25.

  • PHP 7.3 is no longer supported as of Elentra ME 1.21.

  • PHP 7.2 is no longer supported as of Elentra ME 1.17.

If you require assistance with upgrading, please contact the Elentra Consortium team.

Virtual Servers

Minimum Instances

At a minimum we would recommend at least two separate virtual server instances to run Elentra ME:

  1. Production App Server

  2. Primary Database Server

These instances could be combined into a single server instance if Elentra use is limited or is for administrative purposes only. We generally recommend separating application server and database server duties for performance purposes under moderate to heavy use.

If you are allowing students, faculty, and staff to log into your Elentra environment, measures should be taken to ensure a quality experience for your users. Part of a quality user experience is not only the implementation of a proper Software Development Life-Cycle but also a robust and reliable server environment.

We recommend the following environments be configured to run Elentra ME:

Architecture Diagram

Server Requirements

Production App Server

The production application server will store and serve the latest deployed version of your branded Elentra ME application.

Naming Suggestions

  • elentra.med.university.edu

  • your-own-brand.med.university.edu

  • 4 or 8 vCPU

  • 12GB+ Memory

  • 750GB of disk space

Network

The production application server should have a publicly accessible IP address. Elentra APIs are utilized by mobile devices, calendar / RSS applications, and more. Firewall rules should be in place to only allow TCP traffic over ports 80 and 443 from the Internet.

Staging App Server

The staging application server will provide your developers and QA technicians a place to test pending software changes in an environment that very closely matches the production application server.

Naming Suggestions

  • staging.med.university.edu

  • elentra-uat.med.university.edu

  • 2 or 4 vCPU

  • 4GB+ Memory

  • 100GB of disk space

Network

The staging application server does not necessarily require publicly accessible IP address. Firewall rules should be in place to only allow TCP traffic over ports 80 and 443 from local user networks or the Internet if desired.

Primary Database Server

The primary database server stores almost all of your Elentra installation's data with the exception of uploaded files, which are stored directly on the filesystem of the production application server.

Naming Suggestions

  • db01.med.university.edu

  • 4 or 8 vCPU

  • 12GB+ Memory

  • 100GB of disk space

Network

The primary database server does not need a public IP address. It only needs to be accessible by the Production Application Server, and possibly the Staging Application Server, over TCP port 3306. Ideally, your database servers would reside on an isolated network vLAN.

Replicant Database Server

By configuring a replicant database server you are helping to ensure data integrity in the event of a hardware or server failure. MariaDB very easily supports a primary + replicant database server configuration.

Naming Suggestions

  • db02.med.university.edu

  • 2 or 4 vCPU

  • 4GB+ Memory

  • 100GB of disk space

Network

The replicant database server does not need a public IP address. It only needs to be accessible by the Production Application Server, and possibly the Staging Application Server, over TCP port 3306. Ideally, your database servers would reside on an isolated network vLAN.

Project Server

The Elentra Consortium uses GitHub private repositories to support our collaborative development mission. Your institutional Elentra ME installation should have it's own project server to call home. Required features of a project server include the ability to host multiple projects, create and permission associated Git repositories, track Issues, and store documentation.

Software Suggestions

  • GitLab

  • Bitbucket

  • GitHub Enterprise

Naming Suggestions

  • projects.med.university.edu

  • source.med.university.edu

  • 2 or 4 vCPU

  • 4GB+ Memory

  • 100GB of disk space

Network

Your project server stores a lot of important information including your source code, software configuration, and potentially credentials such as database connection information. It is not recommended that your project server be accessible outside of your local network.

Containers

Containerization through ecosystems such as Docker is increasingly becoming an industry standard. The Elentra Consortium community utilizes a Docker-based development and testing environment called elentra-developer, but few consortium members are using containerization for production environments at this time.

For more information on Docker, please see our Docker resources.

Last updated