All pages
Powered by GitBook
1 of 5

Loading...

Loading...

Loading...

Loading...

Loading...

Optional software

List of extremely useful, but optional, software to help when using NiDB

phpMyAdmin

phpMyAdmin is not required to use NiDB, but is extremely useful to maintain the SQL database that NiDB uses.

  1. Download latest version of phpMyAdmin from http://phpmyadmin.net/

  2. Unzip the contents of .zip file into /var/www/html/phpMyAdmin

  3. Visit http://localhost/phpMyAdmin

Quick Install

Prerequisites

  1. Hardware - There are no minimum specifications. If the hardware can run RHEL 8, then it can run NiDB.

  2. RHEL 8 compatible - NiDB runs only on RHEL8 compatible (CentOS 8, Rocky Linux 8, AlmaLinux 8).

  3. FSL - Install FSL from https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation After installation, note the location of FSL, usually /usr/local/fsl/bin. Or try these commands to install FSL.

    1. wget https://fsl.fmrib.ox.ac.uk/fsldownloads/fslinstaller.py # this may work

    2. yum install python2

  4. firejail - firejail is used to run user-defined scripts in a sandboxed environment. Install firejail from https://firejail.wordpress.com/

    • rpm -i firejail-x.y.z.rpm

  5. OS packages - yum install epel-release for repo for ImageMagick

Install NiDB

  1. Download the latest .rpm package

  2. yum --nogpgcheck localinstall nidb-xxxx.xx.xx-1.el8.x86_64.rpm

  3. Secure the MariaDB installation by running sudo mysql_secure_installation and using the following responses

  1. Finish Setup - Use Firefox to view http://localhost/setup.php . Follow instructions on the page to configure the server

    • The setup page must be accessed from localhost -or- the config file must be manually edited to include the IP address of the computer you are using the access setup.php.

    • Edit /nidb/nidb.cfg and add your IP address (comma separated list) to the [setupips] config variable. It should look something like

How to change passwords

Default Usernames and Passwords

System
Username
Default Password

MariaDB

root

password

MariaDB

nidb

password

NiDB

admin

password

How to change Linux password

As the root user, run

passwd nidb

-or- as the nidb user, run

passwd

How to change MariaDB passwords

Login to http://localhost/phpMyAdmin using the root MySQL account and password. Go to the User Accounts menu option. Then click Edit privileges for the root (or nidb) account that has a ‘%’ as the hostname. Then click Change password button at the top of the page. Enter a new password and click Go

Changed MariaDB passwords must also be updated in the config file. Use one of the following methods to edit the password

  • Edit /nidb/nidb.cfg to reflect the new password

  • Go to Admin --> Settings in the NiDB website to edit the config variables

How to change NiDB admin password

When logged in to NiDB as admin, go to My Account. Enter a new password in the password field(s). Click Save to change the password.

Linux

nidb

password

python2 fslinstaller.py

[setupips] 127.0.0.1, 192.168.0.1
depending on the IP(s)
    Enter current password for root (enter for none):
    Change the root password? [Y/n] n
    Remove anonymous users? [Y/n] Y
    Disallow root login remotely? [Y/n] Y
    Remove test database and access to it? [Y/n] Y
    Reload privilege tables now? [Y/n] Y

Installation

Detailed installation instructions

Prerequisites

Hardware - There are no minimum specifications. Hardware must be able to run Linux.

Operating system - NiDB runs RHEL 8, RHEL 9 compatible OSes. NiDB does not run on Fedora or CentOS Stream.

NiDB will not run correctly on Fedora, CentOS Stream 8, or RHEL/Rocky 8.6 as they contain a kernel bug. If you have already updated to this version, you can downgrade the kernel or boot into the previous kernel. Kernel 4.18.0-348.12.2.el8_5.x86_64 is known to work correctly.

FSL

FSL is required for MRI QC modules. FSL requires at least 20GB free disk space to install. Download FSL from and follow the installation instructions. After installation, note the location of FSL, usually /usr/local/fsl.

Alternatively, try these commands to install FSL

firejail

firejail is used to run user-defined scripts in a sandboxed environment. This may be deprecated in future releases of NiDB. Install firejail from https://firejail.wordpress.com/

Install NiDB rpm

Download the latest .rpm package from and run the following commands

Run the following commands

Alma Linux

Secure the MariaDB installation by running mysql_secure_installation as root and using the following responses. The MariaDB root password is already set to password.

Finish Setup

Use Firefox to view (or http://servername/setup.php). Follow the instructions on the webpage to configure the server.

If you encounter an error when viewing the Setup page...

  • The setup page must be accessed from localhost.

  • Or the config file must be manually edited to include the IP address of the computer you are using the access setup.php. Add your IP address by editing /nidb/nidb.cfg

1 - Backup SQL database

Copy the mysqldump command and run that on the command line. It should create a .sql file that contains a backup of the database. This is required even for new installations because you should become familiar with, and get int the habit of, backing up the SQL database. After you've backed up the database using mysqldump, refresh the setup page and it should allow you to continue with the setup.

Click Next to continue, and the following page will show the status of Linux packages required by NiDB.

2 - Linux Prerequisites

If there are any missing packages or if a version needs to be updated, it will show here. Install the package and refresh the page. Click Next to continue, and the following page will show the SQL schema upgrade information.

3 - Database connection

Enter the MariaDB root password, which should be password if this is the first installation. The SQL schema will be upgraded using the .sql file listed at the bottom. As your instance of NiDB collects more data, the tables can get very large and tables over 100 million rows are possible. This will cause the setup webpage to time out, so there is an option to skip tables that have more than x rows. This should really only be done if a specific table is preventing the schema upgrade because it so large and you are familiar with how to manually update the schema. The debug option is available to test the upgrade without actually changing the table structure. Click Next to continue, and the following page will perform the actual schema upgrade.

4 - Schema upgrade

If any errors occur during upgrade, they will be displayed at the bottom of the page. You can attempt to fix these, or preferably seek help on the NiDB github support page! Click the red box to dismiss any error messages. Click Next to go to the next page which will show the configuration variables.

5 - Config settings

On this page you can edit variables, paths, name of the instance, email configuration, enable features.

Click Write Config to continue.

The locations of the written config file(s) are noted on this page. nidb-cluster.cfg is meant to be placed on cluster nodes, to allow nidb pipelines running on the cluster to communicate with the main nidb instance and perform check-ins and storing of pipeline results.

Setup should now be complete and you can visit the home page.


MySQL/MariaDB tweaks

Performance changes for large databases

These changes to MySQL/MariaDB can be helpful to improve performance and capability of NiDB

Variables

max_allowed_packet - Change value to 1​073​741​824

slave_max_allowed_packet - Change to 1​073741​824

and add your IP address (comma separated list) to the
[setupips]
config variable. It should look something like
[setupips] 127.0.0.1, 192.168.0.1
depending on the IP(s)
https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation
https://github.com/gbook/nidb/release
http://localhost/setup.php
Beginning the website based setup process. The backup file must exist before setup can continue.
wget https://fsl.fmrib.ox.ac.uk/fsldownloads/fslinstaller.py # this may work
sudo yum install python2
sudo python2 fslinstaller.py
sudo rpm -i firejail-x.y.z.rpm
# add repository to install OpenSSL 1.0
sudo curl -JLo /etc/yum.repos.d/mroche-vfx-compatibility.repo "https://copr.fedorainfracloud.org/coprs/mroche/vfx-compatibility/repo/epel-9/mroche-vfx-compatibility-epel-9.repo"

sudo dnf install epel-release # for ImageMagick
sudo dnf install mysql-libs --enablerepo=devel # for libmysql2.1
sudo yum --nogpgcheck localinstall nidb-xxxx.xx.xx-1.el9.x86_64.rpm

reboot # you must reboot to ensure SELinux is disabled before continuing
sudo dnf install almalinux-release-devel
# add repository to install OpenSSL 1.0
sudo curl -JLo /etc/yum.repos.d/mroche-vfx-compatibility.repo "https://copr.fedorainfracloud.org/coprs/mroche/vfx-compatibility/repo/epel-9/mroche-vfx-compatibility-epel-9.repo"

sudo dnf install epel-release # for ImageMagick
sudo dnf install mysql-libs --enablerepo=crb # for libmysql2.1
sudo yum --nogpgcheck localinstall nidb-xxxx.xx.xx-1.el9.x86_64.rpm

reboot # you must reboot to ensure SELinux is disabled before continuing
sudo dnf install epel-release # for ImageMagick
sudo yum --nogpgcheck localinstall nidb-xxxx.xx.xx-1.el8.x86_64.rpm
> sudo mysql_secure_installation
  
  Enter current password for root (enter for none): password
  Change the root password? [Y/n] n
  Remove anonymous users? [Y/n] Y
  Disallow root login remotely? [Y/n] Y
  Remove test database and access to it? [Y/n] Y
  Reload privilege tables now? [Y/n] Y