|
1 | 1 | 
|
2 | 2 |
|
3 |
| -## Unity Cluster Web Portal ## |
4 |
| - |
5 |
| -### Installation ### |
| 3 | +# Unity Web Portal |
| 4 | +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: |
| 5 | +* Automation of LDAP object/user creation with SSH public key configurations |
| 6 | +* Custom user group creation in LDAP |
| 7 | +* Cluster notices |
| 8 | +* Content Management |
| 9 | +* Modularity for external websites |
| 10 | +* Automatic emails to admins/emails |
| 11 | +* Robust branding customization |
| 12 | +* Custom user options |
| 13 | +* Featured admin panel |
| 14 | +* Many more features, and more to come! |
| 15 | + |
| 16 | +## Installation/Deployment |
6 | 17 | 1. Web server prerequisites
|
7 | 18 | 1. Accessible OpenLDAP server
|
8 | 19 | 1. Accessible MySQL / MariaDB server
|
|
14 | 25 | 1. Composer packages
|
15 | 26 | 1. `cd` to this repository
|
16 | 27 | 1. Install packages `composer update`
|
17 |
| -1. Setup config file `resources/config.ini` according to site |
| 28 | +1. Setup config file `config/config.ini` according to your site deployment |
18 | 29 | 1. Point your web server's document root to `webroot` in this repo
|
19 | 30 |
|
20 |
| -### Directory Structure ### |
21 |
| -* `/webroot` - Public root of the website (http document root) |
22 |
| -* `/resources` - Private directory containing php files not necessary to be public. |
23 |
| - |
24 |
| -The unity/webroot directory should be the **only** publicly accessible location (DocumentRoot in htdocs). The resources directory contains many php scripts that are referenced absolutely in the config. |
25 |
| - |
26 |
| -### Server Setup ### |
27 |
| -This website has a public and private interface. The private interface is authenticated using a shibboleth SP. The following files/directories must be behind a shibboleth SP (configured through apache). |
28 |
| -* `/panel` |
29 |
| -* `/admin` for admins only |
30 |
| - |
31 |
| -### Contributing ### |
32 |
| - |
33 |
| -First, fork this repo, then see the readme in `tools/docker-dev/README.md` to see how to set up a dev environment on your local machine from your fork. |
34 |
| - |
35 |
| -Branch names correspond to version numbers. All commits should be merged via PRs to the version branches during development. Once a version is released the branch cannot be updated. |
| 31 | +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. |
36 | 32 |
|
37 |
| -Be sure to update `CHANGELOG` with any changes by version. |
| 33 | +## Web Server Setup |
| 34 | +External to this codebase, you must configure authentication using your web server. You must retrict the following: |
| 35 | +* `/panel` - users who are signed in |
| 36 | +* `/admin` - admins who are signed in |
0 commit comments