Express guides for Rocky Linux, AlmaLinux, Oracle Linux, and RHEL#
Warning
The express installation instructions cover a minimal configuration without fault tolerance, placing all components on 1 virtual machine.
Important
The operating system must be updated with current patches before work can be performed.
The instructions are given for the case when the virtual machine is connected to the Internet. The instructions use the name testinstallation.local
as the domain name for installation (it should be corrected). In the scripts used for configuration, the string CHANGE_ME
is used as the password (it must be corrected). All actions are performed with the privileges of the root
user.
The Blitz Identity Provider distribution files must be downloaded and extracted to the ~/tmp/blitz
directory before installation on the server (check the correct version in BLITZ_REL
):
export BLITZ_REL=5.18.0
mkdir -p ~/tmp/blitz
wget -q 'https://nc.reaxoft.ru/nextcloud/index.php/s/3W48EBrNXf3R3WC/download?path=%2F'$BLITZ_REL'&files=blitz-'$BLITZ_REL.bin -O ~/tmp/blitz/blitz-$BLITZ_REL.bin
wget -q 'https://nc.reaxoft.ru/nextcloud/index.php/s/3W48EBrNXf3R3WC/download?path=%2F'$BLITZ_REL'&files=resources.zip' -O ~/tmp/blitz/resources.zip
unzip ~/tmp/blitz/resources.zip -d ~/tmp/blitz
find ~/tmp/blitz -name *.sh -o -name *.bin|xargs chmod +x
The list of operating systems for which the instructions are given, and their designation sections:
Rocky 8: Rocky Linux 8;
Alma 8: AlmaLinux 8;
Oracle 8: Oracle Linux 8;
RHEL 8: RHEL 8;
Rocky 9: Rocky Linux 9;
Alma 9: AlmaLinux 9;
Oracle 9: Oracle Linux 9;
RHEL 9: RHEL 9.
JDK#
Install the distribution:
dnf install java-1.8.0-openjdk-devel
Install the distribution:
dnf install java-1.8.0-openjdk-devel
Memcached#
Install the distribution:
dnf install memcached
Start the service:
systemctl enable memcached && systemctl start memcached
Install the distribution:
dnf install memcached
Start the service:
systemctl enable memcached && systemctl start memcached
PostgreSQL#
Install the distribution:
dnf install postgresql
Initialize the DBMS with the command:
postgresql-setup initdb
Add permission in /var/lib/pgsql/data/pg_hba.conf
for the blitz
user to connect to the database:
host blitzdb blitz 127.0.0.1/32 scram-sha-256
Specify the password encryption algorithm in /var/lib/pgsql/data/postgresql.conf
:
password_encryption = scram-sha-256
Start the service:
systemctl enable postgresql && systemctl start postgresql
Connect to the DBMS and perform initial configuration
su - postgres
psql
create database blitzdb;
create user blitz with encrypted password 'CHANGE_ME';
grant ALL PRIVILEGES ON DATABASE blitzdb to blitz;
grant ALL on ALL tables in schema public to blitz;
Return to the root
user shell and execute the scripts for creating and updating the blitzdb
database structure:
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/000-service-tasks.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/001-init-database.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/002-new_pp_columns.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/003-usd_id_table.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/004-usr_auth_table.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/005-usr_agt_table.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/006-usr_htp_hmc_alg.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/007-usr_atr_cfm.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/008-wak.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/009-fix_pp_column.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/010-add_usr_prp.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/011-pp_audit.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/012-geo_to_audit.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/013-tasks.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/014-sec_ch_ua.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/015-5.12.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/016-5.13.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/017-5.15.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/018-5.17.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/019-5.18.0.sql
Install the distribution:
dnf install postgresql-server
Initialize the DBMS with the command:
postgresql-setup –initdb –unit postgresql
Add permission in /var/lib/pgsql/data/pg_hba.conf
for the blitz
user to connect to the database:
host blitzdb blitz 127.0.0.1/32 scram-sha-256
Specify the password encryption algorithm in /var/lib/pgsql/data/postgresql.conf
:
password_encryption = scram-sha-256
Start the service:
systemctl enable postgresql && systemctl start postgresql
Return to the root
user shell and execute the scripts for creating and updating the blitzdb
database structure:
su - postgres
psql
create database blitzdb;
create user blitz with encrypted password 'CHANGE_ME';
grant ALL PRIVILEGES ON DATABASE blitzdb to blitz;
grant ALL on ALL tables in schema public to blitz;
Execute the scripts for creating and updating the blitzdb
database structure:
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/000-service-tasks.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/001-init-database.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/002-new_pp_columns.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/003-usd_id_table.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/004-usr_auth_table.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/005-usr_agt_table.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/006-usr_htp_hmc_alg.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/007-usr_atr_cfm.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/008-wak.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/009-fix_pp_column.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/010-add_usr_prp.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/011-pp_audit.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/012-geo_to_audit.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/013-tasks.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/014-sec_ch_ua.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/015-5.12.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/016-5.13.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/017-5.15.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/018-5.17.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/019-5.18.0.sql
RabbitMQ#
Prepare a configuration file with repositories for RabbitMQ in /etc/yum.repos.d/rabbitmq.repo
:
##
## Zero dependency Erlang
##
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signingkeys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
##
## RabbitMQ server
##
[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmqserver/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
https://github.com/rabbitmq/signingkeys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
Install the distribution:
dnf install rabbitmq-server
Start the service:
systemctl enable rabbitmq-server && systemctl start rabbitmq-server
Prepare a queue for interaction:
rabbitmqctl add_user blitz CHANGE_ME
rabbitmqctl set_permissions blitz ".*" ".*" ".*"
rabbitmq-plugins enable rabbitmq_management
curl -vvk 127.0.0.1:15672/cli/rabbitmqadmin >rabbitmqadmin
chmod +x rabbitmqadmin
./rabbitmqadmin declare exchange name=blitz-tasks-exh type=direct
./rabbitmqadmin declare queue name=blitz-tasks durable=true
./rabbitmqadmin declare binding source="blitz-tasks-exh"
destination_type="queue" destination="blitz-tasks"
routing_key="blitz-tasks"
Prepare a configuration file with repositories for RabbitMQ in /etc/yum.repos.d/rabbitmq.repo
:
##
## Zero dependency Erlang
##
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/9/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signingkeys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
##
## RabbitMQ server
##
[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmqserver/el/9/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
https://github.com/rabbitmq/signingkeys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
Install the distribution:
dnf install rabbitmq-server
Start the service:
systemctl enable rabbitmq-server && systemctl start rabbitmq-server
Prepare a queue for interaction:
rabbitmqctl add_user blitz CHANGE_ME
rabbitmqctl set_permissions blitz ".*" ".*" ".*"
rabbitmq-plugins enable rabbitmq_management
curl -vvk 127.0.0.1:15672/cli/rabbitmqadmin >rabbitmqadmin
chmod +x rabbitmqadmin
./rabbitmqadmin declare exchange name=blitz-tasks-exh type=direct
./rabbitmqadmin declare queue name=blitz-tasks durable=true
./rabbitmqadmin declare binding source="blitz-tasks-exh"
destination_type="queue" destination="blitz-tasks"
routing_key="blitz-tasks"
389 Directory Server#
Install the distribution:
dnf module enable 389-directory-server:stable
dnf install 389-ds-base
Enable automatic startup of the service:
systemctl enable dirsrv.target
Initialize the LDAP directory:
dscreate interactive
Perform the initial directory configuration:
/tmp/blitz/ldap/ldap_init.sh
Install the distribution:
dnf install 389-ds-base
Enable automatic startup of the service:
systemctl enable dirsrv.target
Initialize the LDAP directory:
dscreate interactive
Perform the initial directory configuration:
/tmp/blitz/ldap/ldap_init.sh
Nginx#
Install the distribution:
dnf install nginx
Copy the files for use:
cp /tmp/blitz/nginx/blitz-idp.conf /etc/nginx/conf.d/
cp -R /tmp/blitz/static_errors /usr/share/nginx/html
Enable automatic startup of the service:
systemctl enable nginx
Install the distribution:
dnf install nginx
Copy the files for use:
cp /tmp/blitz/nginx/blitz-idp.conf /etc/nginx/conf.d/
cp -R /tmp/blitz/static_errors /usr/share/nginx/html
Enable automatic startup of the service:
systemctl enable nginx
Blitz Identity Provider services#
Install the distribution package (specify the correct version in the file name and the correct JAVA_HOME
and set of applications to install):
/tmp/blitz/blitz-5.X.X.bin -- -j /usr/lib/jvm/java-1.8.0-openjdk -i "idp console recovery registration"
Create the blitz_param.txt
configuration file with the following content and modify it according to your settings:
DOMAIN=testinstallation.local
MEMCACHED_SERVERS="127.0.0.1"
DB_MODE=PG
PG_HOSTNAME=127.0.0.1
PG_DB_NAME=blitzdb
PG_USER_NAME=blitz
PG_USER_PASSWORD=12ABcd45
Run the Blitz Identity Provider initial setup script with the right path to the blitz_param.txt
file:
/usr/share/identityblitz/blitz-console/bin/configure -f blitz_param.txt
The script will prepare the configuration files, generate and display the Blitz Identity Provider administrator login and password, and generate a password for the key container:
****************************************************************
Your Blitz Identity Provider configured on domain: test.loc
Your Blitz Identity Provider Console available on addresses:
http://testinstallation.local:9001/blitz/console
Administration user credentials of Blitz Console:
username - admin
password - 98aAB0D3f2
Your can change user credentials at file - /usr/share/identityblitz/blitz-config/credentials
Create keystore /usr/share/identityblitz/blitz-config/blitz-keystore.bks and generate:
- JWS(RSA256) keypair - jws_rs256_rsa_default
- AES(AES128) security key - jdbc
Generated password for keystore: BeEBcd2239
****************************************************************
In case of using keys created during the installation phase, restart nginx:
systemctl restart nginx
Add a mapping between the loopback interface address and the domain name specified at installation in /etc/hosts
:
127.0.0.1 localhost.localdomain localhost testinstallation.local
Start the services:
systemctl enable blitz-idp && systemctl start blitz-idp
systemctl enable blitz-console && systemctl start blitz-console
systemctl enable blitz-registration && systemctl start blitz-registration
systemctl enable blitz-recovery && systemctl start blitz-recovery
After successfully completing the installation and configuration of the Blitz Identity Provider, it is possible to connect to the management console using the domain name specified during the installation phase of the distribution, for example, https://testinstallation.local/blitz/console
.
Install the distribution package (specify the correct version in the file name and the correct JAVA_HOME
and set of applications to install):
/tmp/blitz/blitz-5.X.X.bin -- -j /usr/lib/jvm/java-1.8.0-openjdk -i "idp console recovery registration"
Create the blitz_param.txt
configuration file with the following content and modify it according to your settings:
DOMAIN=testinstallation.local
MEMCACHED_SERVERS="127.0.0.1"
DB_MODE=PG
PG_HOSTNAME=127.0.0.1
PG_DB_NAME=blitzdb
PG_USER_NAME=blitz
PG_USER_PASSWORD=12ABcd45
Run the Blitz Identity Provider initial setup script with the right path to the blitz_param.txt
file:
/usr/share/identityblitz/blitz-console/bin/configure -f blitz_param.txt
The script will prepare the configuration files, generate and display the Blitz Identity Provider administrator login and password, and generate a password for the key container:
****************************************************************
Your Blitz Identity Provider configured on domain: test.loc
Your Blitz Identity Provider Console available on addresses:
http://testinstallation.local:9001/blitz/console
Administration user credentials of Blitz Console:
username - admin
password - 98aAB0D3f2
Your can change user credentials at file - /usr/share/identityblitz/blitz-config/credentials
Create keystore /usr/share/identityblitz/blitz-config/blitz-keystore.bks and generate:
- JWS(RSA256) keypair - jws_rs256_rsa_default
- AES(AES128) security key - jdbc
Generated password for keystore: BeEBcd2239
****************************************************************
In case of using keys created during the installation phase, restart nginx:
systemctl restart nginx
Add a mapping between the loopback interface address and the domain name specified at installation in /etc/hosts
:
127.0.0.1 localhost.localdomain localhost testinstallation.local
Start the services:
systemctl enable blitz-idp && systemctl start blitz-idp
systemctl enable blitz-console && systemctl start blitz-console
systemctl enable blitz-registration && systemctl start blitz-registration
systemctl enable blitz-recovery && systemctl start blitz-recovery
After successfully completing the installation and configuration of the Blitz Identity Provider, it is possible to connect to the management console using the domain name specified during the installation phase of the distribution, for example, https://testinstallation.local/blitz/console
.