Difference between revisions of "IRODS: Getting Started"

From Define Wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 34: Line 34:
 
</nowiki>
 
</nowiki>
  
 +
Create ICAT user and database
 
  <nowiki>
 
  <nowiki>
 
$ sudo su - postgres
 
$ sudo su - postgres
Line 45: Line 46:
  
 
  <nowiki>
 
  <nowiki>
$ sudo yum install install irods-server irods-database-plugin-postgres
+
$ sudo yum install install irods-server-4.2.7 irods-database-plugin-postgres-4.2.7
 
$ sudo python  /var/lib/irods/scripts/setup_irods.py
 
$ sudo python  /var/lib/irods/scripts/setup_irods.py
  
Line 98: Line 99:
 
$ iadmin mkresc ufs0 unixfilesystem `hostname`:/tmp/irods/ufs0
 
$ iadmin mkresc ufs0 unixfilesystem `hostname`:/tmp/irods/ufs0
 
$ iput foo # Write to IRODS
 
$ iput foo # Write to IRODS
$ iget foo # Read to IRODS
+
$ iget foo # Read from IRODS
  
 
</nowiki>
 
</nowiki>

Latest revision as of 12:54, 6 July 2020

The latest release of IRODS is 4.2.8. However, it is preferable to download and install 4.2.7 as some of the plugins needed for additional features in IRODS are only available up to 4.2.7 release.

Enable repositories

$ sudo yum install epel-release wget
$ sudo rpm --import https://packages.irods.org/irods-signing-key.asc
$ wget -qO - https://packages.irods.org/renci-irods.yum.repo | sudo tee /etc/yum.repos.d/renci-irods.yum.repo


Set up Postgresql

  • Mysql can also be used instead of Postgres
$ yum install postgresql-server postgresql-contrib
$ sudo postgresql-setup initdb

Edit pg_hba.conf according to preferred authentication

$ cat /var/lib/pgsql/data/pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            password
# IPv6 local connections:
host    all             all             ::1/128                 password


$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql

Create ICAT user and database

$ sudo su - postgres
postgres$ psql
psql> CREATE USER irods WITH PASSWORD 'testpassword';
psql> CREATE DATABASE "ICAT";
psql> GRANT ALL PRIVILEGES ON DATABASE "ICAT" TO irods;

Set up IRODS

$ sudo yum install install irods-server-4.2.7 irods-database-plugin-postgres-4.2.7
$ sudo python  /var/lib/irods/scripts/setup_irods.py


setup_irods.py is a user-interactive script to set up IRODS. Choose default options, unless a modification is required in your environment.


Service Account Name
Service Account Group
Catalog Service Role : provider

ODBC Driver
Database Server's Hostname or IP
Database Server's Port
Database Name
Database User
Database Password : testpassword
Stored Passwords Salt

Zone Name
Zone Port
Parallel Port Range (Begin)
Parallel Port Range (End)
Control Plane Port
Schema Validation Base URI
iRODS Administrator Username

zone_key : TEMPORARY_ZONE_KEY
negotiation_key : 32_byte_server_negotiation_key__
Control Plane Key : 32_byte_server_negotiation_key__
iRODS Administrator Password
Vault Directory

Alternatively, setup_irods.sh can be run without user interaction using a json file or an input file as below:

$ sudo python  /var/lib/irods/scripts/setup_irods.py < /var/lib/irods/packaging/localhost_setup_postgres.input


Test IRODS environment

$ sudo su - irods
$ ienv # Show IRODS environment config
$ ils # See files present in IRODS filesystem

Add resources to IRODS

$ iadmin mkresc ufs0 unixfilesystem `hostname`:/tmp/irods/ufs0
$ iput foo # Write to IRODS
$ iget foo # Read from IRODS