Установка на ROSA Linux Сервер

Установка postgresql14

Требования к минимальной инсталяции:

dnf install postgresql14-server
dnf install postgresql14-contrib

Добавляем службу в автозагрузку и запускаем:

systemctl enable postgresql14.service
systemctl start postgresql14.service

Проверка успешной установки БД

srv148 ~ # systemctl status postgresql14.service
● postgresql14.service - PostgreSQL database server
     Loaded: loaded (/lib/systemd/system/postgresql14.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2023-07-21 00:37:35 MSK; 3 days ago
   Main PID: 903 (postgres)
      Tasks: 11 (limit: 4569)
     Memory: 105.8M
        CPU: 2min 30.617s
     CGroup: /system.slice/postgresql14.service
             ├─  903 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
             ├─  907 "postgres: checkpointer " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">
             ├─  908 "postgres: background writer " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "">
             ├─  909 "postgres: walwriter " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">
             ├─  910 "postgres: autovacuum launcher " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
             ├─  911 "postgres: stats collector " "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">
             ├─  912 "postgres: logical replication launcher " "" "" "" "" "" "" "" "" ""
             ├─14898 "postgres: xrad_user xraddb 127.0.0.1(35956) idle"
             ├─23766 "postgres: xrad_user xraddb 127.0.0.1(49226) idle"
             ├─23926 "postgres: app_user appdb 127.0.0.1(44240) idle" "" ""

Получаем список установленных БД

su - postgres
psql
postgres=# \l
                                    Список баз данных
    Имя    | Владелец | Кодировка |   LC_COLLATE    |  LC_CTYPE   |     Права доступа
-----------+----------+-----------+-----------------+-------------+-----------------------
 postgres  | postgres | UTF8      | ru_RU.UTF-8@icu | ru_RU.UTF-8 |
 template0 | postgres | UTF8      | ru_RU.UTF-8@icu | ru_RU.UTF-8 | =c/postgres          +
           |          |           |                 |             | postgres=CTc/postgres
 template1 | postgres | UTF8      | ru_RU.UTF-8@icu | ru_RU.UTF-8 | =c/postgres          +
           |          |           |                 |             | postgres=CTc/postgres

Производим установку из поставки дистрибутива или на основе DEMO - APP

  • appdb - бизнес база (имя базы данных на усмотрение администратора)

  • xraddb - база метаданных приложения (переименование БД не рекомендуется)

Создаем директорию и помещаем файлы дистрибутива PGHS

mkdir -p /var/lib/pgsql/dump-imp
cd  /var/lib/pgsql/dump-imp
postgres@srv134:/var/lib/pgsql/dump-imp$ ls -latr
итого 35884
drwxr-xr-x 2 postgres postgres     4096 авг 19 17:32 .
drwxr-xr-x 4 postgres postgres     4096 авг 19 17:25 ..
-rw-r--r-- 1 postgres postgres   535928 авг 19 17:31 xraddb.xsquare
-rw-r--r-- 1 postgres postgres 36197840 авг 19 17:32 appdb.xsquare

Создаем пользователя и

su - postgres
psql
psql (14.4)
Введите "help", чтобы получить справку.

postgres=# create user xrad_user with encrypted password 'xrad_user';
postgres=# create user app_user  with encrypted password 'app_user';

postgres=# ALTER USER xrad_user WITH SUPERUSER;
postgres=# ALTER USER app_user  WITH SUPERUSER;

exit

Создаем пустые базы

su - postgres
createdb -O app_user  appdb
createdb -O xrad_user xraddb

производим импорт PGHS

su - postgres
psql -U xrad_user -h 127.0.0.1 xraddb  < /var/lib/pgsql/dump-imp/xraddb.xsquare
psql -U app_user  -h 127.0.0.1 appdb   < /var/lib/pgsql/dump-imp/appdb.xsquare

Настройка Apache 2.4

Устанавливаем Apache и модули

su - root
urpmi apache-base
urpmi apache-mod_proxy
urpmi apache-mod_slotmem_shm

Добавляем в файл /etc/hosts и прописываем в локальный DNS организации

127.0.0.1 pghs.xsquare

Создаем файл конфигурации VirtualHost для pghs сервера

vi /etc/httpd/conf.d/pghs.xsquare.conf

<VirtualHost *:80>
       ServerAdmin info@xsquare.ru
       ServerName  pghs.xsquare
       ServerAlias pghs.xsquare
       DocumentRoot /var/www/pghs.xsquare

       Alias /files "/var/www/pghs.xsquare.files.local"
       <Directory /var/www/pghs.xsquare.files.local>
               Options FollowSymLinks
               AllowOverride None
               Require all granted
       </Directory>

       <Directory /var/www/pghs.xsquare>
               Require all granted
       </Directory>

       ProxyPass        /pghs http://127.0.0.1:8888/pghs
       ProxyPassReverse /pghs http://127.0.0.1:8888/pghs

       ErrorLog  /etc/httpd/logs/pghs-error.log
       CustomLog /etc/httpd/logs/pghs-access.log combined
</VirtualHost>

Включаем сайт http://pghs.xsquare

a2ensite pghs.xsquare.conf
systemctl restart httpd2

Настройка дистрибутива XSQUARE - PGHS

Настройка Web Resources XSQUARE - PGHS

Копируем файл Web приложения из дистрибутива

scp -r -P 22 pghs.xsquare root@IP_Server:/var/www/

Копируем файлы настройки Web приложения из дистрибутива

scp -r -P 22 pghs.xsquare.files.local root@IP_Server:/var/www/

Настройка сервер приложений XSQUARE - PGHS

Копируем дистрибутив сервера приложений

scp -r -P 22 /usr/local/xsquare.pghs  root@IP_Server:/usr/local

Настраиваем параметры соединения с PostgreSQL

vi/usr/local/xsquare.pghs/config.json

{
    "app": {
        "port": "8888"
    },
    "AppDatabase": {
        "login": "app_user",
        "password": "app_user",
        "domain": "127.0.0.1",
        "port": "5432",
        "dbName":"app_db",
        "runtimeOptions":{
            "LC_NUMERIC":"ru_RU.UTF-8"
        }
    },
    "XRADDatabase": {
        "login": "xrad_user",
        "password": "xrad_user",
        "domain": "localhost",
        "port": "5432",
        "dbName":"xraddb",
        "runtimeOptions":{
            "LC_NUMERIC":"ru_RU.UTF-8"
        }
    }
}

Создаем сервис

vi /etc/systemd/system/xsquare.pghs.service

[Unit]
Description=PGHS Services
After=syslog.target network.target
After=postgresql.service

[Service]
Type=simple
ExecStart=/usr/local/xsquare.pghs/pghs
WorkingDirectory=/usr/local/xsquare.pghs
Restart=on-failure
RestartSec=3

[Install]
WantedBy=default.target

Включаем для сервиса AvtoStart и запускаем и проверяем статус

systemctl enable xsquare.pghs.service
systemctl start  xsquare.pghs.service
systemctl status xsquare.pghs.service

Открываем и проверяем запуск

http://pghs.xsquare/