1. Install Software¶
Open OnDemand uses these packages, among many others.
Ruby 3.0 with rake, bundler, and development libraries
Node.js 18
Some operating systems use Software Collections to satisfy these.
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.1 nodejs:18
sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release
sudo dnf module enable ruby:3.1 nodejs:18
sudo dnf install epel-release
sudo dnf module enable ruby:3.1 nodejs:18
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
sudo dnf install epel-release
sudo dnf module enable ruby:3.1 nodejs:18
sudo subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms
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 ondemandsudo dnf install https://yum.osc.edu/ondemand/3.1/ondemand-release-web-3.1-1.el9.noarch.rpm sudo dnf install ondemandsudo apt install apt-transport-https ca-certificates wget -O /tmp/ondemand-release-web_3.1.1-focal_all.deb https://apt.osc.edu/ondemand/3.1/ondemand-release-web_3.1.1-focal_all.deb sudo apt install /tmp/ondemand-release-web_3.1.1-focal_all.deb sudo apt update sudo apt install ondemandsudo apt install apt-transport-https ca-certificates wget -O /tmp/ondemand-release-web_3.1.1-jammy_all.deb https://apt.osc.edu/ondemand/3.1/ondemand-release-web_3.1.1-jammy_all.deb sudo apt install /tmp/ondemand-release-web_3.1.1-jammy_all.deb sudo apt update sudo apt install ondemandsudo apt install apt-transport-https ca-certificates wget -O /tmp/ondemand-release-web_3.1.2-noble_all.deb https://apt.osc.edu/ondemand/3.1/ondemand-release-web_3.1.2-noble_all.deb sudo apt install /tmp/ondemand-release-web_3.1.2-noble_all.deb sudo apt update sudo apt install ondemandsudo apt install apt-transport-https ca-certificates wget -O /tmp/ondemand-release-web_3.1.1-bookworm_all.deb https://apt.osc.edu/ondemand/3.1/ondemand-release-web_3.1.1-bookworm_all.deb sudo apt install /tmp/ondemand-release-web_3.1.1-bookworm_all.deb sudo apt update sudo apt install ondemandsudo dnf install https://yum.osc.edu/ondemand/3.1/ondemand-release-web-3.1-1.amzn2023.noarch.rpm sudo dnf install ondemand
3. Start services¶
sudo systemctl start httpd sudo systemctl enable httpd
sudo systemctl start apache2 sudo systemctl enable apache2
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!