IRODS: Getting Started
Jump to navigation
Jump to search
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
$ 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 to IRODS