UnityHPC / unity-web-portal

A frontend user portal for HPC clusters
GNU General Public License v3.0
9 stars 11 forks source link
hpc ldap php

alt text

Unity Web Portal

Unity Web Portal is a PHP application built in top of MariaDB and LDAP which acts as a central user portal for high-performance-computing clusters. Features include:

Installation/Deployment

  1. Web server prerequisites
    1. Accessible OpenLDAP server
    2. Accessible MySQL / MariaDB server
    3. Accessible SMTP Server
    4. Some HTTP Authentication mechanism (such as Shibboleth SP)
    5. Composer (apt install composer on Ubuntu)
    6. PHP Extensions
      1. php-ldap
      2. php-curl
      3. php-redis
      4. php-cli
      5. php-mysql
      6. php-pdo
  2. Composer packages
    1. cd to this repository
    2. Install packages composer update
  3. Setup config file config/config.ini according to your site deployment
  4. Setup branding file config/branding/config.ini according to your site deployment
  5. Point your web server's document root to webroot in this repo

The scope of this project ends at being responsible for the LDAP user database. We recommend production deployments to set up scripts which detect changes in LDAP and then perform further actions. For example, a script can be used to create Slurm scheduler accounting roles based on the LDAP information created by this website.

Web Server Setup

External to this codebase, you must configure authentication using your web server. You must retrict the following:

Updating

The update process is similar to the installation process:

  1. Clone the release and follow installation instructions 1 and 2 from above.
  2. Copy the following folders from the old installation to the new one:
    1. config
    2. webroot/assets/footer_logos

We recommend a deployment where each version of the portal is its own clone, then just change a symlink to point to the new version. This way a rollback is much easier.

Example folder structure, where -> indicates a symlink:

unity-web-portal
    unity-web-portal -> unity-web-portal-1.1.0
    unity-web-portal-1.0.0-RC1
    unity-web-portal-1.0.0-RC2
    unity-web-portal-1.1.0

Below you will find specific instructions for moving between version:

1.0.0-RC2 > 1.1.0

  1. config/branding/config.ini.default has some new fields that will need to be overriden by the site config if needed:
    1. pi_approve* in the mail section
    2. home in the page section
    3. The entire loginshell section
  2. In SQL db be sure to add the home content management row