Установка на Astra Linux 1.7¶
Установка postgres-pro-14¶
Копируем сертификат:
sudo cp SSE-ASTRA-GPG-POSTGRESPRO /etc/digsig/keys/
sudo update-initramfs -u -k all
sudo reboot
Требования к минимальной инсталяции:
wget https://repo.postgrespro.ru/pgpro-14/keys/pgpro-repo-add.sh
sudo sh pgpro-repo-add.sh
Если наш продукт единственный Postgres на вашей машине и вы хотите сразу получить готовую к употреблению базу:
sudo apt-get install postgrespro-std-14
Проверка успешной установки БД
systemctl status postgrespro-std-14.service
root@srv134:~# systemctl status postgrespro-std-14.service
● postgrespro-std-14.service - Postgres Pro std 14 database server
Loaded: loaded (/lib/systemd/system/postgrespro-std-14.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-08-19 16:32:16 MSK; 16min ago
Process: 1574 ExecStartPre=/opt/pgpro/std-14/bin/check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 1583 (postgres)
Tasks: 8 (limit: 4915)
Memory: 69.5M
CGroup: /system.slice/postgrespro-std-14.service
├─1583 /opt/pgpro/std-14/bin/postgres -D /var/lib/pgpro/std-14/data
├─1586 postgres: logger
├─1588 postgres: checkpointer
├─1589 postgres: background writer
├─1590 postgres: walwriter
├─1591 postgres: autovacuum launcher
├─1592 postgres: stats collector
└─1593 postgres: logical replication launcher
Получаем список установленных БД
sudo 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/pgpro/std-14/dump-imp
cd /var/lib/pgpro/std-14/dump-imp
postgres@srv134:/var/lib/pgpro/std-14/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
Создаем пользователя и
ssh root@srv134
su - postgres
postgres@srv134:~$ 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/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 и модули
sudo su - root
apt-get install apache2
systemctl enable apache2
systemctl start apache2
systemctl status apache2
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
Добавляем в файл /etc/hosts
и прописываем в локальный DNS организации
127.0.0.1 pghs.xsquare
В /etc/apache2/apache2.conf
установить AstraMode off
Создаем файл конфигурации VirtualHost
для pghs сервера
vi /etc/apache2/sites-available/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 ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Включаем сайт http://pghs.xsquare
a2ensite pghs.xsquare.conf
systemctl restart apache2
Настройка дистрибутива 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"
},
"XRAD": {
"login": "xrad_user",
"password": "xrad_user",
"host": "localhost",
"port": 5432,
"dbName":"xraddb",
"minCons": 1,
"maxCons": 10,
"runtimeOptions":{
"LC_NUMERIC":"ru_RU.UTF-8"
}
},
"datasources": [
{
"name":"DEFAULT",
"login": "app_user",
"password": "app_user",
"host": "127.0.0.1",
"port": 5432,
"dbName":"app_db",
"minCons":1,
"maxCons":10,
"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/