1. Install Software

Open OnDemand uses these packages, among many others.

  • Apache HTTP Server 2.4

  • Ruby 3.3 with rake, bundler, and development libraries

  • Node.js 20

Note

This tutorial is run from the perspective of an account that has sudo access but is not root.

Warning

Be sure to check Supported Operating Systems and Architectures before proceeding with install to verify you are on a supported operating system and architecture.

Warning

If you are an administrator responsible for Open OnDemand, you are now an administrator of Apache Httpd as well. As such, you should get comfortable with it as from time to time you will have to troubleshoot it.

1. Enable Dependencies

sudo dnf config-manager --set-enabled powertools
sudo dnf install epel-release
sudo dnf module enable ruby:3.3 nodejs:20

2. Add repository and install

sudo dnf install https://yum.osc.edu/ondemand/3.1/ondemand-release-web-3.1-1.el8.noarch.rpm

sudo dnf install ondemand

3. Start services

sudo systemctl start httpd
sudo systemctl enable httpd

4. Verify installation

Now that Open OnDemand is installed and Apache is running, it should be serving a public page telling you to come back here and setup authentication.

If this is the case - then you need to add authentication. The installation will not move forward without adding authentication.

After adding authentication, but before actually testing that it works, you should secure your Apache. This way you never send credentials over plain HTTP.

You may also want to enable SELinux.

If you’re seeing the default Apache page (Ubuntu & Debian users will) you will have to debug virtualhosts and likely configure a servername.

Building From Source

Building from source is left as an exercise to the reader.

It’s not particularly difficult to build the code, but installing it with all the various files is. Should you be interested, review the Dockerfile and packaging specs for what would be involved.

If you’d like a package built for a system that we don’t currently support, feel free to open a ticket!