### Распаковка дистрибутива

1. Скачайте архив дистрибутива: Сначала скачайте архив дистрибутива в формате zip на ваш компьютер. Предположим, что файл называется `eyeprint-distrib.zip` и находится в каталоге `/home/user/Downloads`. 2. Установите необходимые утилиты: Убедитесь, что на вашей системе установлены утилиты `unzip` и `sudo`. Если нет, установите их с помощью команды:

  
  ```bash
  sudo apt update
  sudo apt install unzip
  
  ```
  

3. Распакуйте архив: Перейдите в каталог, где находится скачанный архив, и распакуйте его с помощью команды `unzip`:

  
  ```bash
  cd /home/user/Downloads
  unzip eyeprint-distrib.zip
  
  ```
  
  После распаковки должна появиться папка с дистрибутивом, например, `eyeprint-distrib`.
  

4. Создайте директорию /opt/eyeprint: Убедитесь, что директория `/opt/eyeprint` существует. Если нет, создайте ее с правильными правами доступа:

  
  ```bash
  sudo mkdir -p /opt/eyeprint
  
  ```
  

5. Перенесите содержимое распакованной папки в /opt/eyeprint: Переместите распакованную папку в директорию `/opt/eyeprint` с помощью команды `mv`:

  
  ```bash
  sudo mv /home/user/Downloads/eyeprint-distrib/* /opt/eyeprint/
  
  ```
  

6. Проверьте права доступа: Убедитесь, что у вас есть права доступа к файлам в директории `/opt/eyeprint`. Если необходимо, установите правильные права доступа:

  
  ```bash
  sudo chown -R $USER:$USER /opt/eyeprint
  sudo chmod -R 755 /opt/eyeprint
  
  ```
  

Теперь ваш дистрибутив распакован и находится в директории `/opt/eyeprint`, и вы можете продолжить установку и настройку системы согласно дальнейшим инструкциям.

### Установка Java 11

Установка java может быть произведена с использованием стандартных средств управления пакетами операционной системы. Для debian и ubuntu возможна установка java из deb пакета входящего в состав дистрибутива. Для установки из deb пакета нужно выполнить команду находясь в директории дистрибутива:

```bash sudo dpkg -i /opt/eyeprint/jdk-11.0.21_linux-x64_bin.deb ```

Для проверки установки java можно выполнить следующую команду:

```bash java -version ```

Команда должна вывести информацию содержащeю версию java

```bash openjdk version «11.0.21» 2021-10-19 LTS OpenJDK Runtime Environment (build 11.0.13+8-LTS) OpenJDK 64-Bit Server VM (build 11.0.21+8-LTS, mixed mode) ```

### Установка и настройка PostgreSQL

Если у вас уже есть установленный сервер PostgreSQL с настроенным удаленным доступом вы можете использовать его. Для установки PostgreSQL используйте стандартный менеджер пакетов для вашей операционной системы. Пример установки для ос debian

```bash sudo apt update sudo apt install postgresql ```

Если планируется размещение базы данных и  Eyeprint на разных серверах то нужно в настройках PostgreSQL разрешить подключение к бд с других хостов. Для этого нужно отредактировать конфигурационный Для настройки PostgreSQL для подключений с других узлов сети, выполните следующие шаги:

1. Редактирование файла конфигурации `postgresql.conf`:

  
  Откройте файл `postgresql.conf`, который обычно находится в директории `/etc/postgresql/[версия]/main/` или `/var/lib/pgsql/[версия]/data/`, и найдите строку `listen_addresses`. Измените её значение следующим образом:
  
  ```
  listen_addresses = '*'
  
  ```
  
  Это позволит серверу PostgreSQL принимать подключения со всех IP-адресов.
  

2. Редактирование файла `pg_hba.conf`:

  
  Откройте файл `pg_hba.conf`, который также находится в директории `/etc/postgresql/[версия]/main/` или `/var/lib/pgsql/[версия]/data/`, и добавьте строку, разрешающую подключения с нужных узлов. Например, чтобы разрешить подключения с любой машины в сети 192.168.1.0/24:
  
  ```
  host    all             all             192.168.1.0/24            md5
  
  ```
  
  Формат строки:
  
  ```
  host    [база данных]    [пользователь]    [IP-адрес/маска сети]    [метод аутентификации]
  
  ```
  

3. Перезапуск службы PostgreSQL:

  
  После внесения изменений перезапустите службу PostgreSQL, чтобы они вступили в силу. На debian-совместимых системах это можно сделать с помощью команды:
  
  ```bash
  sudo systemctl restart postgresql
  
  ```
  

Теперь ваш сервер PostgreSQL должен быть настроен на прием подключений с других узлов сети.

### Создание базы данных и пользователя в PostgreSQL

Для создания базы данных и пользователя в PostgreSQL выполните следующие шаги:

1. Подключитесь к PostgreSQL под пользователем `postgres`:

  
  ```bash
  sudo -u postgres psql
  
  ```
  

2. Создайте нового пользователя с именем `userep` и паролем `Password`:

  
  ```sql
  create user userep with password 'Password';
  
  ```
  

3. Создайте базу данных с именем `eyeprint` и назначьте владельцем созданного ранее пользователя `userep`:

  
  ```sql
  create database eyeprint owner='userep';
  
  ```
  

Теперь база данных `eyeprint` создана, и пользователь `userep` назначен её владельцем.

### Развертывание дампа базы данных PostgreSQL

Для развертывания дампа базы данных, необходимого для работы приложения, выполните следующие шаги:

1. Убедитесь, что PostgreSQL запущен и настроен правильно: Убедитесь, что сервер PostgreSQL запущен и настроен на прием подключений. 2. Подключитесь к серверу PostgreSQL: Подключитесь к серверу PostgreSQL под пользователем, который имеет доступ к базе данных `eyeprint`. 3. Выполните команду развертывания дампа: Используйте команду `psql` для развертывания дампа базы данных. В данном примере используется пользователь `userep` и база данных `eyeprint`. Выполните следующую команду, чтобы развернуть дамп из файла:

  
  ```bash
  psql -d eyeprint -U userep -W < /opt/eyeprint/eyeprint.sql
  
  ```
  
  - `-d eyeprint`: указывает на базу данных `eyeprint`, в которую будет разворачиваться дамп.
  - `-U userep`: указывает на пользователя PostgreSQL `userep`.
  - `-W`: заставляет `psql` запросить пароль пользователя `userep`.

4. Введите пароль: После выполнения команды вас попросят ввести пароль для пользователя `userep`. Введите пароль и нажмите Enter.

После выполнения этих шагов дамп базы данных будет развернут в базе данных `eyeprint`, и вы сможете использовать ее для работы вашего приложения.