Установка на RED OS
Рекомендуемый вариант установки -MINIMAL
Разметка диска - на усмотрение Администратор
Установка postgres-pro-14
Подробную инструкцию по установке postgres-pro можете найти по ссылке на сайте производителя.
https://postgrespro.ru/products/download/postgrespro/
wget https://repo.postgrespro.ru/pgpro-14/keys/pgpro-repo-add.sh
sh pgpro-repo-add.sh
Если наш продукт единственный Postgres на вашей машине и вы хотите сразу получить готовую к употреблению базу:
yum install postgrespro-std-14
yum install postgrespro-std-14-plpython3
yum install postgrespro-std-14-plperl
Проверяем успешность установки PostgreSQL:
[root@srv137 ~]# systemctl status postgrespro-std-14.service
● postgrespro-std-14.service - Postgres Pro std 14 database server
Loaded: loaded (/usr/lib/systemd/system/postgrespro-std-14.service; enabled
Active: active (running) since Tue 2022-10-04 20:13:26 MSK; 1min 12s ago
Main PID: 2475 (postgres)
Tasks: 8 (limit: 4667)
Memory: 44.7M
CPU: 85ms
CGroup: /system.slice/postgrespro-std-14.service
├─2475 /opt/pgpro/std-14/bin/postgres -D /var/lib/pgpro/std-14/data
├─2476 postgres: logger
├─2478 postgres: checkpointer
├─2479 postgres: background writer
├─2480 postgres: walwriter
├─2481 postgres: autovacuum launcher
├─2482 postgres: stats collector
└─2483 postgres: logical replication launcher
окт 04 20:13:26 srv137 systemd[1]: Starting Postgres Pro std 14 database server.
окт 04 20:13:26 srv137 postgres[2475]: 2022-10-04 20:13:26.234 MSK [2475] СООБЩЕ
окт 04 20:13:26 srv137 postgres[2475]: 2022-10-04 20:13:26.234 MSK [2475] ПОДСКА
окт 04 20:13:26 srv137 systemd[1]: Started Postgres Pro std 14 database server.
Получаем список установленных БД
su - postgres
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
(3 строки)
Производим установку из поставки дистрибутива или на основе DEMO - APP * appdb - бизнес база (имя базы данных на усмотрение администратора) * xraddb - база метаданных приложения (переименование БД не рекомендуется)
Создаем директорию и помещаем файлы дистрибутива PGHS
mkdir -p /var/lib/pgpro/std-14/dump-imp
cd /var/lib/pgpro/std-14/dump-imp
[root@srv137 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
Создаем пользователя
[root@srv137 dump-imp]# su - postgres
[postgres@srv137 ~]$ psql
psql (14.5)
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;
postgres=# 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/pgpro/std-14/dump-imp/xraddb.xsquare
psql -U app_user -h 127.0.0.1 appdb < /var/lib/pgpro/std-14/dump-imp/appdb.xsquare
Настройка Apache 2.4
Устанавливаем Apache
yum install httpd
systemctl enable httpd
systemctl start httpd
Добавляем в файл /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>
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>
Отключаем Security-Enhanced Linux для HTTP запросов
setsebool -P httpd_can_network_connect 1
Настройка дистрибутива XSQUARE - PGHS
Настройка Web Resources XSQUARE - PGHS
Копируем файл Web приложения из дистрибутива
cp -R pghs.xsquare /var/www/
cp -R pghs.xsquare.files.local/ /var/www/
Проверяем и перезапускаем Apache
httpd -t
systemctl restart httpd
или
systemctl reload httpd
Настройка сервер приложений XSQUARE - PGHS
Копируем дистрибутив сервера приложений
mkdir /usr/local/xsquare.pghs
cp -R pghs /usr/local/xsquare.pghs/
Настраиваем параметры соединения с 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=XSQUARE 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/