Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

27.01.19

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

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом. Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С). На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков). Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres. А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL). Если, конечно, статья придется вам по вкусу.

Эпиграф:

Хорошо погуляли – это когда утром хочется начать новую жизнь. В новом городе. Под новым именем.

Внимательно прочитав данный материал, вы сможете самостоятельно собрать сервер на Linux и Postgres.
Отличное начало нового года.
 

Гарантии и отказ от них:

Подобные статьи устаревают достаточно быстро. Особенно неблагодарная вещь - публиковать цены.
Обязательно посмотрите дату, хотя бы год и сравните с текущим). 
Путь описанный в публикации позволит вам максимально просто установить полностью работоспособный сервер, только если вы будете следовать инструкциям.
Базовые знания Linux, Postgres и компьютерных технологий в целом будут вам хорошим подспорьем.

Все, что вы делаете, это ваш выбор и ваша ответственность.
То, что я написал эту статью, не значит, что я несу все риски и оказываю помощь в решении непонятных вопросов.
К тому же,  в это время года имею привычку работать за деньги, а многим это кажется странным.

В публикации будут лирические и технические отступления, они выделены курсивом, на общий ход повествования влияния они не оказывают.

Команды терминала выделены другим шрифтом

Постановка  задачи:

1. Вам не хочется переносить свои данные в облако.
(Я это полностью поддерживаю. Не буду повторяться здесь, достаточно уже копий сломано. Это как кредит – берешь чужие деньги на время, а отдаешь свои и навсегда)
2. Ваша компания перешла рубеж 5 пользователей и 1 программист (Для небольших организаций у 1С есть отличное решение  «сервер МИНИ на 5 подключений»)

3. У вас есть системный администратор (возможно приходящий, иначе – ваш путь в облако), либо некоторый набор технических знаний.

4. Вам нужна легальность в отношении программного обеспечения.

Лирическое отступление: Проверяющие органы вовсе не обязаны знать какое программное обеспечение под какой лицензией распространяется.
Поэтому, если хотите быть готовыми к проверке максимально – распечатайте, а еще лучше заверьте лицензии СПО используемого на ваших компьютерах.

5. Небольшим, но приятным бонусом идет возможность перестать бояться компьютерных вирусов

Если все это про вашу фирму – читайте дальше.

 

Порядок работы:

Выбор железа: 
Даны два варианта. Мое поколение, наверное, выберет Intel, даже с учетом стоимости. 
Лирическое отступление: 99% процентов разработчиков компилируют и отлаживают свои программы на ПК с Intel, хоть бы это и МакБук.
Поэтому AMD это всегда небольшой шаг в неизвестность и чуть худший расчет тепловой нагрузки.
Это сугубо мои наблюдения, можете с ними не соглашаться.

Цены в условных/реальных на декабрь 2018 г рублях.

Комплектующая Кол-во Intel Цена Стоимость AMD Цена Стоимость
Корпус 1 Корпус mATX AEROCOOL Qs-240, черный 2280,00 2280,00 Корпус mATX AEROCOOL Qs-240, черный 2280,00 2280,00
Блок питания 1 Блок питания THERMALTAKE TR2 S, черный 4360,00 4360,00 Блок питания THERMALTAKE TR2 S, черный 4360,00 4360,00
Диск SSD 2 SSD накопитель SAMSUNG 860 EVO MZ-76E250BW  4390,00 8780,00 SSD накопитель SAMSUNG 860 EVO MZ-76E250BW  4390,00 8780,00
Диск 1 Жесткий диск WD Caviar Blue WD10EZEX 2990,00 2990,00 Жесткий диск WD Caviar Blue WD10EZEX 2990,00 2990,00
Вентилятор 1 Вентилятор DEEPCOOL XFAN 120 250,00 250,00 Вентилятор DEEPCOOL XFAN 120 250,00 250,00
Вентилятор для диска 1 Система охлаждения TITAN TTC-HD22TZ 510,00 510,00 Система охлаждения TITAN TTC-HD22TZ 510,00 510,00
Сетевой адаптер 1 Сетевой адаптер Gigabit Ethernet D-LINK DGE-530T 680,00 680,00 Сетевой адаптер Gigabit Ethernet D-LINK DGE-530T 680,00 680,00
Процессор 1 Процессор INTEL Core i5 8400 17490,00 17490,00 Процессор AMD Ryzen 5 2600X 16790,00 16790,00
Материнская плата 1 Материнская плата GIGABYTE Z370 HD3P 9550,00 9550,00 Материнская плата ASUS PRIME B350-PLUS 6760,00 6760,00
Память 2 Модуль памяти KINGSTON HyperX FURY Black HX426C16FB2/8 DDR4 — 8Гб 5190,00 20760,00 Модуль памяти KINGSTON HyperX FURY Black HX426C16FB2K2/16 DDR4 — 2x 8Гб 10590,00 21180,00
Итого       67650     64580

В вашем городе могут отличаться, могут отличаться и ваши предпочтения – для этого у вас есть – см. п3. системный администратор

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

Хотите сэкономить – возьмите половину памяти
В этом плане GIGABYTE  мой выбор – работает годами без проблем.

Переходим к софту.

В целях экономии – приобретаем лицензию на 32-х разрядный сервер 1С Предприятие и необходимое количество лицензий.
Крайне настойчиво рекомендую брать USB ключи.

Крайне настойчиво рекомендую не брать свежий софт– берите рекомендованный.
По его граблям пробежалась уже не одна сотня (тысяч) пользователей и все ваши вопросы найдут решение на профильных форумах.

А именно - Ubuntu 16.04 LTS причем desktop.
Лирическое отступление: на текущий момент нет подтверждения, что ядра desktop и серверной платформы Ubuntu кардинально отличаются.
А то что графический интерфейс сохранит вам потом и при настройке много-много рабочих часов - это факт.

Создание загрузочной флешки и старт с нее - первое домашнее задание.

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

locale-gen en_US

locale-gen ru_RU

update-locale LANG=ru_RU.UTF8

dpkg-reconfigure locales

1. После первого запуска отказываемся от предложения обновиться до 18.04,  обновляем пакеты и ставим Midnight Commander и переходим в него

sudo apt-get update

sudo apt-get upgrade



sudo apt-get install mc

sudo mc

Лирическое отступление: поколение Z забыло два синих экрана, а ведь это прадедушка графического интерфейса.
Получаем нормальный текстовый редактор.
К тому же не надо будет постоянно вводить sudo

2. Устанавливаем Postgres. Огромная благодарность компании Postgre Pro -за мануал сборку.

https://postgrespro.ru/products/1c_build

 

sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'

wget --no-verbose -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add - && sudo apt-get update

sudo apt-get install postgresql-pro-1c-9.6

Проверка что Postgres стартовал

netstat -plan | grep 5432

Редактируем файл /etc/postgresql/9.6/main/pg_hba.conf - доверяем всем с локального компьютера

local   all             postgres                           trust

local   all             all                                     trust


 service postgresql restart

Лирическое отступление: и не вижу смысла менять обратно. Тот кто добрался до консоли сервера уж поверьте файл этот отредактирует.

Проверка что Postgres стартовал по другому, включаем в автозагрузку
service postgresql status

systemctl enable postgresql

меняем пароль

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'ваш пароль'"

3. Устанавливаем окружение по рекомендациям с ИТС

 

https://its.1c.ru/db/metod8dev/content/5822/hdoc

Редактируем  файл /etc/sysctl.conf

echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf

echo 134217728 >/proc/sys/kernel/shmmax

Как вариант просто в конец файла дописываем

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

Применяем изменения

sysctl -p

4. Добавляем архитектуру i386

dpkg --add-architecture i386

apt-get update

apt dist-upgrade

Проверяем

dpkg --print-foreign-architectures

5. Устанавливаем пакеты i386

apt-get install unixodbc:i386
apt install imagemagick-6.q16:i386
apt install libgsf-bin:i386 ttf-mscorefonts-installer
apt-get install libcanberra-gtk3-module:i386

6. Проверяем что все установилось без потерянных зависимостей

apt-get  -f install

7. Скачиваем с портала 1С и устанавливаем сначала сервер 



dpkg -i *.deb

service srv1cv83 start


Прове ряем 

service srv1cv83 status

7. А потом и клиента


dpkg -i *.deb

На этом моменте мы имеем установленный и работающий сервер 1С и сервер БД Postgres.

8. Вишенка на торте - 32-х разрядный apache2, устанавливаем из исходников

apt-get install build-essential
 apt-get install libc6-dev-i386
 wget http://archive.apache.org/dist/httpd/httpd-2.2.8.tar.gz
 tar xvfz httpd-2.2.8.tar.gz
 cd httpd-2.2.8
 export CFLAGS=-m32
 export CPPFLAGS=-m32

./configure --prefix=/etc/apache2 --build=i686-unknown-linux-gnu --enable-mode-shared=all build_alias=i686-unknown-linux-gnu --enable-modules=all --enable-mods-shared=all --disable-deflate

make

make install 

/etc/apache2/bin/apachectl -k start

9. Чтобы apache стартовал автоматически при загрузке

создаем символическую ссылку и добавляем в запуск 

ln -s /etc/apache2/bin/apachectl /etc/init.d/apache2

update-rc.d apache2 defaults

чтобы конфигуратор 1С при публикации находил веб сервер нужно создать еще одну символическую ссылку

ln -s /etc/apache2/conf/httpd.conf /etc/apache2/apache2.conf

10. Финальную проверку проводим с соседнего компьютера

На нем нужно иметь административную консоль 1С и pgAdmin 3 (pgAdmin 4 уж очень навороченный)

Если в вашей сети нет своего DNS сервера, то разрешение имени для сервера 1С нужно прописать в файл hosts

На этом этапе вы можете подключиться к серверу 1С в консоли администрирования, в серверу Postgres из pgAdmin 

Используя имя, а не IP адрес !


Можете создать базу 1С и открыть ее в браузере

Если этого не произошло - перечитываем и переделываем.

То же самое вы можете проделать и на самом сервере, помните мы на него установили GUI.


 

Переходим к настройкам 

1.  Postgres.

Еще раз благодарности Компании Postgres Professional пользуясь их сборкой достаточно установить параметры для установленного объема памяти и все.

Лирическое отступление: Как известно можно бесконечно смотреть как горит огонь, как течет вода и настраивать производительность сервера. Для желающих перейти к тонким настройкам и понять их - отличный ресурс https://postgresql.leopard.in.ua/. На нем же есть и быстрый конфигуратор для файла postgresql.conf https://pgtune.leopard.in.ua

Техническое отступление: Как и любой уважающий себя сервер SQL Postgres допускает конфигурирование скриптами SQL.
У меня пока этот метод не сработал. Поэтому приведу его здесь для информации, но как рабочее решение пока не могу.

Добавлено 2019-01-08 Из серии: и тут я вспонмил где оставил свой велосипед.
Файл postgresql.auto.conf нашелся по адресу  /var/lib/postgresql/9.6/main/postgresql.auto.conf

Все работает. Не все правда применяется.

И есть параметр рекомендованный 1С 

effective_io_concurrency = 2

с ним просто не стартует сервер, его закомментировал

ALTER SYSTEM
postgres=# select * from pg_file_settings where not applied;
                    sourcefile                     | sourceline | seqno |       name       | setting | applied |            error
---------------------------------------------------+------------+-------+------------------+---------+---------+------------------------------
 /etc/postgresql/9.6/main/postgresql.conf          |         59 |     5 | listen_addresses | *       | f       |
 /etc/postgresql/9.6/main/postgresql.conf          |         64 |     7 | max_connections  | 100     | f       |
 /etc/postgresql/9.6/main/postgresql.conf          |        113 |    12 | shared_buffers   | 128MB   | f       |
 /var/lib/postgresql/9.6/main/postgresql.auto.conf |          3 |    36 | max_connections  | 1000    | f       | setting could not be applied
 /var/lib/postgresql/9.6/main/postgresql.auto.conf |          4 |    37 | shared_buffers   | 512MB   | f       | setting could not be applied
 /var/lib/postgresql/9.6/main/postgresql.auto.conf |          8 |    41 | wal_buffers      | 16MB    | f       | setting could not be applied
(6 строк)

 

 

Приведу цитату из официальной документации:
 

ALTER SYSTEM

ALTER SYSTEM — изменить параметр конфигурации сервера

Синтаксис

ALTER SYSTEM SET параметр_конфигурации { TO | = } { значение | 'значение' | DEFAULT }

ALTER SYSTEM RESET параметр_конфигурации
ALTER SYSTEM RESET ALL

Описание

Оператор ALTER SYSTEM применяется для изменения параметров конфигурации сервера, распространяющихся на весь кластер баз данных. Пользоваться им может быть удобнее, чем вручную редактировать файл postgresql.conf. ALTER SYSTEM записывает заданное значение параметра в файл postgresql.auto.conf, который считывается сервером в дополнение к postgresql.conf. При указании в качестве значения параметра DEFAULT или применении формы RESET соответствующий элемент конфигурации удаляется из postgresql.auto.conf. Удалить все настроенные таким способом параметры позволяет предложение RESET ALL.

Значения, установленные командой ALTER SYSTEM, вступают в силу только после следующей перезагрузки сервера (SIGHUP или pg_ctl reload), либо после следующего перезапуска, если эти параметры устанавливаются только при запуске сервера.

Проверить применились ли параметры можно командой 

select * from pg_file_settings where not applied;

Таким образом в теории мы можем с из pgAdmin настроить сервер, но у меня не сработало.

Поэтому я рекомендую odl скул - прямое редактирование  postgresql.conf

И параметры для настройки брать такие :

RAM -- размер памяти

* shared_buffers = 1/8 RAM или больше (но не более 1/4);
* work_mem в 1/20 RAM;
* maintenance_work_mem в 1/4;
* fsync = true;
* wal_sync_method = fdatasync;
* commit_delay = от 10 до 100 ;
 commit_siblings = от 5 до 10;
* random_page_cost = 2 ;
* cpu_tuple_cost = 0.001 ;
* cpu_index_tuple_cost = 0.0005 ;

         * autovacuum = on

         * autovacuum_vacuum_threshold = 1800

* autovacuum_analyze_threshold = 900

Не все они могут сработать. Не забыть сделать копию postgresql.conf!

Техническое отступление: Такое описание настроек разошлось тысячными тиражами по интернет.
Но первоисточник его здесь http://wiki.etersoft.ru/PostgreSQL/Optimum?v=xnq 
Компания Etersoft уже больше 10 лет делает рабочие сборки Postgres для 1С. Обычно про таких говорят - обогнал свое время. Огромное им спасибо за эту работу.

Благодарность уважаемому oldcopy за ссылку на ИТС - Настройки PostgreSQL для работы с 1С:Предприятием https://its.1c.ru/db/metod8dev#content:5866:hdoc

 

 1.  Кластер и сервер 1С.

Поскольку сервер у нас 32-х разрядный, то он сможет получить примерно 3.5 Гб оперативной памяти, не более.
Под это и сделаны ограничения

Максимальный объем памяти рабочих процессов = 3500000000
Безопасный расход памяти за один вызов = 3000000000
Техническое отступление: Я всегда считал, что превышение Максимальный объем памяти рабочих процессов+Безопасный расход памяти за один вызов дает ошибку "Недостаточно памяти". https://its.1c.ru/db/v8312doc#bookmark:cs:TI000000158 Но при экспериментах с описанной конфигурацией обратил внимание, что 1С оценивает отдельно показатель Безопасный расход памяти и если он превышен при вызове- то выдает ошибку "Недостаточно памяти". Поэтому поднял его до 3000000000.
Количество ИБ на процесс = 1
Количество соединений на процесс = 15


Так же ограничивается разрастание рабочих процессов и настроен их перезапуск раз в сутки

Интервал перезапуска = 86400
Допустимый объем памяти = 2000000
Интервал превышения допустимого объема памяти = 120
Выключенные процессы останавливать через = 600

Все команды приведенные здесь проверены в двух различных виртуальных машинах, если и найдутся опечатки - это автозамена Word, не более того.

Сами виртуальные машины выложу, если Postgres Professional разрешит это сделать.

Так же попробую выложить настроенные файлы postgresql.conf

 

Добавлено 2018-12-26

Поскольку вышел спор из-за графического интерфейса, сообщаю - он отъедает 500 Мб памяти, на мой взгляд немного

Это видно на принтскринах 


Как отключить графическую оболочку

sudo systemctl enable multi-user.target
sudo systemctl set-default multi-user.target

 

Добавлено 2018-25-27 

Эксперты присутствующие в теме высказали предположение, что графический интерфейс отъедает память не сразу, а со временем (?)

Получилось 40 Мб в день.

 

Далее было высказано предположение - что как без командной строки установить/обновить 1С.

Щелкнув два раза левой кнопкой мыши на файле пакета.
Внимание! Когда выложу сборки под виртуальные машины - в них 1С не будет.

Ее (или их - пакеты) надо будет загрузить с портала 1С по действующей подписке ИТС и установить.
Самое просто именно так - Щелкнув два раза левой кнопкой мыши на файле пакета.

Добавлено 2018-25-28 

В комментариях было сказано, что apache2 на один сеанс берет 1 Гб памяти и все пропадет и рухнет.
Прилагаю принтскрины на которых запущено 5 веб клиентов и виден расход памяти

Управление торговлей, редакция 11 (11.4.6.174) 
Конфигуратор + Толстый клиент + 5 веб клиентов с выполненным отчетом Валовая прибыль с 2010 года

 

Бонус для тех, кто дочитал.

Вы можете бесплатно скачать образ виртуальной машины под virtualbox и попробовать его на своем компьютере.

Из образа конечно удалены все дистрибутивы и все файлы 1С, их нужно будет скачать с портала 1С и установить самостоятельно.

От компании Postgre Pro разрешение получено.

Лицензия GNU General Public License, для желающих прочесть - внутри.

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

Если вы не представляете: что такое 1С Предприятие,  Linux, PostgeSQL и зачем вам нужна эта кухня.

Все файлы из интернет считаете зараженными вирусом.

Если физиологические, моральные, религиозные или другие причины не позволяют вам заполнять справочники, документы, настраивать отчеты 1С и запускать обработки.

А платить вы за это не будете так как программист с десятилетним стажем.

Закройте эту страницу не продолжая чтения дальше.

Для адекватных людей:

Если у вас есть здравые предложения или замечания - пишите.

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

#PGConf2019 Предприятие   Linux PostgeSQL  Ubuntu

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2956    12    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

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

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

10000 8000 руб.

10.11.2023    3490    11    1    

33

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177715    1073    0    

848

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

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

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

14400 руб.

29.04.2020    27366    79    146    

59

Система хранения присоединенных файлов в томах на диске

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

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

4200 руб.

10.11.2015    61307    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

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

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11739    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

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

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31104    31    18    

47

Хранилище файлов на SQL

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

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10973    5    8    

9
Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
95. capitan 2466 27.12.18 14:05 Сейчас в теме
(94) В таком варианте да.
Да больше скажу - при умелых настройках можно еще и для виндовых клиентов выложить обновление которое они при запуске применят
А как быть с этим ?
установили 64-битный сервер, сохранили папку, снесли, вернули на место. Поставили i386 (x64 даже сносить руками не надо, пакетный менеджер сам заменит). Потом просто подключили к апачу нужную либу. А можно просто собрать либы по зависимостям и сделать скрипт, который будет их вытаскивать и раскладывать куда нужно.
98. oldcopy 173 27.12.18 19:42 Сейчас в теме
(94)
А в чем трабла?


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


(95)
А как быть с этим ?
установили 64-битный сервер, сохранили папку, снесли, вернули на место. Поставили i386 (x64 даже сносить руками не надо, пакетный менеджер сам заменит). Потом просто подключили к апачу нужную либу. А можно просто собрать либы по зависимостям и сделать скрипт, который будет их вытаскивать и раскладывать куда нужно.


А что сложного? Поубавьте апломба и откройте себя новым знаниям. На пальцах, для начинающих.

Ставим 64-битную платформу и берем в руки утилиту ldd, с ее помощью, начиная от wsap24.so выясняем цепочку зависимостей библиотек. Причем нам нужны только библиотеки от 1С, которые в /opt/1C/v8.3/x86_64/, их там штук десять будет.

Потом пишем скрипт, который через dpkg -x будет извлекать содержимое 64-битных пакетов во временную директорию. Где вы возьмете эти пакеты - неважно, хоть скриптом качайте, хоть руками. Затем выбираем оттуда нужные либы и закидываем их в /opt/1C/v8.3/x86_64/, перезапускаем апач. Все работает. В чем проблема то?
90. capitan 2466 27.12.18 12:32 Сейчас в теме
Что касается машин - отличный пример.
Есть люди которые и пепельницу сами не вытряхивают, а ездят в сервис
Но если ты не уборщица из Газпрома, некоторые вещи приходится самому делать в автомобиле.
Поэтому я и написал - оба подхода имеют право на существование.
Но в этой реальности - как раз вы гаражные кулибины, потому что есть обычные пользователи, есть сервисные партнеры, а между ними вы.
91. Robbi 57 27.12.18 12:53 Сейчас в теме
Есть в статье полезные моменты.
Не согласен с тем, что надо ставить десктопную старую версию. Поиграться и потренероваться - да, Клиента там позапускать, но в продакшн только серверную версию. Ну и выбор компа и прочего - это индивидуальное дело каждого, даже для ориентира мне кажется лишнее это.
SerVer1C; denis_sov; +2 Ответить
93. capitan 2466 27.12.18 13:28 Сейчас в теме
(91)Про серверную версию уже раз восемьнадцать уже обсудили и переобсудили - отличаются только набором софта
miarhipov; +1 Ответить
103. klel 28.12.18 07:57 Сейчас в теме
Спасибо за подробную статью полезно :)
105. capitan 2466 28.12.18 11:13 Сейчас в теме
(103)Кстати... Спасибо обычно выражается плюсами в здешних местах )
miarhipov; klel; +2 Ответить
104. capitan 2466 28.12.18 09:53 Сейчас в теме
Перечитал все комментарии и вспомнилось...
Первый международный конгресс блондинок.
На повестке дня три вопроса.
1. Все мужики сволочи.
2. Абсолютно нечего надеть
3. Прочее

Так же и здесь.
1. Зачем ставить linix если windows 10 прямо хорош.
Уважаемый Dragonim даже минус поставил. Вот это мой респект и уважение. Поддержал windows 10 в трудные времена
А они настали, если у евангелистов microsoft на ноуте макось.
Тут все понятно - у каждого свой выбор
2. Зачем ставить десктопную ОСь.
Ответили многие - на текущий день в ядре нет разницы.
По поводу GUI - как отключить написано.
Мне нравится то что можно поставить того же клиента 1С и пользователю будет привычнее
3. Прочее. Это уважаемый olcopy. Вроде все плохо, но вроде и непонятно что плохо.
Вроде нужен гуй, а вроде и не нужен. Вроде раньше и трава была зеленее...

Спасибо всем на добром слове, кто его сказал.
Спасибо за толковые замечания, поправил.
В принципе и за минусы тоже спасибо, как говорят восточные мудрости - если у тебя есть враги - ты не умер.
miarhipov; acanta; BoryaMbi; +3 Ответить
107. BoryaMbi 25 28.12.18 13:02 Сейчас в теме
Благодарю за публикацию.
108. capitan 2466 28.12.18 13:58 Сейчас в теме
(107)Спасибо на добром слове и найденную ошибку.
Образ загрузится наверное к завтрашнему утру. Очень долго идет. Новогодний трафик )
Всех с наступающим Новый Годом и Рождеством!
109. w.r. 643 29.12.18 08:08 Сейчас в теме
Очень сложно описано. 10.5 (10.5-9.С) с сайта 1С ставится на Ubuntu 16.4 LTS на:

раз

два

три

В 9.6 вылазят всякие ошибки, при нагрузках и без рвется соединение. 10.5 ведет себя намного стабильнее и работает быстрее
denis_sov; +1 Ответить
110. capitan 2466 29.12.18 12:25 Сейчас в теме
(109)10.5 если я ничего не пропустил пока официально неподдерживается
Т.е саппорта по нему не получить.
По хорошему надо наверное 9.5 пока было ставить, но логика от этого не поменяется
112. ansh15 29.12.18 16:25 Сейчас в теме
(110)
Т.е саппорта по нему не получить.

PostgreSQL, версия 10.5-9.1C с releases.1c.ru имеет статус актуальной версии с 19.12.18, так что саппорт(от 1С) может быть вполне доступен, при работе с платформой 8.3.13.
113. capitan 2466 29.12.18 16:46 Сейчас в теме
(112)О! Круто!
На самом деле - можно на 9.6 как обновление накатить
126. oldcopy 173 19.02.19 10:54 Сейчас в теме
(113) Нельзя! Обновляться можно только в пределах релиза, т.е. 9.6.х или 10.5.х, во всех остальных случаях выгружаем дампом все базы, включая служебные, удаляем старый Postgres, ставим новый, заливаем дамп назад.
111. capitan 2466 29.12.18 14:49 Сейчас в теме
(109) и я что то недопонял
(109)
раз

это из репозитория постгрес ставить предлагаете, не с постгрес про ?
115. w.r. 643 09.01.19 12:57 Сейчас в теме
(111)

Из этой ссылки нужно подключить только репозиторий posgres10 чтобы доставить необходимые пакеты. Основная установка отсюда https://releases.1c.ru/version_files?nick=AddCompPostgre&ver=10.5-9.1C
116. maks909 11.01.19 12:46 Сейчас в теме
Автору респект!
Я с 8.2 эксперементировал с установкой 1С сервера на Linux, но в продакшн так нигде и не внедрил. Сейчас для себя установил сервер, сижу эксперемментирую. Правда, я дебианщик и без GUI все это делал.
И не слушай виндузятников, с ними все понятно.
У меня один вопрос, какие параметры лучше выставлять в свойствах "Локального кластера", если я установил 1С сервер amd64.
Такие же как и у тебя рекомендуются:
Интервал перезапуска 86400
Допустимый объем памяти 2000000
Интервал превышения допустимого объема памяти 120
Выключенные процессы остановить через 600


Или другие порекомендуешь для amd64?
117. capitan 2466 11.01.19 14:48 Сейчас в теме
(116)
для amd64

Допустимый объем памяти 2000000
другой, если памяти больше,
на amd64 в принципе можно -1 поставить это вообще - без ограничений
тогда сервер 1С подвинет постгри если нужно будет по памяти
ограничение в 2000000 нужно чтобы 32х разрядный сервер не выел больше чем сможет переварить

А за добрые слова - мой глубокий мерси )
118. maks909 12.01.19 09:55 Сейчас в теме
кстати, идея для дополнения статьи.
можно еще описать как разграничить права доступа к БД.
например, есть Зарплата и Бухгалтерия.
и задача разграничить физический доступ пользователей к базам, на уровне Postgre.
на файловой версии я это делал создав 2 группы пользователей и задав разрешения на папки баз.
в postgre я представляю, что необходимо создать 2 пользователей в postgre и создавать БД от разных пользователей, но это в теории.
надо практиковаться, там явно будут подводные камни, как например, если появляется необходимость пользователю Зарплаты добавить права доступа к Бухгалтерии и т.п.
сам тоже буду с этим разбираться, но чуть позже.
сначала просто потестирую сервак по нагрузкам.
119. ansh15 12.01.19 12:20 Сейчас в теме
(118)
если появляется необходимость пользователю Зарплаты добавить права доступа к Бухгалтерии и т.п.

Учитывая, что в клиент-серверном варианте пользователь информационных баз 1С имеет доступ к ИБ исключительно через призму сервера приложений 1С(который только и общается с СУБД), никакого физического доступа к файлам баз данных СУБД пользователям делать не нужно. Это не файловый вариант, когда пользователь, от имени которого запускается толстый клиент, должен иметь права доступа к папке с ИБ и файлам в ней.
пользователю Зарплаты добавить права доступа к Бухгалтерии

Пользователь Зарплаты заводится в ИБ Бухгалтерии. И все.
120. maks909 12.01.19 15:05 Сейчас в теме
(119)
не секурно.
Например, частый случай. Директор или бухгалтер просит организовать доступ к серверу из дома.
Непроблема.
Но что если на сервере работают несколько организаций и когда ты создаешь БД для одной и для другой организации используя один и тот же логин/пароль для доступа к СУБД, они теоретически могут подключить и чужую базу, зная логин/пароль БД, им остается только выяснить имя БД.
что в принципе тоже не сложно, имея логин/пароль, который нужно ввести в pgAdmin.
Я понимаю, что сам бухгалтер или директор, как правило,этим не занимаются, но вот их "любопытные" детишки, которым только дай повод что-нить поломать :)
поэтому я считаю, что вопрос разграничения прав доступа к СУБД имеет место быть.
если ты даешь сведения для подключения к БД человеку, которому нужен этот доступ, то тут его ответственность следить за тем, чтобы с его же БД ничего не случилось, а если этот человек получает доступ к тем базам, которые от него должны быть скрыты, то это уже ответственность админа, за секьюрность баз.
121. starik-2005 3033 12.01.19 15:58 Сейчас в теме
(120)
оэтому я считаю, что вопрос разграничения прав доступа к СУБД имеет место быть.
1С к базе, подключенной к конкретному экземпляру сервера, подключается по логину и паролю в свойствах подключения. Если кто-то знает логин и пароль базы 1С на кластере, то он в любом случае сможет подключиться к этой базе, т.к. пользователь и пароль к серверу СУБД задается в момент создания базы.

Выйти из положения можно с помощью механизма авторизации в базе через учетку ОС. Но если знать пароль к конкретной базе 1С, то ничто не запретит тебе туда подключиться, ИМХО. Выход - два(три/пять/сто...) сервера 1С. Но никто ведь не сможет гарантировать, что чел, который узнал логин и пароль к учетке 1с не сможет узнать логин и пароль к учетке ОС, да? )))
122. maks909 12.01.19 17:22 Сейчас в теме
(121)
1С к базе, подключенной к конкретному экземпляру сервера, подключается по логину и паролю в свойствах подключения. Если кто-то знает логин и пароль базы 1С на кластере, то он в любом случае сможет подключиться к этой базе, т.к. пользователь и пароль к серверу СУБД задается в момент создания базы.


Вот я об этом же и говорю, что не хочу чтобы под одним и тем же паролем могли видеть разные базы.
Хочу, чтобы одна база создавалась под одним логинам/паролем, другая под другим.
Все будет тип-топ.

И да, может я не верно излагаю мысли... тогда вот ссылками попробую
https://habr.com/post/334558/
как раз сейчас к 1С все разграничения к доступу к базам 1С производятся по 2му способу, описанному по статье по ссылке.
Я же с автором поста, указанного выше, полностью согласен - это не секьюрно.
123. capitan 2466 18.01.19 16:48 Сейчас в теме
(122)
Вы отделите мух от котлет.
В файловой базе одинаковые права на файловую систему дают право видеть соседнюю базу.
А в клиент-сервере это не так. Она поэтому и считается более защищенной.
Пользователь знает логин пароль от 1С, но не от скуль базы. Поэтому никуда он подключиться не сможет
Никто не мешает создавать базы в постгри под разными логинами но безопасности это не прибавит.
124. capitan 2466 21.01.19 09:51 Сейчас в теме
Ссылка на загрузку образа Ubuntu 16.04 LTS для virtualbox
и файл настроек postgresql
Прикрепленные файлы:
postgresql.auto.conf
Образ Ubuntu 16.04 LTS для virtualbox.txt
denis_sov; +1 Ответить
125. user1158133 19.02.19 01:36 Сейчас в теме
Спасибо за статью.
Можете чуть подробне про:
1. Бекапы БД: как, когда, чем.
2. Востановление если произошла проблема при обновлении конфигурации 1С, на файловом варианте это делалось бекапом каталога.
3. Резервирование БД, делаете master/slave конфигурацию postgres?
4. Пробовали разностить БД и приклад по разным железкам, разница в производительности есть?
5. Помимо etx4, пробовали btrfs, xfs?
127. DoctorRoza 19.02.19 11:45 Сейчас в теме
Скажите, пожалуйста, на текущий момент, для линукса, 1С предоставляет около 10 бесплатных, серверных лицензий? Мне нужно развернуть в VM убунту сервер, Postgre и ERP2.4 для тестирования. Клиентский ключ есть.
128. oldcopy 173 19.02.19 18:26 Сейчас в теме
(127)
Скажите, пожалуйста, на текущий момент, для линукса, 1С предоставляет около 10 бесплатных, серверных лицензий?


1С никогда не предоставляло и не предоставляет бесплатных серверных лицензий, другое дело, что технические особенности реализации сервера под Linux позволяют до 12 подключений без ключа. Но использование этой возможности в продакшене равносильно использованию взломанной платформы.
129. DoctorRoza 19.02.19 19:48 Сейчас в теме
(128) согласитесь, что разработчик платформы может без труда закрыть эту техническую особенность. Мне же необходимо знать - сейчас эта особенность осталась?
130. capitan 2466 19.02.19 21:54 Сейчас в теме
(129)Вы задаете вопросы которые не совсем уместны
132. SerVer1C 748 20.02.19 10:24 Сейчас в теме
(129) С версии платформы 8.3.11 данную лазейку прикрыли.
131. AntonSm 30 20.02.19 08:51 Сейчас в теме
(128) Подскажите, пожалуйста, если знаете.
А что если эту возможность использовать не в продакшене, а в тестовом контуре?
Это тоже будет равносильно использованию взломанной платформы?
133. oldcopy 173 20.02.19 11:40 Сейчас в теме
(131)
А что если эту возможность использовать не в продакшене, а в тестовом контуре?
Это тоже будет равносильно использованию взломанной платформы?


Если на склад забыли повесить замок, то означает ли это, что я могу зайти туда и что-то там взять? Так, чисто для себя...
134. zayden 17 22.02.19 12:41 Сейчас в теме
Господа есть HP 10ml v2 сервер с ссд дисками 16 гб озу и камнем g3210 - вопрос такой если перейти на Ubuntu 16.04 и PostgreSQL 9.6 вместо виндовс и sql 2008 - даст ли это прирост производительности?
135. capitan 2466 22.02.19 13:07 Сейчас в теме
(134)Крайне маловероятно что уход с виндовс и sql 2008 даст прирост производительности.
Особенно под серьезной нагрузкой и без серьезного ковыряния настроек
Это даст экономию на лицензиях
136. w.r. 643 25.02.19 12:13 Сейчас в теме
Если ставить PostgreSQL на Ubuntu 16.04 и выше, то не нужно менять значения параметров ядра kernel.shmmax и kernel.shmall - они выставлены и по-умолчанию на максимум
137. capitan 2466 25.02.19 13:00 Сейчас в теме
(136)По честному говоря не проверял, на автомате так всегда делаю. У меня эта статья - типа чек-листа.
Хуже же от этого не будет, правда ?
138. w.r. 643 25.02.19 13:10 Сейчас в теме
(137) ну вот не уверен, что хуже не будет. Возможно вашими параметрами вы уменьшаете количество доступной разделяемой памяти для СУБД

Вообще по-умолчанию это выглядит как-то вот так

$ sysctl -n kernel.shmmax
18446744073692774399
$ sysctl -n kernel.shmall
18446744073692774399
139. capitan 2466 25.02.19 14:01 Сейчас в теме
(138)Но у меня значения рекомендованные 1С
https://its.1c.ru/db/metod8dev/content/5822/hdoc

Они кстати совсем недавно отредактировали статью, раньше она по другому выглядела, но это оставили.
140. w.r. 643 25.02.19 21:32 Сейчас в теме
(139) так это же для доисторического можно сказать Debian 4, который вышел в апреле 2007 года. Тогда и ядро Linux было версии 2.6, а сейчас уже 5я версия на подходе
141. bars.andre 10.04.19 19:50 Сейчас в теме
Спасибо за статью!
Подскажите, а как сделать чтобы конфигуратор 1С при публикации находил веб сервер для х64 Apache 2.4?
нигде не смог найти описание.
приходится публиковать через ./webinst
142. capitan 2466 13.04.19 18:53 Сейчас в теме
(141)
Apache 2.4
надо 2.2 ставить тогда найдет
143. capitan 2466 13.04.19 19:11 Сейчас в теме
(141)Спасибо кстати здесь принято выражать плюсами )
144. plastyr 22.04.19 12:51 Сейчас в теме
Какие параметры, при сборе сервера под 1С, необходимо принимать во внимание и учитывать?
145. starik-2005 3033 22.04.19 13:27 Сейчас в теме
(144)
Какие параметры
Чтобы быстрее работало? Или чтобы надежнее? Быстро и надежно = дорого, быстро и дешево = ненадежно. Надежно и дешево = медленно.

Вообще, я уже много вариантов железа протестировал. Файловая база четко зависима от частоты процессора и частоты памяти, клиент-серверная - от этого и включенного режима высокой производительности (в 2 раза может разница быть). У моего коллеги i9 9900К и i7-7700K - работают одинаково что в файловой, что в серверной при приблизительно одинаковой частоте, при том у 9900 частота памяти выше.

Я, как любитель AMD, юзаю сейчас Ryzen 1600, который на частоте всего в 3,2ГГц и частоте памяти 2933 в файловой чуть медленнее, чем 9900К и 7700К - в районе 90 попугаев в файловой и 42-44 в серверной (9.6 постгрес + линух). Более высокоскоростной процессор 2600Х, но болеее медленная память 2400 уже в файловой с трудом преодолели планку в 80 попугаев, а на серверной при более быстром винте дали лишь 39 попугаев, так что память - это важно. При том в режиме производительности процессора on-demand (сбалансированная в винде) - клиент-серверный вариант выдал всего 27 попугаев.
RangerRU; +1 Ответить
146. plastyr 22.04.19 16:03 Сейчас в теме
(145) Имеется виртуальный сервер 1С + PGSQL (всё на одном), выделено под его нужды 8 ядер и 70 Gb на SDD, физический сервер на i7-2600, 32 Gb DDR3-1333. Пользователей до 30, но некоторые пользователи запускают по 4-8 копий 1С. Иногда уже чувствуется, что машине тяжеловато, периодически подтормаживает. Папка с базами ~30 Gb и ещё около 10 баз вынесены в dt на другую машину, т.к. места на серваке не хватает и работа в этих базах ведётся изредка. Текущую платформу апгрейдить не имеет смысла, поэтому хочется собрать машину на настоящем серверном железе (приобрести б\у сервер). Всё это дело запустить под Ubuntu. Вот поэтому и интересуюсь на что обратить внимание. Так же хочется повысить отказоустойчивость, создав кластер из нескольких серверов 1С, потому что уже несколько раз была ситуация, когда приходилось возиться с сервером по нескольку часов или дней, а в это время пользователи становились очень нервными. Можно ли на одном физическом сервере организовать кластер из нескольких виртуальных серверов для большей отказоустойчивости? Или же лучше 2 физических сервера для этого дела организовать?
147. RangerRU 11.06.19 15:33 Сейчас в теме
(145) верно
для рязани нужна быстрая память
2600X и память обязательно двухканал с частотой от 3200 (тайминги чем меньше, тем лучше) и вот тогда нормально рязань затащит 1С
148. KontoraB 03.01.20 12:37 Сейчас в теме
149. twin76 23.08.20 20:01 Сейчас в теме
Какое-то неоднозначное впечатление и от статьи и от автора, прошу прощения и от его общения-комментариев. Может это все от того, что он самого линукса-убунту подобное впечатление вообще:))) Просто тут тоже поставил системщик просто по факту эту связку - ну и там, понятое дело лицензий не хватило, купили, далее - тормозит, сейчас вот обновить не могу... да конечно знающие линукс скажут - так везде надо разбираться-настраивать!!! Не спорю. Просто в линуксе этого надо настраивать больше. А без настройки - ну не очень хорошо "взлетело" то, что только ленивый 1С-ник ставить не пробовал:))) А я же хочу сказать - что вот мудрого человека, раз уж у нас тут процентов 30 философских вообще бесед имеется в комментах:))) - ну в общем мудрый человек умеет отойти от своей точки зрения как вообще от чужой - и с чистого листа как бы посмотреть на это все. И вот я думаю что тут видно получается. Замечательный автор человек - и специалист в том числе. И сделает он за 10 тысяч,ну там плюс-минус, как говорится линух плюс постгре. И все будет работать быстрее - кстати, реально я вот увидел, что побыстрее работает, может правда железо помощнее, не знаю:))) И даже какое-то время будет поддерживать. Но - потом получит наследство и срулит в теплые края, поначалу "на удаленке" поддерживая все, что требует поддержки. А потом поймет - да нафига мне это нужно и станет художником, или рок-гитаристом. И вот сидит директор такой, у которого все это работало-работало и почему-то не заработало и пишет объявление - нужен специалист для поддержки 1С, ключевые слова линукс убунту постгре. Уметь хорошо все это настраивать. Тут писал, тут писал и тут. Потому пошел к "официалам" - франчайзи. Те ему сказали - канэшно, какой вопрос, покупай ИТС, покупай по 2 тыс час - и вперед. Но там оказалось что предыдущий линуховый спец уволился вчера, а нового... Короче ладно - что-то я тоже поддался на литературно-саркастическое настроение, которое тут иногда бывает:))) - в общем я вот про что- много ли спецов, которые реально смогут рулить этим всем? В винде не только все проще - но по ней тупо больше информации в интернете. Как и про МС СКУЛ. Правда мне тут все равно предстоит столкнуться с постгре, но это будет на винде, пока по крайней мере:)) В общем - тут вот именно такой аспект - который для бизнеса - ну просто такой же аспект, причем даже важнее может скорости. Много ли спецов, которые смогут рулить этим всем? Ну вот -этот вопрос как раз из разряда мудрых, так сказать -потому что взял и встал на другую позицию. С которой кой-чего другое видно. А то начали тут - линух-линух... Кто говорит, что он плохой? Он хороший. Но дело просто не в этом.
150. capitan 2466 24.08.20 10:12 Сейчас в теме
(149)Всем чем хочешь владеть хорошо надо учиться пользоваться.
Если в автомобиле попробовать крутить педали он тоже не поедет.
Кому то сложно линукс, кому то сложно компьютер включить.
На эти 5% и живут компьютерщики )
hammer69; +1 Ответить
151. princ_vulcan 06.06.21 17:29 Сейчас в теме
"wget --no-verbose -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add - && sudo apt-get update" не работает.
Оставьте свое сообщение