Rocky Linux, AlmaLinux, Oracle Linux и RHEL#
Важно
См. ограничения при использовании экспресс-инструкций.
Список ОС, для которых приведены инструкции по установке, и их обозначение в данном разделе:
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.
Шаг 1. JDK#
Установить дистрибутив:
dnf install java-11-openjdk-devel
Установить дистрибутив:
dnf install java-11-openjdk-devel
Шаг 2. Memcached#
Установить дистрибутив:
dnf install memcached
Запустить службу:
systemctl enable memcached && systemctl start memcached
Установить дистрибутив:
dnf install memcached
Запустить службу:
systemctl enable memcached && systemctl start memcached
Шаг 3. PostgreSQL#
Установить дистрибутив:
dnf install postgresql
Инициализировать СУБД командой:
postgresql-setup initdb
Добавить разрешение в /var/lib/pgsql/data/pg_hba.conf
на подключение к БД пользователю blitz
:
host blitzdb blitz 127.0.0.1/32 scram-sha-256
Указать алгоритм шифрования паролей в /var/lib/pgsql/data/postgresql.conf
:
password_encryption = scram-sha-256
Запустить службу:
systemctl enable postgresql && systemctl start postgresql
Подключиться к СУБД и провести первичную настройку
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;
Вернуться в shell пользователя root
и выполнить скрипты создания и обновления структуры БД blitzdb
:
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
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/020-5.20.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/021-5.21.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/022-5.23.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/023-5.26.0.sql
Установить дистрибутив:
dnf install postgresql-server
Инициализировать СУБД командой:
postgresql-setup –initdb –unit postgresql
Добавить разрешение в /var/lib/pgsql/data/pg_hba.conf
на подключение к БД пользователю blitz
:
host blitzdb blitz 127.0.0.1/32 scram-sha-256
Указать алгоритм шифрования паролей в /var/lib/pgsql/data/postgresql.conf
:
password_encryption = scram-sha-256
Запустить службу:
systemctl enable postgresql && systemctl start postgresql
Вернуться в shell пользователя root
и выполнить скрипты создания и обновления структуры БД blitzdb
:
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;
Выполнить скрипты создания и обновления структуры БД blitzdb
:
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
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/020-5.20.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/021-5.21.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/022-5.23.0.sql
psql -U blitz -h 127.0.0.1 blitzdb -f ~/tmp/blitz/postgres/ddl/023-5.26.0.sql
Шаг 4. RabbitMQ#
Подготовить конфигурационный файл с репозиториями для RabbitMQ в /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
Установить дистрибутив:
dnf install rabbitmq-server
Запустить службу:
systemctl enable rabbitmq-server && systemctl start rabbitmq-server
Подготовить очередь для взаимодействия:
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"
Подготовить конфигурационный файл с репозиториями для RabbitMQ в /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
Установить дистрибутив:
dnf install rabbitmq-server
Запустить службу:
systemctl enable rabbitmq-server && systemctl start rabbitmq-server
Подготовить очередь для взаимодействия:
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"
Шаг 5. 389 Directory Server#
Установить дистрибутив:
dnf module enable 389-directory-server:stable
dnf install 389-ds-base
Включить автоматический запуск службы:
systemctl enable dirsrv.target
Инициализировать LDAP-каталог:
dscreate interactive
Выполнить первичную настройку каталога:
/tmp/blitz/ldap/ldap_init.sh
Установить дистрибутив:
dnf install 389-ds-base
Включить автоматический запуск службы:
systemctl enable dirsrv.target
Инициализировать LDAP-каталог:
dscreate interactive
Выполнить первичную настройку каталога:
/tmp/blitz/ldap/ldap_init.sh
Шаг 6. Nginx#
Установить дистрибутив:
dnf install nginx
Скопировать файлы для использования:
cp /tmp/blitz/nginx/blitz-idp.conf /etc/nginx/conf.d/
cp -R /tmp/blitz/static_errors /usr/share/nginx/html
Включить автоматический запуск службы:
systemctl enable nginx
Установить дистрибутив:
dnf install nginx
Скопировать файлы для использования:
cp /tmp/blitz/nginx/blitz-idp.conf /etc/nginx/conf.d/
cp -R /tmp/blitz/static_errors /usr/share/nginx/html
Включить автоматический запуск службы:
systemctl enable nginx
Шаг 7. Blitz Identity Provider#
Установить дистрибутив (подставить в имя файла правильную версию, JAVA_HOME
и состав устанавливаемых приложений):
/tmp/blitz/blitz-5.X.X.bin -- -j <JAVA_HOME> -i "idp console recovery registration"
Создать конфигурационный файл blitz_param.txt
следующего содержания, скорректировав в нем настройки на требуемые:
DOMAIN=testinstallation.local
MEMCACHED_SERVERS="127.0.0.1"
DB_MODE=PG
PG_HOSTNAME=127.0.0.1
PG_DB_NAME=blitzdb
PG_USERNAME=blitz
PG_PASSWORD=12ABcd45
Запустить скрипт первоначальной настройки Blitz Identity Provider, указав путь к файлу blitz_param.txt
:
/usr/share/identityblitz/blitz-console/bin/configure -f blitz_param.txt
В результате выполнения скрипта будут настроены конфигурационные файлы, а также будет сгенерирован и показан логин/пароль администратора Blitz Identity Provider и сгенерирован пароль от ключевого контейнера:
****************************************************************
Your instance is configured on domain: test.loc
The Administration Console available on addresses:
http://testinstallation.local:9001/blitz/console
Administration user credentials of 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
****************************************************************
В случае использования ключей, созданных на этапе установки, перезапустить nginx:
systemctl restart nginx
Добавить сопоставление адреса loopback-интерфейса и доменного имени, указанного при установке в /etc/hosts
:
127.0.0.1 localhost.localdomain localhost testinstallation.local
Запустить службы:
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
После успешного завершения установки и настройки Blitz Identity Provider возможно подключиться к консоли управления по доменному имени, указанному на этапе установки дистрибутива, например, https://testinstallation.local/blitz/console
.
Установить дистрибутив (подставить в имя файла правильную версию, JAVA_HOME
и состав устанавливаемых приложений):
/tmp/blitz/blitz-5.X.X.bin -- -j <JAVA_HOME> -i "idp console recovery registration"
Создать конфигурационный файл blitz_param.txt
следующего содержания, скорректировав в нем настройки на требуемые:
DOMAIN=testinstallation.local
MEMCACHED_SERVERS="127.0.0.1"
DB_MODE=PG
PG_HOSTNAME=127.0.0.1
PG_DB_NAME=blitzdb
PG_USERNAME=blitz
PG_PASSWORD=12ABcd45
Запустить скрипт первоначальной настройки Blitz Identity Provider, указав путь к файлу blitz_param.txt
:
/usr/share/identityblitz/blitz-console/bin/configure -f blitz_param.txt
В результате выполнения скрипта будут настроены конфигурационные файлы, а также будет сгенерирован и показан логин/пароль администратора Blitz Identity Provider и сгенерирован пароль от ключевого контейнера:
****************************************************************
Your instance is configured on domain: test.loc
The Administration Console available on addresses:
http://testinstallation.local:9001/blitz/console
Administration user credentials of 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
****************************************************************
В случае использования ключей, созданных на этапе установки, перезапустить nginx:
systemctl restart nginx
Добавить сопоставление адреса loopback-интерфейса и доменного имени, указанного при установке в /etc/hosts
:
127.0.0.1 localhost.localdomain localhost testinstallation.local
Запустить службы:
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
После успешного завершения установки и настройки Blitz Identity Provider возможно подключиться к консоли управления по доменному имени, указанному на этапе установки дистрибутива, например, https://testinstallation.local/blitz/console
.