1с:Предприятие & PostgreSQL

Поднимаю на Ubuntu Server 20.04
Сервер 1с:Предприятие 8.3.19.1467 - Ubuntu 20.04
apt update && apt dist-upgrade -y && apt install ssh htop mc vim chrony -y && timedatectl set-timezone Europe/Moscow && timedatectl set-ntp on
sh -c 'echo "deb http://ru.archive.ubuntu.com/ubuntu/ bionic main universe" >> /etc/apt/sources.list' && \
apt remove -y libicu66 && apt update && apt install -y libicu60 fontconfig && apt-mark hold libicu60 && \
apt -y install ttf-mscorefonts-installer && fc-cache –fv && \
apt install -y libfreetype6 libgsf-1-common unixodbc  libmagickwand-6.q16-6 libfreetype6 libgsf-1-114 libodbc1 libkrb5-3 libgssapi-krb5-2

Переходим в папку с сервером предприятия

dpkg -i 1c-enterprise-8.3.19.1467-common_8.3.19-1467_amd64.deb && \
dpkg -i 1c-enterprise-8.3.19.1467-server_8.3.19-1467_amd64.deb && \
dpkg -i 1c-enterprise-8.3.19.1467-ws_8.3.19-1467_amd64.deb
ln -s /opt/1cv8/x86_64/8.3.19.1467/srv1cv83 /etc/init.d/srv1cv83 && \
ln -s /opt/1cv8/x86_64/8.3.19.1467/srv1cv83.conf /etc/default/srv1cv83 && \
mkdir -p /home/usr1cv8/.1cv83/1C/1Cv83 && chown -R usr1cv8:grp1cv8 /home/usr1cv8 && exit
sudo chown -R usr1cv8:grp1cv8 /opt/1cv8 && sudo echo -e "pass\npass\n" | sudo passwd usr1cv8 && \
sudo usermod -aG sudo usr1cv8 && systemctl enable srv1cv83 && systemctl restart srv1cv83

Ставим HASP при необходимости

mkdir /tmp/hasp && cd /tmp/hasp && \
wget https://it-admins.ru/downloads/haspd_8.23-eter2ubuntu_amd64.deb && \
dpkg -i hasp*.deb && service haspd start
PostgreSQL 14.1-2.1C - Ubuntu 20.04
apt update && apt dist-upgrade -y && apt install ssh htop mc vim -y && \ 
timedatectl set-timezone Europe/Moscow && timedatectl set-ntp on
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - && \
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" >> /etc/apt/sources.list.d/postgresql.list'
apt update && apt install -y  libllvm6.0 libllvm9 libllvm10 postgresql-common && \
wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb && \
dpkg -i libicu55_55.1-7_amd64.deb && \
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb && \
dpkg -i libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb

В 1-ом диалоге проверяем, что RU выбран и выбираем RU во втором

locale-gen en_US.UTF-8 && locale-gen ru_RU.UTF-8 && update-locale LANG=ru_RU.UTF8 && dpkg-reconfigure locales

добавляем репозиторий

nano /etc/apt/sources.list
deb http://us.archive.ubuntu.com/ubuntu bionic main restricted
apt update && apt install -y libicu60

Переходим в папку со скаченным дистрибом PostgreSQL от 1с

dpkg -i libpq5_14.1-2.1C_amd64.deb && dpkg -i postgresql*.deb && \
apt --fix-broken install -y && dpkg -i postgresql*.deb && \
dpkg -l | grep 1C | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
sudo nano /etc/postgresql/14/main/pg_hba.conf

последний блок меняем на:

local   all             postgres                                md5
local   all             all                                     peer
host    all             all             0.0.0.0/0               trust
host    all             all             ::1/128                 md5
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5
sudo nano /etc/postgresql/14/main/postgresql.conf

Раскомментируем в файле строку password_encryption и ставим значение md5

password_encryption = md5

изменяем параметр прослушивания источников запросов

listen_addresses = '*'

Задаем сложный пароль для пользователя postgres

sudo -u postgres psql -U postgres -c "alter user postgres with password 'ПАРОЛЬ_ПОСТГРЕС';"

убираем репозиторий

nano /etc/apt/sources.list
# deb http://us.archive.ubuntu.com/ubuntu bionic main restricted

перезапускаем постгрес и проверяем, что он слушает подключения

systemctl restart postgresql && ss -tulpn | grep postgres

вывод

ss -tulpn | grep postgres
	tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      930/postgres
Сервер 1с:Предприятие 8.3.20.1710 - Debian 11
su

Передадим дистрибутив сервера, переходим в папку с архивом и запускаем установку одной командой.

Не забываем сменить при необходимости версию платформы с 8.3.20.1710 на нужную.

Установка проверена на Debian 11 Bullseye и платформе версии 8.3.20.1710

sed -i 's/^deb.*/& contrib non-free/g' /etc/apt/sources.list && \
apt update && apt dist-upgrade -y && apt install -y ttf-mscorefonts-installer libodbc1 mc htop vim && PATH=$PATH:/sbin && \
wget https://it-admins.ru/downloads/rep/libaspell15_0.60.8-4_amd64.deb && \
dpkg -i libaspell15_0.60.8-4_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libc-bin_2.31-13+deb11u3_amd64.deb && \
dpkg -i libc-bin_2.31-13+deb11u3_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libhunspell-1.7-0_1.7.0-3_amd64.deb && \
dpkg -i libhunspell-1.7-0_1.7.0-3_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libenchant1c2a_1.6.0-11.1+b1_amd64.deb && \
dpkg -i libenchant1c2a_1.6.0-11.1+b1_amd64.deb && \
tar -xvf server64_8_3_20_1710.tar.gz && ./setup-full-8.3.20.1710-x86_64.run --mode unattended --enable-components server,ws,liberica_jre,ru && \
ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83 /etc/init.d/srv1cv83 && \
ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83.conf /etc/default/srv1cv83 && \
systemctl enable srv1cv83 && systemctl start srv1cv83 && systemctl status srv1cv83

Для удаления платформы следует воспользоваться специальным скриптом, который расположен в папке платформы

/opt/1cv8/x86_64/8.3.20.1710/uninstaller-full

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

  • Остановить службу
  • systemctl stop srv1cv83
    
  • Установить новую платформу
  • ./setup-full-8.3.20.1710-x86_64.run --mode unattended --enable-components server,ws,liberica_jre,ru
    
  • Удалить старую
  • /opt/1cv8/x86_64/8.3.20.1710/uninstaller-full
  • Обновить символические ссылки на скрипт запуска и конфигурации
  • ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83 /etc/init.d/srv1cv83 && \
    ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83.conf /etc/default/srv1cv83
    
  • Запустить службу
  • systemctl enable srv1cv83 && systemctl start srv1cv83
    
Сервер 1с:Предприятие 8.3.21.1393 - Debian 11
su

Передадим дистрибутив сервера, переходим в папку с архивом.

Не забываем сменить при необходимости версию платформы с 8.3.21.1393 на нужную.

Установка проверена на Debian 11 Bullseye и платформе версии 8.3.21.1393

sed -i 's/^deb.*/& contrib non-free/g' /etc/apt/sources.list
apt update && apt dist-upgrade -y && apt install -y ttf-mscorefonts-installer libodbc1 mc htop vim && PATH=$PATH:/sbin && \
wget https://it-admins.ru/downloads/rep/libaspell15_0.60.8-4_amd64.deb && \
dpkg -i libaspell15_0.60.8-4_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libc-bin_2.31-13+deb11u3_amd64.deb && \
dpkg -i libc-bin_2.31-13+deb11u3_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libhunspell-1.7-0_1.7.0-3_amd64.deb && \
dpkg -i libhunspell-1.7-0_1.7.0-3_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libenchant1c2a_1.6.0-11.1+b1_amd64.deb && \
dpkg -i libenchant1c2a_1.6.0-11.1+b1_amd64.deb
tar -xvf server64_8_3_21_1393.tar.gz && ./setup-full-8.3.21.1393-x86_64.run --mode unattended --enable-components server,ws,liberica_jre,ru

Для регистрации службы после установки платформы:

systemctl link /opt/1cv8/x86_64/8.3.21.1393/srv1cv8-8.3.21.1393@.service

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

systemctl enable srv1cv8-8.3.21.1393@ && \
systemctl start srv1cv8-8.3.21.1393@default && \
systemctl status srv1cv8-8.3.21.1393@default

Для удаления платформы следует воспользоваться специальным скриптом, который расположен в папке платформы

/opt/1cv8/x86_64/8.3.21.1393/uninstaller-full

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

  • Остановить службу:
  • systemctl stop srv1cv8-8.3.21.1393@default
    
  • Выключить ее автозагрузку:
  • systemctl disable srv1cv8-8.3.21.1393@
    
  • Удалить старую
  • /opt/1cv8/x86_64/8.3.21.1393/uninstaller-full
  • Установить новую
  • Включить автозагрузку
  • Запустить службу
PostgreSQL 14.1-2.1C - Debian 11
su
PATH=$PATH:/sbin
apt update && apt dist-upgrade -y && apt install ssh htop mc vim sudo gnupg libc6 libllvm9 ssl-cert -y
timedatectl set-timezone Europe/Moscow && timedatectl set-ntp on && \
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" >> /etc/apt/sources.list.d/postgresql.list' && \
wget https://it-admins.ru/downloads/rep/libffi6_3.2.1-6_amd64.deb && \
dpkg -i libffi6_3.2.1-6_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libllvm6.0_6.0.1-10_amd64.deb && dpkg -i libllvm6.0_6.0.1-10_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libicu55_55.1-7_amd64.deb && \
dpkg -i libicu55_55.1-7_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libaspell15_0.60.8-4_amd64.deb && \
dpkg -i libaspell15_0.60.8-4_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libc-bin_2.31-13+deb11u3_amd64.deb && \
dpkg -i libc-bin_2.31-13+deb11u3_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libhunspell-1.7-0_1.7.0-3_amd64.deb && \
dpkg -i libhunspell-1.7-0_1.7.0-3_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libenchant1c2a_1.6.0-11.1+b1_amd64.deb && \
dpkg -i libenchant1c2a_1.6.0-11.1+b1_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libicu60_60.2-3ubuntu3.2_amd64.deb && \
dpkg -i libicu60_60.2-3ubuntu3.2_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb && \
dpkg -i libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb 

В 1-ом диалоге проверяем, что RU выбран и выбираем RU во втором

locale-gen en_US.UTF-8 && locale-gen ru_RU.UTF-8 && dpkg-reconfigure locales && update-locale LANG=ru_RU.UTF-8 && update-locale LANG=ru_RU.UTF-8
wget https://it-admins.ru/downloads/rep/libreadline7_7.0-5_amd64.deb && dpkg -i libreadline7_7.0-5_amd64.deb && \
wget https://it-admins.ru/downloads/rep/libjson-perl_4.04000-1_all.deb && dpkg -i libjson-perl_4.04000-1_all.deb && \
wget https://it-admins.ru/downloads/rep/postgresql-client-common_240_all.deb && dpkg -i postgresql-client-common_240_all.deb && \
wget https://it-admins.ru/downloads/rep/postgresql-common_240_all.deb && dpkg -i postgresql-common_240_all.deb && apt install -f

Переходим в папку со скаченным дистрибом PostgreSQL от 1с

dpkg -i libpq5_14.1-2.1C_amd64.deb && dpkg -i postgresql*.deb && \
apt --fix-broken install -y && dpkg -i postgresql*.deb && apt install -f && \
dpkg -l | grep postgresql | awk -F' ' '{print $2}' | sudo xargs apt-mark hold 
sudo nano /etc/postgresql/14/main/pg_hba.conf

последний блок меняем на:

local   all             postgres                                md5
local   all             all                                     peer
host    all             all             0.0.0.0/0               trust
host    all             all             ::1/128                 md5
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5
sudo nano /etc/postgresql/14/main/postgresql.conf

Раскомментируем в файле строку password_encryption и ставим значение md5

password_encryption = md5

изменяем параметр прослушивания источников запросов

listen_addresses = '*'

Задаем сложный пароль для пользователя postgres

su postgres
psql -U postgres -c "alter user postgres with password 'ПАРОЛЬ_ПОСТГРЕС';"
exit

перезапускаем постгрес и проверяем, что он слушает подключения

systemctl restart postgresql && ss -tulpn | grep postgres

вывод

ss -tulpn | grep postgres
	tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      930/postgres
Настройка PostgreSQL - RAM 24Gb, vCPU 8
echo 'ALTER SYSTEM SET max_connections TO 1000;
ALTER SYSTEM SET shared_buffers TO "4GB";
ALTER SYSTEM SET temp_buffers TO "256MB";
ALTER SYSTEM SET work_mem TO "512MB";
ALTER SYSTEM SET maintenance_work_mem TO "2GB";
ALTER SYSTEM SET max_files_per_process TO 1000;
ALTER SYSTEM SET bgwriter_delay TO "20ms";
ALTER SYSTEM SET bgwriter_lru_maxpages TO 400;
ALTER SYSTEM SET bgwriter_lru_multiplier TO 4.0;
ALTER SYSTEM SET effective_io_concurrency TO 200;
ALTER SYSTEM SET max_worker_processes TO 8;
ALTER SYSTEM SET max_parallel_workers_per_gather TO 4;
ALTER SYSTEM SET max_parallel_workers TO 8;
ALTER SYSTEM SET max_parallel_maintenance_workers TO 4;
ALTER SYSTEM SET fsync TO on;
ALTER SYSTEM SET synchronous_commit TO off;
ALTER SYSTEM SET wal_buffers TO "16MB";
ALTER SYSTEM SET commit_delay TO 1000;
ALTER SYSTEM SET commit_siblings TO 5;
ALTER SYSTEM SET min_wal_size TO "4GB";
ALTER SYSTEM SET max_wal_size TO "16GB";
ALTER SYSTEM SET checkpoint_completion_target TO 0.9;
ALTER SYSTEM SET seq_page_cost TO 0.5;
ALTER SYSTEM SET random_page_cost TO 0.5;
ALTER SYSTEM SET effective_cache_size TO "18GB";
ALTER SYSTEM SET autovacuum TO on;
ALTER SYSTEM SET autovacuum_max_workers TO 8;
ALTER SYSTEM SET autovacuum_naptime TO "20s";
ALTER SYSTEM SET row_security TO off;
ALTER SYSTEM SET max_locks_per_transaction TO 256;
ALTER SYSTEM SET escape_string_warning TO off;
ALTER SYSTEM SET standard_conforming_strings TO off;
ALTER SYSTEM SET default_statistics_target TO 200;' | PGPASSWORD=ПАРОЛЬ_ПОСТГРЕС psql -U postgres && systemctl restart postgresql
Настройка PostgreSQL - RAM 32Gb, vCPU 8
echo 'ALTER SYSTEM SET max_connections = 1000;
ALTER SYSTEM SET shared_buffers = "6GB";
ALTER SYSTEM SET temp_buffers = "256MB";
ALTER SYSTEM SET work_mem = "512MB";
ALTER SYSTEM SET maintenance_work_mem = "2GB";
ALTER SYSTEM SET max_files_per_process = 1000;
ALTER SYSTEM SET bgwriter_delay = "20ms";
ALTER SYSTEM SET bgwriter_lru_maxpages = 400;
ALTER SYSTEM SET bgwriter_lru_multiplier = 4.0;
ALTER SYSTEM SET effective_io_concurrency = 200;
ALTER SYSTEM SET max_worker_processes = 8;
ALTER SYSTEM SET max_parallel_workers_per_gather = 4;
ALTER SYSTEM SET max_parallel_workers = 8;
ALTER SYSTEM SET max_parallel_maintenance_workers = 4;
ALTER SYSTEM SET fsync = on;
ALTER SYSTEM SET synchronous_commit = off;
ALTER SYSTEM SET wal_buffers = "16MB";
ALTER SYSTEM SET commit_delay = 1000;
ALTER SYSTEM SET commit_siblings = 5;
ALTER SYSTEM SET min_wal_size = "4GB";
ALTER SYSTEM SET max_wal_size = "16GB";
ALTER SYSTEM SET checkpoint_completion_target = 0.9;
ALTER SYSTEM SET seq_page_cost = 0.5;
ALTER SYSTEM SET random_page_cost = 0.5;
ALTER SYSTEM SET effective_cache_size = "24GB";
ALTER SYSTEM SET autovacuum = on;
ALTER SYSTEM SET autovacuum_max_workers = 8;
ALTER SYSTEM SET autovacuum_naptime = "20s";
ALTER SYSTEM SET row_security = off;
ALTER SYSTEM SET max_locks_per_transaction = 256;
ALTER SYSTEM SET escape_string_warning = off;
ALTER SYSTEM SET standard_conforming_strings = off;
ALTER SYSTEM SET default_statistics_target = 200;' | PGPASSWORD=ПАРОЛЬ_ПОСТГРЕС psql -U postgres && systemctl restart postgresql
PostgresPro
su
PATH=$PATH:/sbin
apt update && apt dist-upgrade -y && apt install ssh htop mc vim sudo gnupg libc6 libllvm9 ssl-cert -y
timedatectl set-timezone Europe/Moscow && timedatectl set-ntp on

В 1-ом диалоге проверяем, что RU выбран и выбираем RU во втором

locale-gen en_US.UTF-8 && locale-gen ru_RU.UTF-8 && dpkg-reconfigure locales && update-locale LANG=ru_RU.UTF-8 && update-locale LANG=ru_RU.UTF-8

Ставим PostgreSQL от PostgresPro

curl -o pgpro-repo-add.sh https://repo.postgrespro.ru/pg1c-14/keys/pgpro-repo-add.sh && \
sh pgpro-repo-add.sh && apt-get install postgrespro-1c-14 -y && systemctl stop postgrespro-1c-14 && \
rm -r /var/lib/pgpro/1c-14/data/* && /opt/pgpro/1c-14/bin/pg-setup initdb --tune=1c --locale=ru_RU.UTF-8 && \
systemctl start postgrespro-1c-14 && \
dpkg -l | grep postgres | awk -F' ' '{print $2}' | sudo xargs apt-mark hold 

Задаем сложный пароль для пользователя postgres

su postgres
psql -U postgres -c "alter user postgres with password 'ПАРОЛЬ_ПОСТГРЕС';"
exit

перезапускаем постгрес и проверяем, что он слушает подключения

systemctl restart postgrespro-1c-14 && ss -tulpn | grep postgres

IT-Admins. 2020