Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Установка необходимых пакетов ПО из репозиториев:

    Code Block
    languagebash
    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get install unzip curl postgresql postgresql-client postgresql-contrib


    Warning
    titleВажно!

    Нужно учесть, что по умолчанию файлы баз данных размещаются на системном разделе. Для переноса хранилища на другой раздел следуйте инструкции.


  2. Отредактировать конфигурационные файлы postgresql:

    Проверяем версию postgresql

    Code Block
    languagebash
    psql --version

    Открываем конфигурационный файл postgresql.conf с учетом установленной версии

    Code Block
    languagebash
    nano /etc/postgresql/14/main/postgresql.conf

    Изменить в секции # - Connection Settings - значение параметра listen_addresses с localhost  на *
    должно получиться:

    Code Block
    languagebash
    listen_addresses = '*' 

    Открываем конфигурационный файл pg_hba.conf с учетом установленной версии

    Code Block
    languagebash
    nano /etc/postgresql/14/main/pg_hba.conf

    Изменить в секции # IPv4 Local connections:  значение параметра ADDRESS с 127.0.0.1/32  на 0.0.0.0/0

    Code Block
    languagebash
    # IPv4 local connections:
     
    host      all      all      0.0.0.0/0      scram-sha-256
  3. Перезапустить службу:

    Code Block
    languagebash
    sudo systemctl restart postgresql
  4. Проверить выполняется ли прослушивание на порту 5432 для всех активных адресов:

    Code Block
    languagebash
    netstat -ltnp
     
    tcp      0      0 0.0.0.0:5432      0.0.0.0:*      LISTEN      14569/postgres
  5. Добавить пользователя postgres в группу владельца директории, из которой выполняются действия:

    Проверка владельца текущей папки (обозначена ".")

    Code Block
    languagebash
    ls –la

    Добавление пользователя postgres в группу владельца

    Code Block
    languagebash
    sudo usermod -aG dir_owner_group postgres
  6. Изменить права группе владельца директории (дать права на изменение). В данном случае путь до директории - . (текущая директория):

    Code Block
    languagebash
    chmod -R 775 .
  7. Войти в cli postgresql от имени пользователя postgres:

    Code Block
    languagebash
    sudo -u postgres psql
  8. Создать пользователя с ролью суперпользователя:

    Code Block
    languagebash
    postgres-#CREATE USER vitrodbuser WITH PASSWORD '@pwd4vitro!' SUPERUSER;
  9. Создать новую базу данных с именем vitrodb:

    Code Block
    languagebash
    postgres-#CREATE DATABASE vitrodb with owner = vitrodbuser encoding = 'UTF8' LOCALE_PROVIDER = icu ICU_LOCALE = 'ru' TEMPLATE = template0 connection limit = -1;
  10. Создать новую базу данных с именем workflow:

    Code Block
    languagebash
    postgres-#CREATE DATABASE workflow with owner = vitrodbuser encoding = 'UTF8' LOCALE_PROVIDER = icu ICU_LOCALE = 'ru' TEMPLATE = template0 connection limit = -1;
  11. Отключиться от cli postgresql:

    Code Block
    languagebash
    postgres-# \q
  12. Скачать и распаковать дистрибутив:

    Code Block
    languagebash
    curl "https://linkTo/Vitro.Server.MultiPlatform.Linux-xx.x.xx.xx.zip" --output 'Vitro.Server.MultiPlatform.Linux-xx.x.xx.xx.zip'
     
    sudo unzip Vitro.Server.MultiPlatform.Linux-xx.x.xx.xx.zip
  13. Инициализация базы данных
    1. Версия дистрибутива 24.1.38 или выше:

      Скопировать в доступное для пользователей расположение (к примеру tmp) файлы инициализации базы данных:

      Code Block
      languagebash
      sudo cp ~/Vitro.Server.MultiPlatform.Linux-xx.x.xx.xx/DB/Install/db_func_create.sql /tmp
      sudo cp ~/Vitro.Server.MultiPlatform.Linux-xx.x.xx.xx/DB/Install/db_table_create.sql /tmp
      sudo cp ~/Vitro.Server.MultiPlatform.Linux-xx.x.xx.xx/DB/Install/db_data_init.sql /tmp

      Запустить инициализацию базы из скриптов:

      Code Block
      languagebash
      sudo -u postgres psql -U postgres -d vitrodb -f /tmp/db_func_create.sql -f /tmp/db_table_create.sql -f /tmp/db_data_init.sql
    2. Версия дистрибутива ниже 24.1.38:

      Скопировать в доступное для пользователей расположение (к примеру tmp) файл резервной копии базы данных:

      Code Block
      languagebash
      sudo cp ~/Vitro.Server.MultiPlatform.Linux-xx.x.xx.xx/DB/vitro.bak /tmp

      Запустить восстановление БД из бэкапа:

      Code Block
      languagebash
      sudo -u postgres pg_restore -v -U vitrodbuser -h localhost -d vitrodb /tmp/vitro.bak

      Запустить восстановление БД из бекапа (для файлов с расширением sql):

      Code Block
      languagebash
      sudo -u postgres psql -U vitrodbuser -h localhost -d vitrodb < /tmp/vitro.bak.sql

...