Инструкция по установке сервера 1С и PostgreSQL на CentOS Linux

08.10.16

База данных - Инструменты администратора БД

В данной статье будет рассмотрена пошаговая установка СУБД PostgreSQL и сервера 1С:Предприятия (64-bit) на операционную систему CentOS Linux 7

Предполагается, что операционная система с поддержкой русской локализации уже установлена и мы уже имеем дистрибутив сервера 1С для RPM-based Linux-систем.

Используемые версии дистрибутивов, актуальные на момент написания статьи:

  • Операционная система: CentOS Linux release 7.2.1511
  • СУБД: PostgreSQL Pro 9.4.9
  • Сервер 1С:Предприятия: 8.3.9.1818

Дистрибутивы СУБД PostgreSQL Pro устанавливаются из установочных пакетов, собранных компанией Postgres Professional. В эти установочные пакеты включены изменения, предоставленные компанией 1С. 

Настройка hostname и DNS

Hostname в Centos меняется следующей командой:

hostnamectl set-hostname pgsql_1c

Для нормальной работы сервера 1С необходим правильно настроенный DNS сервер, но его настройка выходит за рамки данной статьи. Поэтому для сохранения функциональности сервера мы будем использовать файлы hosts на используемых системах.

На Centos необходимо прописать адрес сервера в файле /etc/hosts :

127.0.0.1 pgsql_1c

Также необходимо прописать на машине, на которой будут установлены платформа и консоль управления сервером 1С в файле hosts (для Windows это C:\Windows\System32\Drivers\etc\hosts) адрес сервера 1С:Предприятие. 
Например:

192.168.1.5 pgsql_1c


Установка и настройка PostgreSQL

1) Для установки дистрибутивов PostgreSQL Pro необходимо подключить репозитории.

sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos94.noarch.rpm

2) Далее устанавливаем непосредственно дистрибутив PostgreSQL Pro.

sudo yum install postgresql-pro-1c-9.4

3) После установки дистрибутива для удобства администрирования сервера PostgreSQL рекомендуется прописать необходимые переменные окружения для пользователя postgres. Этот шаг необязателен.

Переключимся на пользователя postgres с его окружением:

su - postgres

Открываем файл, в котором зададим необходимые переменные окружения:

vim .bash_profile

Добавляем в этот файл переменные:

export PATH=/usr/pgsql-9.4/bin:$PATH
export MANPATH=/usr/pgsql-9.4/share/man:$MANPATH

Пример результата измененного файла:

Пример результата измененного файла

4) Инициализируем служебные базы данных с русской локализацией (под пользователем postgres).

initdb --locale=ru_RU.UTF-8

5) Запуск сервера PostgreSQL.

systemctl enable postgresql-9.4
systemctl start postgresql-9.4
systemctl status postgresql-9.4

6) Изменение настроек сервера PostgreSQL
В файле /var/lib/pgsql/9.4/data/pg_hba.conf изменим строку

host all all 0.0.0.0/0 trusted
на
host all all 0.0.0.0/0 md5

для возможности пользователю postgres авторизовываться по паролю.

Далее в файле /var/lib/pgsql/9.4/data/postgresql.conf изменяем настройки под наши нужды. Редактируемые настройки:

shared_buffers = 512MB
temp_buffers = 16MB
work_mem = 128MB
maintenance_work_mem = 192MB
effective_cache_size = 8GB

Внимание! Подбор данных настроек производится индивидуально и зависит как от характеристик сервера, на котором будет работать сервер PostgreSQL, так и от характеристик информационных баз, которые будут обрабатываться на этом сервере.

7) Задаем пароль пользователю postgres, для того чтобы была возможность подключаться к серверу удаленно.

su – postgres
psql
ALTER USER postgres WITH ENCRYPTED PASSWORD 'yourpassword';

(вместо yourpassword поставьте нужный пароль)

8) Рестарт сервера PostgreSQL

systemctl stop postgresql-9.4
systemctl start postgresql-9.4
systemctl status postgresql-9.4


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

1) Установка сервера 1С:Предприятие из пакетов.
Как оговаривалось в начале статьи, предполагается что у нас уже есть дистрибутив сервера 1С для RPM-based Linux-систем. Он из себя представляет архив с именем rpm64.tar.gz. После разархивирования мы получим список файлов:

1C_Enterprise83-common-8.3.9-1818.x86_64.rpm
1C_Enterprise83-server-8.3.9-1818.x86_64.rpm
1C_Enterprise83-ws-8.3.9-1818.x86_64.rpm
1C_Enterprise83-common-nls-8.3.9-1818.x86_64.rpm
1C_Enterprise83-server-nls-8.3.9-1818.x86_64.rpm
1C_Enterprise83-ws-nls-8.3.9-1818.x86_64.rpm

Находясь в каталоге с этими файлами, мы их устанавливаем командой:

yum localinstall *.rpm

2) Запуск сервера 1С.

systemctl enable srv1cv83
systemctl start srv1cv83
systemctl status srv1cv83

Высока вероятность, что сервер не запустится с первого раза, и при попытке запуска Вы получите ошибку вида:

Failed at step EXEC spawning /etc/rc.d/init.d/srv1cv83: Exec format error

Чтобы устранить эту ошибку, необходимо в скрипте инициализации сервера указать интерпретатор (например shell или bash), для этого необходимо добавить в начало файла /etc/init.d/srv1cv83 строку:

#!/bin/bash 

Затем надо перезагрузить systemd для поиска новых или измененных юнитов:

systemctl daemon-reload

И снова попытаться запустить сервер 1С:Предприятие

systemctl restart srv1cv83.service

3) Установка необходимых пакетов для корректной работы сервера 1С.
В документации сервера 1С:Предприятия описана утилита config_system, которая необходима для анализа готовности системы к запуску сервера 1С, в частности она помогает обнаружить отсутствующие необходимые пакеты для корректной работы сервера 1С. К сожалению, анализ rmp пакетов (rmp -ql) показал отсутствие данной утилиты в составе дистрибутива сервера 1С версии 8.3.9.1818.

Необходимость данных пакетов выяснилась опытным путем:

yum install fontconfig-devel
yum install ImageMagick

4) Рестарт сервера 1С.

systemctl stop srv1cv83
systemctl start srv1cv83
systemctl status srv1cv83


Настройка сервера 1С посредством консоли администрирования.

1) Подключение к серверу 1С.
Необходимо указать имя сервера (прописанное в hosts) и порт 1540 (используется по умолчанию):

Консоль сервера 1С


2) Создание кластера.
Необходимо указать:
- произвольное имя кластера,
- имя центрального сервера, на котором располагается кластер (прописанный в hosts)
- порт 1541 (используется по умолчанию)

Новый кластер


3) Создание базы на кластере сервера 1С.
Необходимо указать:
- имя базы на кластере 1С;
- имя сервера баз данных (прописанное в hosts);
- тип СУБД (PostgeSQL);
- имя базы данных на сервере СУБД;
- пользователь сервера СУБД (в нашем случае postgres);
- пароль указанного пользователя сервера СУБД.

При необходимости можно отметить пункт «Создать базу с случае ее отсутствия»

Новая информационная база


Всё, можете пользоваться.

настройка установка сервер 1С PostgreSQL linux centos

См. также

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7964    59    24    

70

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

16800 руб.

06.12.2023    8917    42    5    

74

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8500 руб.

10.11.2023    10499    36    25    

61

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    188124    1140    0    

912

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    32732    106    152    

73

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    72819    627    45    

85

Инструменты администратора БД Системный администратор Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    62849    94    59    

79

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    9856    7    4    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. zabaluev 464 08.10.16 17:59 Сейчас в теме
Хорошо бы написать скрипт, который все эти манипуляции сделал с командами и фалами настройки.
3. 7o2uYXg 44 09.10.16 23:03 Сейчас в теме
(1) zabaluev, Экономия времени при наличии скрипта небольшая, зато вероятность ошибки значительная. Например, если версии пакетов изменились, или у вас настройки отличаются.
6. nvv1970 08.11.17 22:02 Сейчас в теме
(3) Ну да... У кого-то это займет пару недель... Скрип написать точно не быстрее. ))
Один vim чего стоит (
2. DenisCh 08.10.16 18:07 Сейчас в теме
Не увидел правильного решения этой задачи. Низачот (с)
4. neyasytyf 12.10.16 11:20 Сейчас в теме
Все-таки в документации это все есть. По поводу config_server, он есть в версии 8.2, поэтому лучше один раз поставить на виртуальную машину сервер 1с 8.2 и получить список пакетов из config_server. Про настройку PostgreSQL лучше отправить на ИТС Postgresql. Прописывать в файликах hosts адрес сервера на всех клиентских компьютерах решение не ахти, лучше на сервере настроить wins (да придется поставить Samba). Так же ничего не сказано про hasp, так как ключи все-таки лучше программной лицензии. Настройка firewall была бы не лишней, и есть ли проблемы с SELinux. Интересен опыт использования сборки от Postgresql Professional: какая база, сколько работаете ? У меня с УПП при работе с документом Реализация товаров и услуг были большие проблемы, пришлось перейти на сборку от 1С.
7. nico 09.11.17 11:54 Сейчас в теме
(4)
Прописывать в файликах hosts адрес сервера на всех клиентских компьютерах решение не ахти, лучше на сервере настроить wins (да придется поставить Samba)

Я просто в консоли кластера удалю вновь созданный кластер, и добавляю новый и указываю ip адрес или корректное dns имя.
5. --toxic-- 18.10.16 01:38 Сейчас в теме
Все внятно и понятно в общих чертах. Спасибо! +

P.S. http://1c.postgrespro.ru/keys/postgrespro-1c-centos94.noarch.rpm - не работает ))
8. Alexez 75 19.07.18 22:25 Сейчас в теме
кому интересно как установить Apache32 битный на CentOS x64.
1. надо забэкапить repo файлы: cp -f -R /etc/yum.repo.d /etc/yum.repo.d.backup
2. потом удалить текущие репо: rm -f /etc/yum.repo.d/*
3. и создать один репо файлик : /etc/yum.repo.d/my.repo c содержимым

[my]
name=CentOS
baseurl=http://mirror.centos.org/altarch/$releasever/os/i386/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

4. устанавливаем yum install httpd.i686
5. если успешно поставится, надо вернуть назад нормальные репо-файлы:
cp -f /etc/yum.repo.d.backup/* /etc/yum.repo.d/

./webinst -apache24 -wsdir mybase -dir '/var/www/mybase/' -connStr 'Srvr=localhost;Ref=base;' -confPath /etc/httpd/conf/httpd.conf
9. DMSDeveloper 148 23.02.19 13:28 Сейчас в теме
А никто не сталкивался с таким, после установки Postgresql от Postgrespro в системе отсутствует psql?
Почему так, понять не могу. google тоже молчит.

psql не найден ни под root, ни под postgres ни под sudo.

Сервер CentOS 7.
Установку postgres делал по инструкции с сайта https://postgrespro.ru/products/archive/1c.
Прикрепленные файлы:
10. DMSDeveloper 148 23.02.19 14:09 Сейчас в теме
Сам же и нашел ответ.
Теперь psql лежит в другом месте
/opt/pgpro/1c-11/bin/psql

Как прописать этот путь в окружение пользователя не знаю.

при вызове vim .bash_profile получаю пустой файл.
cleaner_it; +1 Ответить
11. user797081 21.05.19 08:45 Сейчас в теме
(10)
При установке pgpro достаточно выполнить yum install postgrespro-std-10 и больше ничего не трогать, ну кроме нужных пакетов типа postgrespro-std-10-client postgrespro-std-10-libs postgrespro-std-10-contrib postgrespro-std-10-devel и т.д. И все будет на месте сам ПГ в /opt база в /var/lib/pgpro Кластер инициализируется автоматом и запустится и сам перейдет в режим автозапуска. И pgpro11 я бы пока не рекомендовал использовать
12. ansh15 21.05.19 09:40 Сейчас в теме
(10) Добавить в него строчки
PATH=$PATH:/opt/pgpro/1c-11/bin
export PATH
Перелогиниться, чтобы изменения вступили в силу.
Для пользователя postgres, конечно.
cleaner_it; +1 Ответить
13. rogembaum 09.06.20 18:39 Сейчас в теме
Статья хорошая!
Может кому пригодится скрипт на Ansible
https://github.com/Rogembaum/ansible_install_1c_postgresql.git
14. Tailerus 23.09.20 19:34 Сейчас в теме
А есть ли у кого инструкция по web-публикации. Чтоб не использовать тонкие и толстые клиенты, а работать не посредственно на сервере сразу
15. Tailerus 23.09.20 20:09 Сейчас в теме
А вообще у кого по данной инсрукции поднялось? инструкция рабочая ???
потому как
Прикрепленные файлы:
Оставьте свое сообщение