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
- Modules
- mod_authz_groupfile
- mod_headers
- mod_rewrite
- Configuration
AllowOverride All
(to allow.htaccess
configurations)
- Modules
- 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
):
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>
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:
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.
Tip
The login page for supporters has a Jump to JobID
field to quickly access Detailed HTML reports. A simple setup that also allows a quick links to the reports (e.g., llview.fz-juelich.de/<JobID>
) is to add an .htaccess
file in the parent of $LLVIEW_WEB_DATA
(i.e. $LLVIEW_WEB_DATA/../
) with the following configuration:
Installation
- Make sure the dependencies are satisfied
- Get JURI (Jülich Reporting Interface):
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 is coming from LLview Server via the
transferreports
step. These folders must be linked together inside a given parent folder, denoted here by$LLVIEW_WEB_DATA
(defined, for example, by~/system
), that will be made accessible via the web.
Inside $LLVIEW_WEB_DATA
must be placed:
- the data
folder that is copied/synchronized from ${LLVIEW_DATA}/${LLVIEW_SYSTEMNAME}/tmp/jobreport/data
(see how to transfer data from LLview Server),
- and the symbolic links for the JURI pages and scripts. These links can be create using the script linkjuri.sh
provided in $JURI_HOME/utils
:
.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.: