docs/irods-install

254 lines
8.4 KiB
Plaintext

irods installation on centos7:
# 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
# yum install irods-server irods-database-plugin-postgres
# yum install postgresql-server
# postgresql-setup initdb
Initializing database ... OK
# systemctl start postgresql
# su - postgres
Last login: Fri Oct 26 11:30:44 CEST 2018 on pts/0
$ psql
psql (9.2.24)
Type "help" for help.
postgres=# CREATE USER irods WITH PASSWORD 'ir0ds';
CREATE ROLE
postgres=# CREATE DATABASE "ICAT";
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE "ICAT" TO irods;
GRANT
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
ICAT | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres+
| | | | | irods=CTc/postgres
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
# python /var/lib/irods/scripts/setup_irods.py
The iRODS service account name needs to be defined.
iRODS user [irods]:
iRODS group [irods]:
+--------------------------------+
| Setting up the service account |
+--------------------------------+
Existing Group Detected: irods
Existing Account Detected: irods
Setting owner of /var/lib/irods to irods:irods
Setting owner of /etc/irods to irods:irods
iRODS server's role:
1. provider
2. consumer
Please select a number or choose 0 to enter a new value [1]:
Updating /etc/irods/server_config.json...
+-----------------------------------------+
| Configuring the database communications |
+-----------------------------------------+
You are configuring an iRODS database plugin. The iRODS server cannot be started until its database has been properly configured.
ODBC driver for postgres [PostgreSQL]:
Database server's hostname or IP address [localhost]:
Database server's port [5432]:
Database name [ICAT]:
Database username [irods]:
-------------------------------------------
Database Type: postgres
ODBC Driver: PostgreSQL
Database Host: localhost
Database Port: 5432
Database Name: ICAT
Database User: irods
-------------------------------------------
Please confirm [yes]:
Database password:
Updating /etc/irods/server_config.json...
Error encountered running setup_irods:
Traceback (most recent call last):
File "/var/lib/irods/scripts/setup_irods.py", line 437, in main
setup_server(irods_config, json_configuration_file=options.json_configuration_file)
File "/var/lib/irods/scripts/setup_irods.py", line 116, in setup_server
database_interface.setup_database_config(irods_config)
File "/var/lib/irods/scripts/irods/database_interface.py", line 176, in setup_database_config
if database_already_in_use_by_irods(irods_config):
File "/var/lib/irods/scripts/irods/database_interface.py", line 73, in database_already_in_use_by_irods
with contextlib.closing(database_connect.get_database_connection(irods_config)) as connection:
File "/var/lib/irods/scripts/irods/database_connect.py", line 218, in get_database_connection
sys.exc_info()[2])
File "/var/lib/irods/scripts/irods/database_connect.py", line 201, in get_database_connection
return pypyodbc.connect(connection_string.encode('ascii'), ansi=True)
File "/var/lib/irods/scripts/irods/pypyodbc.py", line 2452, in __init__
self.connect(connectString, autocommit, ansi, timeout, unicode_results, readonly)
File "/var/lib/irods/scripts/irods/pypyodbc.py", line 2501, in connect
check_success(self, ret)
File "/var/lib/irods/scripts/irods/pypyodbc.py", line 988, in check_success
ctrl_err(SQL_HANDLE_DBC, ODBC_obj.dbc_h, ret, ODBC_obj.ansi)
File "/var/lib/irods/scripts/irods/pypyodbc.py", line 966, in ctrl_err
raise DatabaseError(state,err_text)
IrodsError: pypyodbc encountered an error connecting to the database:
('28000', '[28000] [unixODBC]FATAL: Ident authentication failed for user "irods"')
Exiting...
# vi /var/lib/pgsql/data/pg_hba.conf:
host all all 127.0.0.1/32 md5
# systemctl restart postgresql
# python /var/lib/irods/scripts/setup_irods.py
The iRODS service account name needs to be defined.
iRODS user [irods]:
iRODS group [irods]:
+--------------------------------+
| Setting up the service account |
+--------------------------------+
Existing Group Detected: irods
Existing Account Detected: irods
Setting owner of /var/lib/irods to irods:irods
Setting owner of /etc/irods to irods:irods
iRODS server's role:
1. provider
2. consumer
Please select a number or choose 0 to enter a new value [1]:
Updating /etc/irods/server_config.json...
+-----------------------------------------+
| Configuring the database communications |
+-----------------------------------------+
You are configuring an iRODS database plugin. The iRODS server cannot be started until its database has been properly configured.
ODBC driver for postgres [PostgreSQL]:
Database server's hostname or IP address [localhost]:
Database server's port [5432]:
Database name [ICAT]:
Database username [irods]:
-------------------------------------------
Database Type: postgres
ODBC Driver: PostgreSQL
Database Host: localhost
Database Port: 5432
Database Name: ICAT
Database User: irods
-------------------------------------------
Please confirm [yes]:
Database password:
Updating /etc/irods/server_config.json...
Listing database tables...
Salt for passwords stored in the database:
Updating /etc/irods/server_config.json...
+--------------------------------+
| Configuring the server options |
+--------------------------------+
iRODS server's zone name [tempZone]: testZone
iRODS server's port [1247]:
iRODS port range (begin) [20000]:
iRODS port range (end) [20199]:
Control Plane port [1248]:
Schema Validation Base URI (or off) [file:///var/lib/irods/configuration_schemas]:
iRODS server's administrator username [rods]: irods
-------------------------------------------
Zone name: testZone
iRODS server port: 1247
iRODS port range (begin): 20000
iRODS port range (end): 20199
Control plane port: 1248
Schema validation base URI: file:///var/lib/irods/configuration_schemas
iRODS server administrator: irods
-------------------------------------------
Please confirm [yes]: yes
iRODS server's zone key:
Zone key must be at least 1 character in length.
iRODS server's zone key:
iRODS server's negotiation key (32 characters):
Negotiation key must be exactly 32 characters in length.
iRODS server's negotiation key (32 characters):
Control Plane key (32 characters):
Updating /etc/irods/server_config.json...
+-----------------------------------+
| Setting up the client environment |
+-----------------------------------+
iRODS server's administrator password:
Updating /var/lib/irods/.irods/irods_environment.json...
+--------------------------+
| Setting up default vault |
+--------------------------+
iRODS Vault directory [/var/lib/irods/Vault]:
+-------------------------+
| Setting up the database |
+-------------------------+
Listing database tables...
Creating database tables...
+-------------------+
| Starting iRODS... |
+-------------------+
Validating [/var/lib/irods/.irods/irods_environment.json]... Success
Validating [/var/lib/irods/VERSION.json]... Success
Validating [/etc/irods/server_config.json]... Success
Validating [/etc/irods/host_access_control_config.json]... Success
Validating [/etc/irods/hosts_config.json]... Success
Ensuring catalog schema is up-to-date...
Updating to schema version 2...
Updating to schema version 3...
Updating to schema version 4...
Updating to schema version 5...
Catalog schema is up-to-date.
Starting iRODS server...
Success
+---------------------+
| Attempting test put |
+---------------------+
Putting the test file into iRODS...
Getting the test file from iRODS...
Removing the test file from iRODS...
Success.
+--------------------------------+
| iRODS is installed and running |
+--------------------------------+