0. capitan 1435 25.12.18 14:10 Сейчас в теме

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

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

Перейти к публикации

Вознаграждение за ответ
Показать полностью
Комментарии
Избранное Подписка Сортировка: Древо
98. oldcopy 122 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 1435 27.12.18 12:32 Сейчас в теме
Что касается машин - отличный пример.
Есть люди которые и пепельницу сами не вытряхивают, а ездят в сервис
Но если ты не уборщица из Газпрома, некоторые вещи приходится самому делать в автомобиле.
Поэтому я и написал - оба подхода имеют право на существование.
Но в этой реальности - как раз вы гаражные кулибины, потому что есть обычные пользователи, есть сервисные партнеры, а между ними вы.
91. Robbi 56 27.12.18 12:53 Сейчас в теме
Есть в статье полезные моменты.
Не согласен с тем, что надо ставить десктопную старую версию. Поиграться и потренероваться - да, Клиента там позапускать, но в продакшн только серверную версию. Ну и выбор компа и прочего - это индивидуальное дело каждого, даже для ориентира мне кажется лишнее это.
SerVer1C; denis_sov; +2 Ответить
93. capitan 1435 27.12.18 13:28 Сейчас в теме
(91)Про серверную версию уже раз восемьнадцать уже обсудили и переобсудили - отличаются только набором софта
103. klel 28.12.18 07:57 Сейчас в теме
Спасибо за подробную статью полезно :)
105. capitan 1435 28.12.18 11:13 Сейчас в теме
(103)Кстати... Спасибо обычно выражается плюсами в здешних местах )
104. capitan 1435 28.12.18 09:53 Сейчас в теме
Перечитал все комментарии и вспомнилось...
Первый международный конгресс блондинок.
На повестке дня три вопроса.
1. Все мужики сволочи.
2. Абсолютно нечего надеть
3. Прочее

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

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

раз

два

три

В 9.6 вылазят всякие ошибки, при нагрузках и без рвется соединение. 10.5 ведет себя намного стабильнее и работает быстрее
denis_sov; +1 Ответить
110. capitan 1435 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 1435 29.12.18 16:46 Сейчас в теме
(112)О! Круто!
На самом деле - можно на 9.6 как обновление накатить
126. oldcopy 122 19.02.19 10:54 Сейчас в теме
(113) Нельзя! Обновляться можно только в пределах релиза, т.е. 9.6.х или 10.5.х, во всех остальных случаях выгружаем дампом все базы, включая служебные, удаляем старый Postgres, ставим новый, заливаем дамп назад.
111. capitan 1435 29.12.18 14:49 Сейчас в теме
(109) и я что то недопонял
(109)
раз

это из репозитория постгрес ставить предлагаете, не с постгрес про ?
115. w.r. 483 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 1435 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 2001 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 1435 18.01.19 16:48 Сейчас в теме
(122)
Вы отделите мух от котлет.
В файловой базе одинаковые права на файловую систему дают право видеть соседнюю базу.
А в клиент-сервере это не так. Она поэтому и считается более защищенной.
Пользователь знает логин пароль от 1С, но не от скуль базы. Поэтому никуда он подключиться не сможет
Никто не мешает создавать базы в постгри под разными логинами но безопасности это не прибавит.
124. capitan 1435 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 122 19.02.19 18:26 Сейчас в теме
(127)
Скажите, пожалуйста, на текущий момент, для линукса, 1С предоставляет около 10 бесплатных, серверных лицензий?


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


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

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

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

Они кстати совсем недавно отредактировали статью, раньше она по другому выглядела, но это оставили.
140. w.r. 483 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 1435 13.04.19 18:53 Сейчас в теме
(141)
Apache 2.4
надо 2.2 ставить тогда найдет
143. capitan 1435 13.04.19 19:11 Сейчас в теме
(141)Спасибо кстати здесь принято выражать плюсами )
144. plastyr 22.04.19 12:51 Сейчас в теме
Какие параметры, при сборе сервера под 1С, необходимо принимать во внимание и учитывать?
145. starik-2005 2001 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 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день

Программист 1С
Тольятти
зарплата от 70 000 руб.
Полный день

Программист 1С
Воронеж
зарплата от 70 000 руб.
Полный день

Ведущий программист 1С (с функцией наставничества)
Екатеринбург
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 120 000 руб.
Полный день