Installation

System Preparation #

NiDB is designed to run on CentOS 8. Running on other Linux distributions may work, but is not guaranteed. Separating the database/website/data servers are possible. NiDB has not been tested to work alongside other websites or database systems. Installing NiDB may alter existing programs and prevent their function. It is recommended to install NiDB on a dedicated server.

Hardware #

More RAM, faster hard drive(s), and more CPU cores are all beneficial when querying data or performing analysis. There are no minimum specifications. If the hardware can run CentOS 8, then it should be able to run NiDB.

Operating System #

Install CentOS 8 using the default options, with GUI. Running firefox locally is necessary to complete the setup. This can be run through VNC if direct access to the system is not possible. Root access is required to install NiDB. Several system packages will be installed to support NiDB, including MariaDB, Apache, and PHP.

Install FSL #

FSL is required by NiDB, but must be installed separately due to licensing requirements. Install FSL from https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation and note the location of the binary installation. The installation location might be something like /usr/local/fsl/bin.

  1. Visit https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation and download the CentOS 8 version of FSL. Registration and agreeing to the license will be required
  2. Install python2.7 (as root)
  3. wget https://fsl.fmrib.ox.ac.uk/fsldownloads/fslinstaller.py # this may work
  4. yum install python2
  5. python2 fslinstaller.py

Install firejail #

NiDB relies on firejail to do sandboxing for the mini-pipeline system. The mini-pipeline system runs arbitrary user-defined scripts, and must be sandboxed to prevent accidental or intentional system errors. Download firejail from https://firejail.wordpress.com/ and follow the installation instructions.

  1. Download the firejail current .rpm
  2. Install (as root) rpm -i firejail-x.y.z.rpm

Install NiDB #

ImageMagick is required by NiDB, but is not included in the default yum repositories of CentOS 8. The following command will enable the repository using yum.

yum install epel-release

For new installations: Run the MariaDB secure installation script using the following command. Follow the instructions to setup MariaDB, using the suggested settings. By this point in the install the password should be ‘password’. Due to a bug in the script below, don’t attempt to change the root password here. This can be done later after the installation is complete.

> sudo mysql_secure_installation
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

Finish Setup #

Complete the setup by launching Firefox and going to http://localhost/setup.php Note: setup.php will only be accessible from the same server that the webserver is running on. The list of IP addresses allowed to access setup.php can be changed by manually editing the nidb.cfg file and changing the setupips variable.

Firefox can also be launched by typing the command

firefox http://localhost/setup.php

After setup is complete, you should be able to navigate to http://localhost and login as ‘admin’ with password of ‘password’

Extra Software #

PhpMyAdmin is an extremely useful tool to manage the SQL database which NiDB uses. Download it from http://phpmyadmin.net. Basically unzip the downloaded file into /var/www/html/ and rename the unzipped directory to phpMyAdmin. It will then be available from http://localhost/phpMyAdmin.

Usernames and Passwords #

Default usernames and passwords created by the install process are as follows:

 UsernamePassword
(Linux)nidbpassword
MariaDBrootpassword
MariaDBnidbpassword
NiDBadminpassword

It is important to change passwords after the installation. Change passwords using the following methods.

Linux #

To change the Linux nidb user account password, perform the following from the command line

As root user: passwd nidb

As nidb user: passwd

MariaDB #

The easiest method is to change MariaDB passwords is from within phpMyAdmin. 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 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.

NiDB #

To change the admin password with NiDB, go to My Account, and enter a new password in the password field(s). Click Save to change the password.

Powered by BetterDocs