Установка на 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/