Skip to content

JURI Installation Instructions

Dependencies

As a Web Portal, most of the dependencies of JURI are placed on the browsers - it should work well at least in all the recent versions of the main ones (Firefox, Chrome and Safari).

The functioning of LLview, however - in particular, how the permissions are set -, has some requirements on the Web Server:

  • Apache
  • PHP

Configuration

Transfer of data from LLview Server

The data to be presented in JURI is generated by the LLview Server and must be copied to some folder to be available on the Web Server.

If necessary, create the folder where the data generated by the LLview server will be copied into (denoted here by $LLVIEW_WEB_DATA):

mkdir $LLVIEW_WEB_DATA
If you want to use the transferreports step described in the LLview Server section, make sure to have the keys in ~/.ssh/authorized_keys. JURI includes the rrsync.pl tool used for copying the data, such that the key can be added as
from="<ip of LLview Server>",command="$JURI_HOME/utils/rrsync.pl -wo $LLVIEW_WEB_DATA",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding <complete public part of the ssh-key>
Connect once to accept the authenticity of the host.

User groups

We use .htgroups and .htaccess files to allow the correct access for the different roles (User, Principal Investigator, Project Admin, Mentor, Admin/Support).

It is therefore important to allow configurations via these files. This is done by adding to the Apache configuration the key:

AllowOverride All

The groups are defined in the file data/sec_files/.htgroups that is generated and copied from the LLview Server.

The absolute path of this file (or relative to the DocumentRoot) is written in the generated .htaccess. For this reason, the folder $LLVIEW_WEB_DATA must be known when they are created. It must be configured in the .llview_server_rc file of LLview Server.

.htaccess

An important configuration used in JURI is provided either from the configuration of server itself (i.e., Apache) or from a specific .htaccess located on the main $LLVIEW_WEB_DATA folder. A template file is given in the repo, with commented out keys to be used for:

  • .htpasswd files
  • LDAP
  • OpenIDConnect (require Apache configuration) Other setups can also be used.

It may be necessary also to adapt the login.php page, which obtains the verified logged user (via $_SERVER['REMOTE_USER'] or $_SERVER['PHP_AUTH_USER']) and compares with the mapping generated by the data from the webservice step of the dbupdate action to generate the respective links on the login page. Note: If the login.php needs to be updated, it may be useful to remove the link created by $JURI_HOME/utils/linkjuri.sh (see below) and copy the file directly.

The top-level .htaccess is also important to define the decompression of the generated .gz files. The provided example in $JURI_HOME/.htaccess contains the relevant configuration.

Installation

  • Make sure the dependencies are satisfied
  • Get JURI (Jülich Reporting Interface):
    git clone https://github.com/FZJ-JSC/JURI.git
    
    This is where the $JURI_HOME should be defined below, and the instructions also use this notation.
  • Link JURI with the data folder: the website (HTML/CSS and JavaScript) are provided by JURI, while the data folder (denoted $LLVIEW_WEB_DATA) is coming from LLview Server via the transferreports step. These folders must be linked together (i.e., symbolic links will be created in $LLVIEW_WEB_DATA) with the script linkjuri.sh provided in $JURI_HOME/utils:
    $JURI_HOME/utils/linkjuri.sh $JURI_HOME $LLVIEW_WEB_DATA
    
  • The access setup of the portal can be done on the .htaccess file on the main folder $LLVIEW_WEB_DATA (i.e., the parent of data/). An example is given in JURI's repo. Note: It is not linked with linkjuri.sh as this file may include sensitive data.
  • The linked folder $LLVIEW_WEB_DATA can then be exposed to external access, e.g.:
    ln -s $LLVIEW_WEB_DATA /srv/www/htdocs/system