From 1db53eb1a41815ab5062fba8b79bf046b4ade851 Mon Sep 17 00:00:00 2001 From: "g.j.c.strikwerda@rug.nl" Date: Fri, 26 Oct 2018 14:16:42 +0200 Subject: [PATCH] irods-install --- irods-install | 253 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 irods-install diff --git a/irods-install b/irods-install new file mode 100644 index 0000000..56038a9 --- /dev/null +++ b/irods-install @@ -0,0 +1,253 @@ +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 | ++--------------------------------+ + + + +