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

RHEL or CentOS 7

Red Hat Enterprise Linux or CentOS are our recommended distributions of linux.

Apache

2.4+

MariaDB

10.1+

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

PHP

7.1.3+

PHP must be running as an Apache module at this time.

PHP 5.6 is no longer supported as of Elentra ME 1.13. If you need assistance with upgrading, please contact the Elentra Consortium Core Team.

Virtual Servers

Minimum Instances

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

  1. Production Application 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

Elentra Architecture Diagram - Standard v1.0 : Credit to NUS

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.

Master 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.

Slave Database Server

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

Naming Suggestions

  • db02.med.university.edu

  • 2 or 4 vCPU

  • 4GB+ Memory

  • 100GB of disk space

Network

The slave 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

  • Atlassian Jira + Stash

  • 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 are 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. We look forward to watching as this technology matures and will update our documentation accordingly as member institutions adopt and adapt their stacks.

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