Назад
DevOps
PostgreSQL+1C на Ubuntu Linux RemoteApp Tool — пошаговая настройка RDP-доступа к приложениям Автозапуск 1С при подключении к ТС на Windows Server 2016 Автоматизация установки 1С Автоматическое создание резервной копии настроек Mikrotik с отправкой на почту и FTP Авторизация баз 1С в SQL через локальную учетную запись Базовая настройка Unifi контроллера Базовая настройка Windows Server 2019 Базовая настройка маршрутизаторов MikroTik на примере RB2011 Восстановление базы PostgreSQL 1С из резервной копии Восстановление базы данных 1С на SQL сервере Восстановление кластера MySQL Восстановление почтовой базы данных Exchange Server 2013/2016 Восстановление системы Windows Server 2019 Восстановление файла данных Outlook (.pst) Делегирование полномочий пользователю конфигурации узла сеансов удаленных рабочих столов Windows Server 2012-2019 Диагностика компонентов Exchange 2016 Добавление второго контроллера домена в существующий домен Добавление диска LVM Добавление нового сотрудника в систему Sigur Запрет запуска программ Windows Изменение максимального размера вложений в Exchange и Outlook Изменение пароля на удаленном рабочем столе Инструкция добавления нового сотрудника в Biosmart Studio 5 + просмотр отчетов Интеграция облачной инфраструктуры с локальной ИТ-инфраструктурой Использование DNS challenge для выпуска SSL-сертификатов Lets Encrypt Как обновить платформу 1С на сервере Как опубликовать базы 1С на веб-сервере Windows и Linux Как организовать ИТ-поддержку клиентов Как организовать удаленную работу с клиент-банком Как передать файл с клиента на сервер 1С 8.3 Как перенести базу 1С в облако Как подключить COM-объект Excel в 1C Как подключиться удаленно к 1С Как устранить ошибку подключения по RDP Win 7 -> Win Server Миграция Active Directory с Windows Server 2016 на Windows Server 2022 Нагрузочное тестирование 1С:ERP+тест-центр Нагрузочное тестирование сервера на Linux Настройка AlwaysOn MS SQL Настройка Juniper Virtual Chassis QFX5100 Настройка PostgreSQL на Centos Настройка PostgreSQL на Windows Настройка QoS для ISCSi Настройка RemoteApp на Windows Server 2019 Настройка SMS-оповещения в системе СКУД SIGUR Настройка SNMP на MikroTik Настройка VLAN в Proxmox VE Настройка VPN-сервера на Windows Server 2016 Настройка ZFS в Proxmox VE Настройка веб-публикации 1С, подключение кассового оборудования Настройка внутренней фильтрации содержимого в Exchange Server 2016 Настройка графика доступности в Zabbix: мониторинг ping-ответов Настройка групповой политики на Windows Server 2016 Настройка групповых политик Windows Server 2019 Настройка зеркалирования MS SQL 2019 Настройка кластера Asterisk с использованием VRRP Настройка кластера HAproxy при помощи VRRP Настройка коммутатора D-link SmartPro серии DES/DGS Настройка контроллера домена Windows Server 2019 Настройка подключения к удаленному рабочему столу на iOS Настройка резервирования интернет-канала (Mikrotik) Настройка репликации типа Master-Master на MySQL (MariaDB) Настройка сервера лицензирования Windows Server 2019 Настройка сервера лицензирования СЛК Настройка сетей Hyper-V Настройка сети в Proxmox 7 Настройка терминального сервера Windows 2012 R2 Настройка терминального сервера Windows Server 2016 Настройка терминального сервера на базе Windows Server 2022 Настройка файлового сервера Windows Server 2019 Настройка формата и оптимизация журнала регистрации 1С Настройка шифрованной телефонии на базе Asterisk Настройка экстренного отключения удаленного сервера Windows Обновление оборудования Juniper Обновление тонкого клиента 1С при веб-публикации Отказоустойчивый FTP через HAproxy Отключение обновлений Windows Server через групповые политики Очистка кэша 1С Ошибка 1069 на сервере 1С Ошибка http при обращении к серверу 1C Ошибка «Не удается войти в учетную запись» в ОС Windows Ошибка в 1С при получении характеристик принтера Ошибка при обновлении SQL Server — MSSQLSERVER.INACTIVE Перенос баз 1С Перенос журнала регистраций 1С (srvinfo) на другой диск Перенос ключей КриптоПро Перенос писем с помощью .pst в Microsoft Exchange Перенос почтовых ящиков Exchange на другой сервер Перенос файлов с помощью Robocopy Подключение iSCSI в Proxmox VE Подключение аппаратного USB-ключа лицензии 1С на удаленный сервер Подключение к облачному серверу 1C по OpenVPN на ipad / iphone Подключение к удаленному рабочему столу Windows через MacOS Подключение модуля расширения веб-сервера в 1С Подключение по RDP с Linux систем Подключение сетевого принтера на Windows 10 Поиск наиболее нагруженных баз MSSQL при работе с 1С Почтовый переезд средствами IMAP Проброс диска в Proxmox 7 Проброс портов на MikroTik Проверка актуальности учетных данных в документации ИТ-объекта Разворачиваем отказоустойчивый кластер MS SQL Server 2012 на Windows Server 2016 Резервное копирование 1С на MSSQL Резервное копирование PostgreSQL Резервное копирование на Proxmox VE Решение ошибки Proxmox VE — error 0 occurred while receiving the document Решение проблемы: агент сервера 1С:Предприятие останавливается Решение проблемы: недостаточно памяти на сервере 1С Решение проблемы: ошибка 500 на веб-сервере IIS 1С Сброс пароля в Windows Сеанс удаленного рабочего стола или удаленного приложения не прекращается из-за splwow64.exe процесса Сервер хранилища конфигураций 1C на Linux Сжатие базы данных MySQL и MariaDB Смена истекшего пароля с помощью Windows RDS Смена рабочего места в базах 1С Создание mesh сети Wi-Fi на базе Ubiquiti Unifi 6 Создание и отзыв сертификатов OpenVPN Создание отказоустойчивого кластера 1С Создание резервных копий SQL Postgres на S3-хранилище Создание резервных копий БД SQL на серверы объектного хранилища S3 Создание шифрованых дисков с помощью PGP Сохранение конфигурации Juniper Схема действий в форс-мажорных ситуациях (IT) Удаление агента сервера 1С Удаление базы 1С из кластера Удаление пользователя из 1С Удаление сеанса пользователя в 1С Удаление терминальных лицензий (RDS CAL) Установка 1С:Предприятие на Mac OS Установка Astra Linux Common Edition на VirtualBox Установка Bareos Установка COM-компонента в 1С Установка Exchange Server 2016 Установка Exchange Server 2019 Установка KVM на ubuntu Установка MariaDB на CentOS 7 Установка Proxmox 7 на Debian 11 Установка Proxmox Mail Gateway 7 Установка RabbitMQ (Windows) Установка Ubuntu на Proxmox 7 Установка Windows Server 2019 на Proxmox Установка Windows Server 2022 на виртуальную машину Hyper-V Установка драйвера принтера на терминальный сервер Windows Server 2019 Установка и базовая настройка MS SQL 2019 для 1С Установка и базовая настройка OpenMediaVault Установка и настройка DHCP на Windows Server 2019 Установка и настройка TrueNAS CORE Установка и настройка Zabbix, настройка агента и уведомлений Установка и настройка Zimbra на CentOS 7 Установка и настройка контроллера домена Active Directory Domain Установка и настройка СУБД Postgres Pro для 1С Установка квоты каталогов в Windows Servers Установка нескольких версий сервера 1С Установка сервера 1С и MS SQL с настройкой для оптимизации 1С Установка сервера 1С на Ubuntu + PostgreSQL Установка сервера 1С:Предприятие в связке с CentOS 7 и PostgreSQL Установка терминального сервера Windows Server 2019 Устранение ошибки 0x800700DF в WebDAV Устранение ошибки «удаленный хост разорвал существующее подключение 1С» Устранение ошибки проверки подлинности RDP Устранение ошибки службы Active Directory сейчас недоступны (не печатает принтер на Windows 10) Устранение проблемы несоответствия версий 1С Фильтрация писем в Exchange (Outlook web) Что делать, если сервер 1С:Предприятие не обнаружен

Установка сервера 1С:Предприятие в связке с CentOS 7 и PostgreSQL

1

Устанавливаем CentOS 7 редакции minimal.

Образ можно взять с официального сайта: www.centos.org/download/

Так как 1С работает только с русской локализацией, то необходимо сразу устанавливать систему с учётом этого. В дальнейшем все действия производятся от имени суперпользователя.

Проверка текущей локализации системы:

Для проверки доступности необходимой локали используем команду:

Для смены локали:

2

Далее настраиваем статический IP-адрес, маску подсети, шлюз по умолчанию, DNS.

Предварительно делаем бекап стандартного файла конфигурации сетевого интерфейса:

Далее конфигурируем интерфейс (адреса выставляем свои):

3

В файле /etc/hostname изменим имя хоста на более удобное: 1с-srv.

Сопоставим IP с именем хоста для удобства обращения к серверу. В файле /etc/hosts добавляем запись:

Так же необходимо это соответствие будет прописать на все клиентах, которые будут работать с сервером 1С. В операционной системе Windows это прописывается в файле: C:WindowsSystem32driversetchosts

172.17.18.236   1c-srv

Также редактируем файл /etc/sysconfig/network, прописываем имя хоста и отключим адресацию IPv6:

Отключаем использование IPv6 на уровне ядра. В файле /etc/sysctl.conf добавляем строчки:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Сохраняем и применяем настройки:

sysctl -p

Отключаем SELinux в файле /etc/sysconfig/selinux

Выполняем команду

setenforce 0

После всех манипуляций обязательно рестарт сети: systemctl restart network и проверяем работу введенной конфигурации.

4

Следующим шагом обновляем систему и устанавливаем пакеты программ и библиотек:

yum -y update
yum -y install epel-release
yum -y install nano mc wget net-tools rpm-build gcc make glibc-devel bison flex python-devel tcl-devel readline-devel zlib-devel openssl-devel krb5-devel e2fsprogs-devel gettext pam-devel openldap-devel icu libicu libicu-devel
5

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

6

Переходим в папку с 1с:

     cd ./tmp/1c

Распаковываем наш архив:

tar -xvf rpm64_8_3_13_1865.tar.gz

Устанавливаем сервер:

yum localinstall ./*.rpm

Прописываем сервер в автозагрузку:

chkconfig srv1cv83 on

Запускаем сервер:

service srv1cv83 start

Проверяем запуск сервера:

Назначим владельцем директории /opt/1C автоматически созданного пользователя usr1cv8 и группу пользователей grp1cv8:

chown -R usr1cv8:grp1cv8 /opt/1C

Задаём пароль для usr1cv8:

passwd usr1cv8
7

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

cd ./Postgresql

Распаковываем наш архивы:

tar -xvf postgresql_10.5_11.1C_x86_64_rpm.tar.bz2
tar -xvf postgresql_10.5_11.1C_x86_64_addon_rpm.tar.bz2

Устанавливаем Postgresql:

cd ./postgresql-10.5-11.1C_x86_64_rpm/
yum localinstall ./*.rpm

Устанавливаем доп. модули:

cd ./postgresql-10.5-11.1C_x86_64_addon_rpm/
yum localinstall ./*.rpm
8

Переключаемся на пользователя postgres (создаётся автоматически при сборке из исходников):

su - postgres

Далее необходимо проинициализировать служебные базы данных с русской локалью:

/usr/pgsql-10/bin/initdb -D /var/lib/pgsql/10/data --locale=ru_RU.UTF-8

Если все прошло успешно можно запускать сервер базы данных. Если нужно создать новую системную базу, то необходимо удалить папку /var/lib/pgsql/10/data.

Запускаем сервер:

/usr/pgsql-10/bin/pg_ctl -D /var/lib/pgsql/10/data -l logfile start

Заходим в базу и задаём пароль для пользователя postgres:

Проверяем локализацию и работоспособность сервера Postgres:

Обязательно редактируем файл /var/lib/pgsql/10/data/pg_hba.conf задаем в нем доступ к базам по паролю, а также передачу данных аутентификации в формате md5 хеш суммы.

Перезагружаем сервер.

9

После перезагрузки запускаем вручную Postgre и добавляем в автозагрузку:

service postgresql-10 start
chkconfig postgresql-10 on

Проверяем результат:

service postgresql-10 status
netstat -tulpn | grep 5432 (по умолчанию postgres использует порт 5432)
10

Следующим шагом задаем конфигурации сервера Postgres.

Здесь нужно ориентироваться на конфигурацию 1С, количество пользователей 1С, объёмы баз, количество операций с базами. Поэтому конфигурирование большей части параметров производится, на запущенном сервере, путём подбора оптимальных показателей. Настройку выполняем путем редактирования файла /var/lib/pgsql/10/data/postgresql.conf

Частично можно ознакомится с параметрами здесь infostart.ru/public/554213/, а также на сайте postgrespro.ru/docs/.

Предварительно делаем резервную копию postgresql.conf

cp /var/lib/pgsql/10/data/postgresql.conf /var/lib/pgsql/10/data/postgresql.conf.bak

На данной стадии нас интересует параметр listen_addresses, данный параметр позволят задать адрес, список адресов, с которых будет возможно подключение, * – для любого адреса.

11

Теперь необходимо добавить шрифты и кодировки.

yum -y install xorg-x11-fonts-Type1 xorg-x11-fonts-truetype
yum install -y curl cabextract xorg-x11-font-utils fontconfig
rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Устанавливаем библиотеки для иконок и картинок:

yum install ImageMagick.i686 ImageMagick libgsf.i686 unixODBC.i686 glib2.i686

При подключении 1с к серверу может выдать ошибку на отсутствие библиотеки libWand.so, поэтому создадим символическую ссылку на файл установленной библиотеки:

12

Настроим firewall на нашем сервере.

systemctl stop firewalld
systemctl disable firewall
yum -y install iptables-services
systemctl enable iptables
systemctl start iptables

Заходим в настройки iptables и приводим файл к следующему виду:

vi /etc/sysconfig/iptables
13

Переходим на машину с Windows. Устанавливаем клиент 1С и утилиты для администрирования. Запускаем администрирование 1С.

Если будет ошибка о невозможности загрузить оснастку, используем bat-файл от имени администратора, Регистрация утилиты администрирования. Найти его можно в Пуск – 1С:Предприятие:

Теперь можно добавить наш сервер.

В появившемся окне прописываем имя нашего сервера.

Если все настроено правильно, то увидим локальный кластер с нашим сервером. Создаём информационную базу.

В случае ошибки, при создании базы, идем на сервер и заходим под пользователем postgres. Далее удаляем базу: dropdb postgres.

14

Следующим шагом переходим в 1С и добавляем нашу базу:

Заходим в конфигуратор и загружаем базу Gilev для теста:

15

Следующим шагом настроим Web-публикацию:

yum -y install httpd

Редактируем /etc/httpd/conf/httpd.conf где задаем значение директиве ServerName:

ServerName=1c-srv

В корневом каталоге сайта создаем директорию test, где test — имя базы к которой мы будем предоставлять доступ.

mkdir /var/www/html/test

Теперь нам необходимо запустить специальный скрипт для публикации базы на веб-сервере:

/opt/1C/v8.3/x86_64/webinst -apache24 -wsdir test -dir '/var/www/html/test' -connStr 'Srvr="1c-srv";Ref="test";' -confPath /etc/httpd/conf/httpd.conf

Выдаем права на директорию:

chown -R apache:apache /var/www/html/test

Запускаем Apache и добавляем в автозагрузку:

systemctl enable httpd
systemctl start httpd

Теперь проверяем по адресу 1c-srv/test

16

Заключительным этапом настроим резервное копирование базы данных и обслуживание.

Первым делом установим архиватор pigz, поскольку он, в отличии от gzip, хорошо загружает все ядра процессора, что в свою очередь повышает производительность и скорость выполнения архивации.

yum -y install pigz

Монтирование диска:

Создадим папку для монтирования диска для бекапов и монтируем его:

mkdir /mnt/buckup 
mount /dev/sdb1 /mnt/buckup/

Для автоматического монтирования прописываем диск в файл fstab:

vi /etc/fstab
/dev/sdb1 /mnt/buckup ext4 defaults 0 0

Создаем директории, в которых будут находиться наши бекапы (Day, Week, Month…) и назначим владельцем postgres:

mkdir /mnt/buckup/Day /mnt/buckup/Week /mnt/buckup/Month
chown -R postgres:postgres /mnt/buckup

Создаем папки для записи лог файлов:

mkdir /var/log/postgresql/ /var/log/postgresql/Day /var/log/postgresql/Week /var/log/postgresql/Month
chown -R postgres:postgres /var/log/postgresql/

Далее создаем скрипт buckup.sh для резервного копирования и обслуживания базы:

#!/bin/sh
#Установим период, по истечению которого удалятся старые бекапы
days=$2
#Установим тип резервного копирования
type=$1
# Устанавливаем дату
DATA=`date +"%Y-%m-%d_%H-%M"`
# Записываем информацию в лог с секундами
echo “----------------------------$DATA---------------------------------------” >> /var/log/postgresql/$type/backup.log
echo "`date +"%Y-%m-%d_%H-%M-%S"` Start backup postgres" >> /var/log/postgresql/$type/backup.log
# Бэкапим базу данных postgres и сразу сжимаем
/usr/bin/pg_dump -U postgres postgres | pigz > /mnt/buckup/$type/$DATA-postgres.sql.gz
echo "`date +"%Y-%m-%d_%H-%M-%S"` End backup postgres" >> /var/log/postgresql/$type/backup.log
echo “------------------------------------------------------------------------” >> /var/log/postgresql/$type/backup.log
# Удаляем в папке с бэкапами старые архивы
/usr/bin/find /mnt/buckup/$type -type f -mtime +$days -exec rm -rf {} ;
sleep 2
#Очистка и анализ базы
echo “----------------------------$DATA---------------------------------------” >> /var/log/postgresql/$type/service.log
# Записываем информацию в лог с секундами
echo "`date +"%Y-%m-%d_%H-%M-%S"` Start vacuumdb postgres" >> /var/log/postgresql/$type/service.log
vacuumdb --verbose --analyze --full --quiet --dbname=postgres
echo "`date +"%Y-%m-%d_%H-%M-%S"` End vacuumdb postgres" >> /var/log/postgresql/$type/service.log
echo “------------------------------------------------------------------------” >> /var/log/postgresql/$type/service.log
#Перестроение индекса
sleep 2
echo "`date +"%Y-%m-%d_%H-%M-%S"` Start reindex postgres" >> /var/log/postgresql/$type/service.log
/usr/bin/reindexdb --username postgres --dbname postgres
echo "`date +"%Y-%m-%d_%H-%M-%S"` End reindex postgres" >> /var/log/postgresql/$type/service.log
echo “------------------------------------------------------------------------” >> /var/log/postgresql/$type/service.log

Сохраняем скрипт и кладем его в папку /var/log/postgresql/buckup.sh

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

chmod +x /var/log/postgresql/buckup.sh

Заходим от имени пользователя postgres и добавляем скрип в /etc/crontab

su – postgres
crontab -e
Дата публикации: 26 декабря 2022
Не нашли ответа на свой вопрос?

Смотрите также

Обсуждение материала

  • Аноним

    неплохая статья

  • Аноним

    Чтобы подключаться к серверу из postgres на виндовс, еще открыть порт 5432. Т.е. будет 80,443,53,5432

    • https://efsol.ru/ EFSOL

      Спасибо за Ваш комментарий и внимательность, но вы не совсем правы. Прямого подключения с клиента к СУБД PostgreSQL не будет. Мы будем подключаться только на Сервер 1с, а это 1540, 1541. Порт 5432 будет доступ локально на Centos и к ниму будет подключаться Сервер 1С, который стоит на этой машине

  • Аноним

    Здесь ошибка, будьте внимательны
    systemctl stop firewalld
    systemctl disable firewall
    yum -y install iptables-services
    systemctl enable firewalld
    systemctl start firewalld

    после yum -y install iptables-services нужно стартовать не firewalld, а iptables
    systemctl start iptables
    systemctl start ip6tables

    • https://efsol.ru/ EFSOL

      Спасибо, увидели опечатку с firewalld
      Исправим.

      Конечно же правильный вариант
      systemctl stop firewalld
      systemctl disable firewall
      yum -y install iptables-services
      systemctl enable iptables
      systemctl start iptables

  • Аноним

    А как быть ?

    • Аноним

      А Вы думали что это всё на халяву…? Из сообщения ясно что у Вас долдна быть аппаратная либо программная лицензия.

    • https://efsol.ru/ EFSOL

      Использование сервера 1С:Предприятие лицензируется программным или аппаратным ключом, который приобретается у дистрибьюторов.

  • Аноним

    Доброго всем.

    При создании базы ошибка : server_addr=1c descr=11001(0x00002AF9): Этот хост не известен, line=830=srcDataExchangeCommon.cpp

    В случае ошибки, при создании базы, идем на сервер и заходим под пользователем postgres. Далее удаляем базу: dropdb база.

    dropdb: ошибка: ошибка при удалении базы данных: ОШИБКА: база данных “база” не существует

    пока все работат без selinux и firewalld или iptables

    • https://efsol.ru/ EFSOL

      Причин данной ошибки может быть множество, обращайтесь к нам, специалисты найдут и устранят проблему.

  • Аноним

    Приветствую.
    кластер в сервере подключился НО:
    при создании базы ошибка:
    server_addr=1c descr=11001(0x00002AF9): Этот хост не известен. line=830 file=scrDataExhangeCommon.cpp

    При этом selinux все файруволы отключены
    на хосте с виндой в hosts прописан IP имя сервера.

    Как еще решить проблему?

    • https://efsol.ru/ EFSOL

      Рекомендуем оставить контакты, чтобы наши специалисты помогли вам.

  • Аноним

    Спасибо. Интересная статья и сайт не плохой. Добавил в закладки. Хотелось бы статейки еще сохранять в pdf. Добавьте пожалуйста такую возможность.

    • https://efsol.ru/ EFSOL

      Спасибо за обратную связь. Можете сохранить в pdf через браузер, правда тогда сохранится вся страница. А по поводу сохранения текста отдельно – подумаем.

  • Аноним

    Всем привет! Кто нибудь сталкивался с такой проблемой:
    Развернул сервер на Centos 7, поставил пакеты 1с и postgres 12. Толстый клиент коннектится, базу создает. После загрузки дампа базы 1с (*.dt) 1с открывается, все работает шустро…но вот ни один отчет не формируется! Ни отчет по складу, ни по продажам. конфа “Розница 2.3”
    Вот скрин – https://prnt.sc/10ynigu
    Открываю файловую базу – все работает…подскажите где копать

    • https://efsol.ru/ EFSOL

      Так сразу и не ответишь на ваш вопрос. Попробуйте написать нам в чат для более подробного разбора проблемы.

  • Аноним

    При работе бекап скрипта появляется ошибка – неверный аргумент `+’ у `-mtime’

    • https://efsol.ru/ EFSOL

      Вы точно все так сделали, как написано?

  • Аноним

    Да, скрипт прекрасно работает, но возникает странная ошибка при очистке старых бекапов (собственно строчка, отвечающая за поиск таковых и их удаление (в скрипте старше 2-х дней, насколько я понимаю) у меня срабатывает. Почему, не пойму. Гуглил вопрос, вроде никаких синтаксических ошибок в этой строчке нет. Мистика 🙂

    • https://efsol.ru/ EFSOL

      Что за ошибка, расскажите подробнее?

Содержание

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.