Тема: как ломануть 1C 8.3 for Linux
Опции темы
Поиск по теме
Отображение
через веб просит ключ (( даже х32 1с, есть пропаченый файлик у кого, у меня версия 8.3.5.1625 спецом старенькие и то не пачется или другая версия с патчам
Тоже очень интересно, как заставить работать web-клиент с сервером 1с установленном на линуксе. Пробовал патчить с помощью 1с8_uni3patch файлик backbus.so, он патчится но web-клиент все равно просит ключик.
У меня ubuntu server крутится на виртуальной машинке и я пока просто реализовал проброс в нее юсб порта через usbip. Но как-то не очень стабильно этот проброс работает и периодически 1с перестает видеть ключ.
Добрый день! Для Windows10 х64 кто-нибудь может скинуть ломалку, дабы обойти всплывающее окно лицензии. Установлена платформа 1С 8.3 Бухгалтерия предприятия версия 8.3.10.2505. Файл delic мне не помог или что-то не так я возможно делал
Интересует специалист, который сможет за вознаграждение решить проблему с лицензиями для Linux (Debian) сервера 8.3
[Только зарегистрированные пользователи могут видеть ссылки. ]
+7 707 060 10 28
Оплата WU или как скажите
Сделал сборку 1С сервера в контейнере docker.
Что работает:
1. Можно подключаться удаленно к рабочему столу через VNC и Веб браузер без плагинов! При достаточной скорости подключения даже нормально работает YouTube.
2. Полностью готовая связка 1С Клиент + 1С сервер + Apache2 + Postgres одной командой
3. Использование i386 версии 1С + postgres x64 на любой версии линукса, главное что бы был Docker. Это актуально для зоопарка.
4. Возможно использовать 1С клиента без удаленных рабочих столов пробросив X в контейнер
Можно подключаться через браузер как на удаленный рабочий стол в контейнере так и к веб клиенту 1С, если расшарить порты сервера то можно использовать обычные клиенты.
Внутри контейнера можно развернуть несколько баз.
Для сборки используется i386/ubuntu:14.04 и 1С для i386.
Её можно пропатчить или же использовать софтовую лицензию.
Еще один вариант развернуть кластер и вынести сервер лицензирования на отдельную ноду где стоит ключ.
Сейчас переделываю сборку на два разных слоя, базовый и второй будет пользовательский с бинарниками 1С из-за лицензионных ограничений.
Это позволит мне опубликовать базовый образ публично и останется только поставить внутри него свою версию 1С (патченную или нет)
Следите за репозитарием [Только зарегистрированные пользователи могут видеть ссылки. ] там выложу то что получилось.
docker-compose.yml
version: «2»
services:
server:
image: v8i386
hostname: server
volumes:
— v8home:/home
— apache:/etc/apache2
links:
— db:db
depends_on:
— db
command: ragent
web:
image: v8i386
hostname: web
volumes:
— v8home:/home
— apache:/etc/apache2
links:
— db:db
— server:server
depends_on:
— db
— server
ports:
— 8877:80
— 8878:443
command: apache
vnc:
image: v8i386
hostname: vnc
volumes:
— v8home:/home
— apache:/etc/apache2
— /home/user/share:/home/user/share
— /home/user/1C:/home/user/1C
links:
— server:server
environment:
— VNC_PW=123456
ports:
— 5911:5901
— 5912:6901
user: user
command: vnc
db:
image: pg1c:9.6.3
environment:
— DEBUG=false
— PG_TRUST_LOCALNET=true
— PG_PASSWORD=admin
volumes:
— pg-data:/var/lib/postgresql
— pg-run:/run/postgresql
command: >
-c temp_buffers=256MB
-c shared_buffers=512MB
-c effective_cache_size=512MB
-c effective_io_concurrency=1
-c autovacuum=on
-c synchronous_commit=off
-c commit_delay=1000
-c row_security=off
-c standard_conforming_strings=off
-c escape_string_warning=off
pgadmin:
image: fenglc/pgadmin4:1.5
ports:
— 5050:5050
links:
— db:db
environment:
— DEFAULT_USER=admin@gmail.com
— DEFAULT_PASSWORD=admin
volumes:
— pg-admin:/var/lib/pgadmin4
volumes:
pg-data:
pg-run:
v8home:
apache:
pg-admin:
# hasp здесь может быть ваш патч для x32
В создании контейнера использованы наработки других авторов, я их упростил и объединил в готовый набор.
По завершении работ исходники будут доступны на github
Тема: как ломануть 1C 8.3 for Linux
Опции темы
Поиск по теме
Отображение

Должно работать, причем для одной базы и 10 подключениях вообще должно быть без всяких запинок.
Пользователь сказал cпасибо:
Процесс так и висит.. терминал закрывать, как я понимаю, не следует.
Почитал, в том числе между строк. Если вкратце, нашел, собрал, запустил. Уперся в формат данных в ключе. Структура понятна. непонятно в каком виде данные должны быть? Не подскажете, в какую сторону копать?
Итак. работает все в режиме «поставил и забыл»
сочинил небольшую инструкцию, что и как. для людей, имеющих минимальный опыт использования linux, труда особого не составит собрать и запустить все это хозяйство.
Все делалось на debian-9, если у кого-то другая версия, надо будет скорректировать некоторые команды.
1. устанавливаем либы для х32 (без них работать не будет. )
сначала собираем драйвер ‘usb_vhci’
для автозапуска делаем скрипт в /etc/init.d/ и регистрируем соужбу в systemctl
6. ключи
отличия от reg-файлов
все DWORD-параметры записаны без «0х» в начале
все HEX-параметры содержат те же массивы, но к каждому элементу надо приклеить все тот же «0х» в начало
21 пользователя(ей) сказали cпасибо:
А можно скомпилить на тестовом сервере и подсунуть модули на рабочий сервак?
Пользователь сказал cпасибо:

Для ubuntu 18.04.2 x64 lts (4.15.0) по памяти напишу первую часть, в помощь другим даже с минимальными знаниями:
/libusb_vhci-0.7
./configure
make
make install
cd
wget [Только зарегистрированные пользователи могут видеть ссылки. ]
unzip master.zip
cd cd UsbHasp-master
make
8 пользователя(ей) сказали cпасибо:

/ подтверждаю что система работоспособна на Ubuntu 18.04.2 x64 LTS /
Если у кого есть желание и возможность может изготовить скрипт автоматической перекомпиляции этой системы при обновлении ядра, ему все явно сказали бы большое спасибо. (у меня проблемы с свободным временем)
Установка аппаратных ключей защиты для 1С Предприятия на Linux Ubuntu
Приступив к лицензированию 1С, к сожалению, многие новички сталкиваются с первыми техническими проблемами платформы, особенно если мы говорим о linux и 1С и конечно аппаратных ключах защиты HASP.
Конечно, данная тема также подымается и на курсе: Администратор 1С!
Да, действительно управится с ключами проще на Windows, а еще проще использовать программную защиту, но раз Вы читаете эти строки, значит, проблема обстоит именно так.
На самом деле действительно нет ничего сложно в установке аппаратных ключей защиты на Linux.
Обычно установив всего лишь эти три deb пакета (на тот ПК или сервер, где должна работать 1С) и проблема решена!
Подробно – пошагово:
Мы говорим о Linux UBUNTU 18.04 LTS.
Значит, нужно скачать вот эти драйвера для UBUNTU 18.04:
Другие версии UBUNTU на сайте etersoft.ru:
Зачем драйвера?
Как и любые другие драйвера, драйвера HASP нужны компьютеру для «понимания» аппаратных ключей защиты воткнутых в него или ключей что находятся в локальной сети.
Подготовка к установке
0. Физически отсоединить ключ защиты (Если уже вдруг воткнули в порт USB).
1. Упакуем все три пакета, что мы скачали на сайте в одну папку (Например, создадим такую с именем HASP).
2. Запустив терминал на UBUNTU, выполним переход в папку HASP
3. Оказавшись в нужной директории установим все пакеты (все ее содержимое)
В «лицензировании» установке и настройке аппаратных ключей защиты в клиент-сервере и на веб сервере, есть свои нюансы, но об этом мы поговорим уже в другой раз.
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>
Как установить 1С Предприятие 8.2 (релиз 8.2.16.368 от 05.10.12) на линукс CentOS 6.3 (статья, HowTo)
Предупреждение: Никаких подробных инструкций не будет! Только последовательность действий, необходимые шаги и наводки. Это руководство только для опытных администраторов Линукс!
Примеры некоторых моих конфигов прилагаются.
Замечание: эта статья написана на основе экспериментов с 32-битным CentOS 6.3 (Для сервера необходимо использовать 64-битную ОС. Но так получилось, что на доступном мне для экспериментов железе 64-битный CentOS не установился.) Однако разницы для методики установки нет (32 vs 64bit) — она только в суффиксах дистрибутивных файлов: либо i686 (или i386), либо x86_64…
0) Подготавливаем серверное железо
Конкретных рекомендаций по выбору серверного железа (какой мощности железо требуется) давать не буду — нет личного опыта. Смотрите официальные «Рекомендации по выбору оборудования для работы с 1С: Предприятием 8» от v8.1c.ru и неофициальные «Требования к компьютеру для работы с программой 1С: Предприятие 8» от 1c.xxi.kiev.ua…
И рекомендую брать железо с запасом мощности, чем рекомендуемое (потому что «на вырост» потребностей предприятия; и потому что Платформа 1С тоже постоянно «растёт и оптимизируется» — значит потребляет от релиза к релизу всё больше ресурсов).
1) Устанавливаем Операционную Систему (ОС)
Установить линукс CentOS 6.x (последний релиз), лучше 64bit.
Причины выбора дистрибутива CentOS: Это серверный дистрибутив линукс. Это свободный (бесплатный, «Community Edition») дистрибутив. Это дистрибутив основанный на ядре RedHat, который 1С декларирует как «поддерживаемый».
Образы дистрибутива CentOS качаются отсюда (с любого из зеркал).
Удобнее выкачать iso, прожечь на болвань (DVDRW) и с неё ставить.
Для установки, как правило, достаточно только первого диска из двух компонуемых (на втором диске — всякий второстепенный софт).
А потом установочные дистки уже не нужны — всё равно весь софт нужно обновлять и доставлять через Интернет.
Замечание: Пользователь root в системе CentOS нелогинный (должен быть)!
Вся работа в системе CentOS ВСЕГДА осуществляется из сеанса обычного пользователя, в т.ч. и установка/настройка системы. И только для некоторых действий каждый раз запрашиваются привилегии «суперпользователя» (нечто подобное появилось и в Windows7).
Поэтому для выполнения правки конфигов, установки пакетов и прочих «админских» действий — открыв консоль в сеансе обычного пользователя, сразу выполняем команду «su», которая переключит текущую консоль в режим «суперпользователя» (фича CentOS):
Далее эта консоль bash# используется для разных привилигированных действий. Например, можно запустить «mc» и править конфиги в /etc/…
2) Настраиваем Сеть
Настроить сетевые адаптеры, имя хоста, gateway и DNS…
Подключиться к Интернет и обновить все базовые пакеты до последних версий…
Все дальнейшие действия будем делать только при наличии подключения к Интернет, считаем что оно постоянно!
Настройка сети осуществляется стандартно… Но есть распространённые Грабли, которые надо обойти:
Первое – имя нашего сервера должно без проблем разрешаться в IP-адрес.
В файле /etc/sysconfig/network проверяем значение параметра hostname («имя компьютера» севера), при необходимости меняем, что бы новые параметры вступили в силу нужно перезапустить систему.
(Последняя строчка — шлюз по-умолчанию, указывать необязательно. Если не указан — он будет браться из конфигов ifcfg или по DHCP. )
В файле /etc/hosts не должно быть записей формата localhost.localdomian или относящихся к IPv6, в случае отсутствия DNS-сервера в нем должно быть прописано четкое соответствие IP-адрес сервера – FQDN имя – короткое имя. Пример правильного файла hosts:
Проверка: пингует ли сервер сам себя? Введите в консоли:
Второе – на файрволе не должно быть правил запрещающих взаимодействие между собой компонентов 1с предприятия.
В большинстве случаев сервер 1с предприятия находится в пределах локальной сети, поэтому мы вполне может отключить файрвол (хотя бы на время пуско-наладки):
Третье – необходимо также отключить SELinux policy!
Причины:
1) Ранее SELinux был причиной ошибки Segmentation Fault.
2) Со включенным SELinux не работают шары Samba (удалённые пользователи в шары заходят, но файлы не видят… или файлы видятся, но не читаются… и т.п. глюки)
3) Кроме того, плюсы от использования SELinux на высоко-нагруженном сервере, находящемся в пределах локальной сети, — выглядят крайне туманно.
У интернет провайдера «Укртелеком/Украина» есть ещё такие грабли: глючные DNS сервера — поэтому нужно использовать вспомогательные (лучше от Google)… А ещё возможно мой DSL-роутер оказался плохо совместим с ОС Линукс…
Симптом: при работе с Интернет, резолвинг каждого DNS-имени происходит очень долго (несколько [десятков] секунд таймаута), работать очень плохо…
Решение: Поэтому я сервера DNS не получал автоматически через DHCP, а статически прописал в настройках адаптера (в конфиге /etc/sysconfig/network-scripts/ifcfg-eth0) следующие адреса: 213.179.249.151, 213.179.249.152, 8.8.8.8, 8.8.4.4 (первые два — новые Укртелекомовские, следущие два — от Google).
3) Настраиваем менеджер пакетов (yum)
Примечание: подробный мануал по использованию yum — смотри в статье «Управление пакетами в RHEL6. Yum».
Настраиваем источники софта (репозитории):
включаем стандартные репозитории (в конфиге репозитария пропишем enabled=1, или установим галочки через графический интерфейс. ):
CentOS-6 — Base
CentOS-6 — Contrib
CentOS-6 — Extras
CentOS-6 — Plus
CentOS-6 — Updates
И добавляем/подключаем дополнительные репозитории (без них очень грустно, т.к. стандартные репозитории содержат преимущественно серверный софт, причём устаревшие хотя и сверхотлаженные версии).
Примечание: В большинстве случаев, для облегчения подключения новых репозиториев, владельцы репозиториев подготовили RPM-пакеты для автоматической конфигурации — эти пакеты нужно только скачать и установить. Причём, выбирайте пакеты правильной версии: для соответствующей версии репозитария и предназначенные для соответствующего вашему релиза Линукс. При установке этого псевдопакета автоматически сгенерируются необходимые конфиги, сконфигурируется yum и т.п.
Концепция: главное — не нарушить функциональность базового ядра системы.
Стандартные репозитарии CentOS (особенно «CentOS-6 — Base») составляют специально обученные люди, которые обеспечивают наличие в каждый момент времени в репозитарии среза совместимых друг с другом пакетов и библиотек. (CentOS — система серверная, которая установлена на самых дорогих Продакшн серверах, которые работают в режиме автоапдейта. Глюк в репозитарии сломает много серверов, ну то есть у админов будет много гемора и кредит доверия к CentOS подорвётся… Этого не допускают.)
Но если играться с третьими левыми дистрибутивами, то в них всегда новые (и нестабильные) версии библиотек появляются ранее — они могут быть автоматически установлены в систему при автоапдейте, породив несовместимость для сервисов ядра. Плохо!
Для того чтобы на сервер устанавливался именно самый отлаженный софт, а из дополнительных репозитариев устанавливался только софт отсутствующий в базовых (пакеты развязываются по «зависимостям») — нужно настроить/использовать систему приоритетов:
Настройки репозитариев yum хранит в: /etc/yum.repos.d/
конфиги, которые можно редактировать, называются: *.repo
остальные файлы служебные — их не трогаем.
Нужно дописать в текстовые конфиги (как минимум для всех репозитариев с enabled=1): строки с параметрами protect=… и priority=… (примечание: чем меньше значение priority — тем репозиторий главнее)
Ещё рекомендую установить использовать графическую оболочку к менеджеру пакетов: Yum Extender (бинарь называется yumex) — он гораздо продвинутей стандартного GUI!
4) Устанавливаем дополнительный софт, не относящийся к системе 1С
Теперь можно проинсталировать (через консоль управления менеджером пакетов yum, конечно):
поддержку ntfs
wine (эмулятор для запуска простых приложений windows)
и другие полезные локальные приложения…
5) Настраиваем Samba-сервер
Нужно установить (через yum) и настроить сервер Samba (службы «smb» и «nmb») — это поддержка протокола Microsoft NetBIOS под Линукс, т.н. «Сетевое окружение»…
Причём Samba рекомендую поднять, даже если вы не будете предоставлять файловые шары на этом сервере для других клиентов локальной сети, чтобы этот сервер появился в «сетевом окружении» у всех Windows клиентов и других серверов сети, сканировался стандартным API, резолвил своё «сетевое имя машины» — чтобы на него можно было ссылаться как-то типа ¨\\MyLinuxServer¨. Для удобства, настройте Samba так, чтобы Сервер 1С был виден в вашей WORKGROUP…
1) Раньше, для работы 1С: Предприятие версии 8.1, Samba-сервер был строго необходим: например, MMC-оснастке «Администрирование серверов», если сервер 1С под Линукс, требовался аналог «Cлужбы доступа к файлам и принтерам Windows» – Samba… Но сейчас админы отмечают, что поздние версии 1С: Предприятие 8.2 нормально работают и без поднятия Samba на сервере. (Хотя замечу, что тогда клиентским приложениям 1С, в т.ч. оснастке «Администрирования серверов», приходится обращаться к серверу 1С только через IP. Либо требуется поднимать и настраивать соответствующим образом локальный DNS-сервер, для трансляции IP сервера в символическое имя компьютера.)
2) В отличие от «файловой Информационной Базы», для размещения которой требовалась «общая сетевая папка», — в клиент-серверном варианте samba-шара уже не требуется… Однако Samba-сервер остаётся полезным! Основное назначение Samba в клиент-серверной конфигурации — легко и просто резолвить в локальной сети символическое «имя сервера» в его IPшник, для всех клиентских приложений 1С, без необходимости применения локального DNS-сервера — что значительно упрощает настройку и администрирование сетей, для небольших 1С-решений.
3) Кроме того, нужно понимать, что платформа 1С: Предприятие была всегда заточена под Windows (COM, RPC, NetBIOS) и её миграция под Линукс, в кросплатформенное решение (TCP/IP, HTTP и на собственные переносимые протоколы), началась недавно. Пока кросплатформенные решения обладают гораздо меньшим доступным функционалом, чем при развёртывании системы на платформе Windows. И разработчики 1С ещё работают над переделкой сервисов платформы 1С на «кросплатформенные протоколы» (а сервисов в пакете много)… И «1С: Предприятие 8.х» во многом ориентировано на работу «в локальной сети» (например, вся их лицензионная политика на этом построена)… Поэтому есть ещё масса явных и неявных использований протокола NetBIOS сервисами 1С (что может быть и недокументировано, но это обычные накладки при «итеративной разработке») — и мне профессиональная интуиция подсказывает, что Samba очень желательно поднять!
Для настройки Samba советую:
создать и настроить шаровые папки так:
создать нелогинного пользователя/группу: samba/samba
назначить этому пользователю домашнюю папку: /home/samba
Настройка службы Samba:
Конфиги лежат в /etc/samba/
см. man smb.conf
см. smb-conf.ru
Для простой настройки — см. статью «Простая установка и конфигурация сервера SAMBA в CentOS».
Важно: Кроме службы «smb» (основной), также следует «включить» и «запустить» службу «nmb» (которая отвечает за публикацию NetBIOS имени компьютера в локальной сети — Сервер станет виден в «Сетевом окружении»):
Совет: Режим работы Служб лучше всего настраивать через графическую оснастку «GNOME / Система / Администрирование / Службы»…
6) Достаём и готовим дистрибутивы 1С: Предприятие… Откуда всё взять?
Пиратские дистрибутивы 1С (и кряки) можно скачать с обменников (ссылки не привожу, найдёте на forum.ru-board.com в разделе «Варезник»)…
На оф.сайте v8.1c.ru для «Технологической платформы 1С: Предприятия» / «Тонкий клиент» и «толстый клиент» — возможность работы под Linux не упомянута! Хотя таковая упомянута для web-клиента и для Сервера 1С…
В дистрибутивах платформы 1С: Предприятие 8.2 клиентских приложений под Линукс — НЕ ОБНАРУЖИЛ (т.о. из под Линукс доступны только Web-клиенты, которые работают в окружении Браузера).
В дистрибутивах платформы 1С: Предприятие 8.3 (пока тестовая версия) клиентские приложения под Линукс (и 32bit и 64bit) — УЖЕ ПРИСУТСТВУЮТ!
Кстати, поэтому для локальной установки 1С (один пользователь/один компьютер) — пока доступен только вариант под Win32.
7) Сборка и Установка «СУБД PostgreSQL от 1С (релиз 9.0.3-3.1C от 17.01.12)» на Линукс CentOS (6.3)
Первым делом, чтобы не было конфликтов в системе, нужно деинсталлировать все другие/предыдущие версии СЕРВЕРА PostgreSQL, если таковые установлены (проверьте).
Вредный совет: Чтобы не было путаницы из-за программной несовместимости, я также деинсталировал клиента «postgresql-8.4.13» (установленный изначально, из стандартного репозитария CentOS 6.3)… Некоторые пакеты (например, «postgresql-libs-8.4.13» и др.) сейчас пришлось оставить, т.к. от них зависят многие другие пакеты в системе — однако их можно будет деинсталировать потом, после установки PostgreSQL 9.0.3 (забегая вперёд, мне это удалось)…
Тем не менее, есть смысл оставить эти стандартные пакеты в системе (особенно «postgresql-libs-8.4.13») — на тот случай, если в будущем вам прийдётся деинсталировать PostgreSQL 9.0.3. Потому что сейчас у меня сложилась такая ситуация, что все системные пакеты теперь зависят только от пакета «postgresql-libs-9.0.3-3.1C» и менеджер пакетов не даёт деинсталировать последний не снеся заодно половину систему (крах).
PostgreSQL от 1С релиз 9.0.3-3.1C (последняя доступняя стабильная версия, патченная 1С) — сходу не установился из-за отсутствующих зависимостей, требует новые версии библиотек (libcrypto.so.4, libssl.so.4, libreadline.so.4, libtermcap.so.2).
PostgreSQL от 1С релиз 8.4.3-3.1C — сходу не установился из-за отсутствующих зависимостей, требует новые версии библиотек (libcrypto.so.4, libssl.so.4, libreadline.so.4, libtermcap.so.2); также требуется установить пакет openldap (библиотеки libldap-2.2.so.7, libldap_r-2.2.so.7); [и необязательно, для дополнительных клиентов, требуются библиотеки: libpython2.3.so.1.0, libtcl8.4.so].
PostgreSQL от 1С релиз 8.3.3-2.1C — сходу не установился из-за отсутствующих зависимостей, требует новые версии библиотек (libreadline.so.4, libtermcap.so.2); [и необязательно, для дополнительных клиентов, требуются библиотеки: libpython2.3.so.1.0, libtcl8.4.so]. Кроме того, устанавливаемый пакет «postgresql-libs-8.3.3» был меньшей версии и конфликтовал с уже установленным в системе пакетом «postgresql-libs-8.4.13» (поэтому версия 8.3.3 вообще не подходит).
Итак, лучше всего подходит версия «PostgreSQL от 1С релиз 9.0.3-3.1C», но собранные RPM-пакеты из дистрибутива «PG90331_setuppln903.rar» нам не подойдут: не установятся по зависимостям (там пакеты собраны для CentOS 5.x, а не для 6.x.)…
Неправильный подход: Апгрейдить вручную существующие старые библиотеки — это геморно и опасно (от них зависит куча софта из базового и стабильного ядра CentOS)! Ещё можно было бы вставить костыли-хаки в виде символических ссылок (с именами требуемых библиотек, ссылающиеся на существующие версии), но это совсем плохо на Production-сервере…
Примечание: Я не опытен в сборке из исходников, поэтому далее идёт слегка модифицированный рецепт из блога «Админа-маньяка» на alsigned.ru (автору респект).
Установка должна выполняться от имени пользователя root.
Перед PostgreSQL, необходимо установить (или убедиться что уже установлена) библиотеку ICU — она необходима для работы PostgreSQL версии от 1С. Установить можно вручную из RPM-пакета (но не нужно)… Или с помощью yum, из стандартного репозитария (что лучше):
Устанавливаем также пакеты необходимые для компиляции и сборки:
Загружаем с сайта 1с исходники PostgreSQL 9.0.3:
и устанавливаем пакет с исходниками (будут созданы разные папки в системе и по ним раскиданы исходные файлы):
Открываем для редактирования файл /usr/lib/rpm/macros и меняем в нем уровень подгона пачей _default_patch_fuzz на 2:
Примечание: Раньше подобные действия приходилось делать только на Fedora 12 и выше, при сборке софта не поддерживающего обработку пачей новыми скриптами, а начиная с 6-ой версии новые скрипты пришли и в CentOS.
Создаем символические ссылки на библиотеки libicu:
Переходим к сборке PostgreSQL:
Примечание: Установкой параметра «runselftest 0» мы отказываемся от инициализации тестовой базы и проверки работоспособности PosgreSQL во время сборки, для того что бы тестирование прошло успешно его нужно выполнять из-под ограниченного пользователя, иначе процесс сборки будет остановлен.
Процесс сборки займёт некоторое время…
Наконец, просмотрим список собранных RPM-пакетов (т.к. у меня ОС Линукс 32-битная, то и пакеты PostgreSQL были собраны тоже 32-битной версии):
Установка патченного сервера СУБД PostgreSQL от 1С:
Совсем необязательно устанавливать все пакеты… для нормальной работы PostgreSQL вполне достаточно четырёх: postgresql-libs, postgresql, postgresql-server, postgresql-contrib. Переходим в директорию /root/rpmbuild/RPMS/i686 (на 64-битной ОС — в /root/rpmbuild/RPMS/x86_64) и устанавливаем пакеты…
порядок установки пакетов следующий:
Необязательно но полезно (для разработчиков) затем ещё установить следующие пакеты:
Грабли: при установке пакета «postgresql-contrib-9.0.3-3.1C.i686.rpm» возникает ошибка?
ошибка: распаковка архива не удалась на файле /usr/pgsql/lib/libicudata.so.46;4e9327cc: cpio: Digest mismatch
ошибка: postgresql-contrib-9.0.3-3.1C.i686: install failed
Решение: Запускаем rpm без проверки digest и md5
Все вышеперечисленные действия должны выполняться от имени пользователя root.
После этого в операционной системе появится пользователь «postgres», который будет владеть всеми файлами СУБД и в сеансе которого будет запускаться сервер (не путайте его с одноимённым суперпользователем самой СУБД).
Будет создан скрипт /etc/init.d/postgresql для старта и остановки СУБД.
Бинарные файлы клиента и сервера PostgreSQL 9.0.3 находятся в /usr/pgsql/bin/…
Инициализируем кластер баз данных PostgreSQL (так называется директория, обычно /var/lib/pgsql/data, в которой хранятся данные всех баз этой установки СУБД PostgreSQL):
Примечание: в предыдущих версиях Postgres проходил трюк, когда мы просто запускали сервер СУБД, и он при первом запуске не обнаруживая директории с файлами БД — сам инициировал initdb… Но сейчас это не работает —
нужно запускать initdb явно и с правильными параметрами. При этом, нужно явно указать системного пользователя в сеансе которого происходит запуск сервера СУБД (командой «su postgres»). Также явно указываем локаль в которой работает сервер (locale=ru_RU.UTF-8).
При выполнении этой команды, её консольный вывод подтвердит заданные параметры (в консоли появится текст):
Файлы, сопутствующие этой системе баз данных, будут принадлежать пользователю «postgres». Этот пользователь также должен быть владельцем процесса сервера.
Кластер баз данных будет инициализирован с локалью ru_RU.UTF-8. Кодировка базы по умолчанию установлена в UTF8. Конфигурация полнотекстового поиска по умолчанию установлена в «russian».
В результате будет создана база данных, размещенная в каталоге /var/lib/pgsql/data (примечание: тут же и конфиги сервера PostgreSQL).
Грабли: если во время инициализации кластера баз данных выпадает ошибка?
FATAL: could not create shared memory segment…
HINT: This error usually means that PostgreSQL’s request for a shared memory segment exceeded your kernel’s SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently 35233792 bytes), reduce PostgreSQL’s shared_buffers parameter (currently 3584) and/or its max_connections parameter (currently 104).
Решение: Необходимо увеличить значение параметра kernel.shmmax, для этого добавляем в файл /etc/sysctl.conf строчку:
Затем обновляем параметры sysctl следующей командой:
Примечание: Обычно эта проблема характерна для 32-битных версий… Но у меня на CentOS 6.3 32bit такой проблемы не возникло — здесь уже установлен параметр kernel.shmmax = 4294967295
Настройка сервиса PostgreSQL:
Добавляем в автозагрузку и запускаем сервис PostgreSQL:
Бинарные файлы клиента и сервера PostgreSQL 9.0.3 находятся в /usr/pgsql/bin/… Создадим символические ссылки на необходимые бинари, чтобы они запускались без указания пути (особенно это нужно для Консольного клиента PostgreSQL):
При первом запуске PostgreSQL, для контроля привилегий доступа к сущностям БД, в СУБД создаётся учётная запись суперпользователя «postgres» с паролем «postgres» (не путайте её с учётной записью ОС Линукс). Первое что нужно сделать – сменить стандартный пароль… Задаем пароль для суперпользователя СУБД «postgres» командой:
Примечание: теперь этот пароль будет использоваться при соединении клиентов к СУБД: login=«postgres» password=«newpassword».
Настраиваем сервер PostgreSQL для работы с «Сервером 1С: Предприятие» (правим конфиги):
См. описание параметров конфигов на русском.
В файле /var/lib/pgsql/data/postgresql.conf — настройки сервера. Нужно указать параметры (раскомментировать строки или если этих параметров нет, то ввести их вручную):
По умолчанию, Автовакуум в PostgreSQL 9.0.3 отключён… Если вы хотите включить «Автоматическую сборку мусора (Automatic Vacuuming)» в БД (что полезно для слабонагруженных серверов, чтобы админу не требовалось делать процедуру «упаковки БД» периодически и вручную, а просто установить и забыть) — то установите такие параметры:
Примечание: в предыдущих версиях СУБД был параметр «stats_row_level»… но в PostgreSQL 9.0.3 этот параметр устарел и вошёл в новый параметр «track_counts».
В файле /var/lib/pgsql/data/pg_hba.conf настраивается политика доступа и идентификации пользователей (т.е. допустимые параметры подключения к PostgreSQL-серверу)… Убедитесь, что в конце этого файла указана незакомментированная такая строчка (что означает «разрешить подключения к серверу с любых хостов, пароли при логине хешируются md5»):
Примечание: если в строке политики заменить «md5» на «trust», то пароль при подключении проверяться не будет! (полезно для восстановления/изменения забытого пароля суперпользователя) Также обратите внимание, что политика по-умолчанию для клиентских подключений с localhost: пароли не проверяются.
Примечание: Эти параметры вы сможете конфигурировать и позднее. А когда убедитесь, что всё включая клиента 1С работает — имеет смысл, в целях безопасности, ограничить подключения только локальным хостом localhost (или точнее хостами «кластера серверов 1С», если они отделены).
Наконец, перезапустите сервер PostgreSQL:
Установка «Сервера 1С: Предприятие 32bit для RPM-based Linux-систем (8.2.16.368)» на Линукс CentOS (6.3)
Пытаюсь ставить именно «веб компонент» отдельно. Если не установлен «сервер» то, при попытке зайти через браузер, получаю ошибку: «Error loading component pack». Как только доставляю сервер — все отлично. Но самое интересное: сервер даже не запущен…
Затем, после правильной конфигурации «web-сервера», я без проблем подключаюсь к «серверу 1с» на удаленной машине, через браузер.
Установка должна выполняться от имени пользователя root.
При установке следует учитывать следующие зависимости между пакетами (чтобы успешно установить пакет, предварительно нужно установить все пакеты, от которых он зависит) — поэтому порядок установки следующий:
Затем сервер следует запустить в режиме демона:
Все вышеперечисленные действия должны выполняться от имени пользователя root.
В процессе установке компонент сервера 1C: Предприятия 8 создается пользователь операционной системы с именем usr1cv82, под учетной записью которого будут исполняться серверные процессы 1С: Предприятия 8.
После установки всех требуемых пакетов, нужно запустить скриптовую утилиту диагностики и инициализации графической подсистемы в 1С v8.2 и выполнить её рекомендации, если таковые возникнут. (Утилита проверяет систему на наличие в ней требуемых для графической подсистемы в 1С v8.2 компонентов и настроек, и выдаёт рекомендации, если 1С ещё что-то требуется.)
Дополнительная информация про утилиту «config_server»: на nefrit.arvixe.ru и blog.unixstyle.ru…
Порядок настройки системы с помощью утилиты «config_server» будет примерно следующий (некоторые из этих этапов у вас могут отсутствовать — пропустите):
Установка должна выполняться от имени пользователя root.
1) После первого запуска утилиты «config_server» — должна вылететь ошибка: «Can not detect font directory, please specify it!»
Решение: ставим отсутствующие TTF-шрифты по рецепту linewb.ru FAQ и сайта corefonts.sourceforge.net.
Примечание: система папок
/rpmbuild/ у вас уже должна существовать (они были созданы ранее, при сборке дистрибутива PostgreSQL).
В итоге, для установки шрифтов, достаточно примерно следующих действий:
2) Повторно запускаем утилиту «config_server» — должна вылететь ошибка: «No truetype conversion utility found! Please install ttf2afm or ttf2pt1!»
Решение: ставим утилиту ttf2pt1 (доступна в репозитарии EPEL):
3) Третий раз запускаем утилиту «config_server» — cистема задумается подольше и все будет отлично: больше ошибок в консоль не выдаст…
Наконец, нужно перегрузить «Сервер 1С» (или целиком всю машину):
Все вышеперечисленные действия должны выполняться от имени пользователя root.
Все, установка «Сервера 1С» на ОС Линукс завершена!
Остается подключиться к этому «Серверу 1С» через MMC-консоль «Администрирование сервера 1С: Предприятие 8.2» и создать «информационные базы» конфигураций. Об этом ниже…
Примечание: MMC-консоль устанавливается в составе «Технологической платформы 1С: предприятия 8.2» — на другом хосте, и только под управлением Windows. (Хотя в версии «1С: Предприятие 8.3» обещают, что уже реализовано ПО администрирования и под Линукс. )
Настраиваем поддержку web-клиентов 1С через вебсервер Apache:
Подготовка: Мы будем использовать локальный вебсервер Apache, установленный на этой же линукс-машине, что и «Сервер 1С». Если у вас ещё не установлен вебсервер Apache — то выполните действия из раздела «Task: Install Apache/httpd under Fedora Core/Cent OS Linux» статьи «How to install and start the Apache or httpd service under Linux»:
Далее, действуем как сказано в разделе «2. Публикация web-клиента» статьи «Ставим 1C web-клиент на Apache».
Предположим, у вас на «Сервере 1С» есть информационная база с названием «test1c» (фактически она будет создана поздже, после инициализации кластера и создания БД в postgreSQL… но публикацию можно выполнить спекулятивно и сейчас, т.к. фактически к ИБ мы обращаться не будем, а просто поправим конфиги Apache и создадим на вебсервере заглушку, некоторые папки/файлы). Процедура публикации очень простая и автоматизированная (каждый шаг подробно описан в вышеназванной статье, поэтому тут не повторяюсь) — нужно исполнить следующие команды:
Всё, информационная база «test1c» опубликована! Когда вы до конца настроите «кластер серверов 1С» и информационную базу, то к ней можно будет подключиться через броузер, введя адрес http:// delldev/test1c (где delldev — имя хоста под управлением CentOS, с «Сервером 1С» и «вебсервером Apache», который мы сейчас настраиваем).
Помните: чтобы веб-клиент заработал — также необходимо: к хосту, на котором работает «Сервер 1С» или «Web-сервер Apache» (в данном случае он один), подключить пакет «Сетевых клиентских лицензий» (ключ защиты можно подключить локально или настроить доступ к «менеджеру лицензий»); и включить в «Свойствах» Информационной Базы пункт «Выдавать лицензии сервером приложения» (настраивается через оснастку «Администрирование серверов»).
Дополнительно: следует знать как включить «Технологический журнал» (он же «логи», он же «log»)…
По-умолчанию логи отключены, потому что они быстро разрастаются и занимают очень много места на диске (при ошибках, вместе с «логами» создаются также «дампы»). Включайте логи только если вам действительно необходимо отследить некую проблему.
Дополнительно: если вдруг понадобится… для удаления «Сервера 1С», следует выполнить такие шаги:
Перед удалением необходимо завершить работу кластера серверов:
Затем, удаляем пакеты в порядке, обратном установке, чтобы зависимый пакет удалялся до того пакета, от которого он зависит:
Или также можно выполнить удаление всех rpm-пакетов одной универсальной командой, которая удалит все установленные пакеты, которые начинаются с префикса «1C_», а зависимости будут отслежены автоматически:
9) Установка защитных ключей (лицензирование 1С)
Подключить ключи к «Серверу 1С» — просто. Нужно скачать драйвер с сайта производителя ключа, распаковать его и выполнить установку двойным кликом…
Советы по выбору драйвера — рекомендуют использовать драйвер от Etersoft.
Драйверы ключей и менеджер лицензий для Linux и WINE@Etersoft, собранные для всех систем — можно получить здесь.
Конкретно под линукс CentOS 6 — драйвера качать отсюда.
Установка HASP-драйвера от Etersoft, со встроенным «менеджером лицензий»:
Далее, нужно вставить в USB-порт этого сервера два аппаратных ключа: «ключ на сервер 1С: Предприятие» и «ключ на X сетевых пользовательских лицензий» (все ключи в одной физической «флешке»). И всё должно заработать: клиенты будут получать клиентские лицензии через сервер…
Примечание: Ключи нужны только для «Сервера приложений 1С: Предприятие» и для «защищённых клиентских приложений 1С». с СУБД PostgreSQL проблем нет — это opensource и не требует ни лицензий, ни ключей (в отличие от СУБД «MS SQL Server», но мы её не используем).
Примечание: Некоторые версии 1С работали и без ключей (беты).
Внимание: Нелицензионный «Сервер 1С» (т.е. даже без «серверного ключа») нормально работает с небольшим числом клиентских подключений (до
12 подключений). Вероятно это сделано для облегчения задач администрирования: начального конфигурирования и мониторинга в случае проблем… Но при превышении этого административного лимита — Сервер начинает отвергать новые подключения и требовать ключ.
у меня точное число допустимых подключений = 13, из которых 1-3 подключения, в разное время, могут захватываться некоторыми внешними сервисами самого 1С (они периодически автоматически стартуют, делают что-то своё и отключаются).
Примечание: однако «клиентские ключи» (локальные или сетевые) требуются для «защищённых клиентских приложений 1С», в любом случае — что для первого подключения к серверу, что для сотого!
Какие бывают ключи?
1) По назначениям, ключи 1С бывают трёх типов:
2) По конструктивному исполнению, и серверные и клиентские ключи, бывают реализованы как:
Какие ключи поддерживаются драйвером от Etersoft?
Поддерживаемые драйвером от Etersoft ключи защиты:
Ещё не проясненный вопрос: Поддерживает ли драйвер от Etersoft под Линукс «программные лицензии» (и если да, то каким образом они активируются?) или только «аппаратные ключи (USB)»?
По результатам эксперимента: драйвер от Etersoft также имеет встроенную службу «HASP License Manager». Утилита «Aladdin NetHASP Monitor» видит на линукс-хосте с Сервером 1С: Предприятие службу «HASP License Manager». Но реальную работу службы (раздачу сетевых клиентских ключей) пока протестировать не смог (нет официальных ключей).
Документация/Вопросы по установке/настройке драйвера от Etersoft
Другие вопросы по эксплуатации ключей (рассматриваются только Аппаратные ключи защиты)
Для лицензирования ПО запускаемого в сессиях на Сервере Терминалов — необходимо использовать «Сетевые многопользовательские клиентские ключи», через «HASP License Manager» («менеджер лицензий»), установленный локально или на другом компьютере локальной сети («сетевой ключ» естественно вставляется в тот компьютер, где устанавливается «менеджер лицензий»).
Примечание: «Сервер Терминалов» был необходим в 1С 7.7 для обеспечения надёжной работы многих пользователей по сети… В 1С 8.2 гораздо более развитые сетевые клиент/серверные возможности: появилась трёхуровнеая архитектура с выделенным сервером приложений, кластер серверов с баллансировкой нагрузки и т.п. В 1С 8.2 надёжная работа через сеть отлично обеспечивается и без использования «Сервера Терминалов»! Кроме того в 1С 8.2 появилась замечательная универсальная альтернатива — веб-клиент…
Однако, «Сервер Терминалов» всё ещё может использоваться вместе с 1С 8.2 и полезен в случаях: если вы не хотите устанавливать/настраивать приложения 1С «Толстый или Тонкий Клиент» на каждом клиентском хосте (которые обязательно должны быть в текущей локальной сети); если клиентские хосты расположены не в текущей локальной сети (и не связаны VPN) и если для них вы по каким-то причинам не хотите использовать «веб-клиентов 1С» (например, «веб-клиент» и «тонкий клиент» работают только в конфигурациях, написанных в режиме «управляемого приложения» ).
Для лицензирования веб-клиентов 1С: Предприятие 8.2, которые работают в окружении веб-броузера и физически изолированы от локального компьютера (локального ключа) и от локальной сети (сетевого ключа) — применяется новая модель лицензирования, когда «клиентский ключ» для этого подключения делегируется через обслуживающий клиента «Сервер 1С» или «Веб-сервер».
Поэтому чтобы заработал веб-клиент: кроме обеспечения сервера доступными «сетевыми клиентскими лицензиями» (локально воткнуть ключ или настроить доступ к «менеджеру лицензий»), обязательно необходимо включить в «Свойствах» Информационной Базы пункт «Выдавать лицензии сервером приложения» (через оснастку «Администрирование серверов») — см. обсуждение граблей.
Работа с ключами по сети — Менеджер лицензий
Если у вас два и более комплекта «сетевых пользовательских ключей» (например, другие были докуплены позднее), то вставлять их в порт одного компьютера нельзя (драйвер не увидит все ключи). Нужно взять отдельный хост в текущей локальной сети, установить там «HASP driver» и «HASP License Manager» (он шарит ключи по сети), и затем воткнуть в этот хост только один «сетевой ключ». Для остальных ключей — повторить процедуру… Каждый ключ «пользовательских лицензий» необходимо вставлять в отдельный хост!
Примечание: механизм проверок всё усложняется, от релиза к релизу, для обнаружения новых нелицензионных ключей и эмуляторов. И для усложнения жизни хакерам, 1С тщательно скрывает детали проверки — поэтому если что-то при проверке пошло не так, то программа просто скажет «Не найден ключ защиты». А что и где у него «не так»? (либо ключ сгорел, либо HASP-драйвер кривой, либо «License Manager» неправильно сконфигурирован, либо приложение, либо проблемы с сетью) — х. его знает… Приходится догадываться методом «телепатии и научного тыка» (правда логи чуток помогают) — чем сильно усложняется жизнь и всем лицензионным пользователям и администраторам.
10) Далее, устанавливаем клиентскую часть — на другой машине под управлением Windows
«Установку HASP-драйвера» производим в том случае, если 1С на данном компьютере будем использовать лицензионную: либо к USB-порту будет присоединяться аппаратный ключ защиты, либо лицензия будет браться из сети с «менеджера лицензий»… (Напоминаю: если будете использовать кряк/эмулятор, то при инсталляции не ставьте «HASP-драйвер защиты»!)
Совет: Чтобы ничего не глючило, убедитесь в правильных настройках DCOM НА КАЖДОЙ МАШИНЕ под управлением ОС Windows, которую вы используете для работы с 1С.
DCOM настраиваются через оснастку dcomcnfg, как показано в инструкции. (Примечание: в инструкции говорится не только про DCOM, а про установку 1Сv8+MSSQL… Но в ней также наглядное описание в картинках, куда кликать чтобы настроить DCOM.)
Теперь переходим непосредственно к эксплуатации установленного пакета программ:
Через консоль, последовательно создаем объекты: «Центральный сервер», «Кластер», «Рабочий сервер», «Рабочий процесс», «Информационная база» — как описано и показано в статье «Администрирование серверов 1С Предприятия».
Сейчас установите в USB-порт линукс-сервера 1С аппаратные ключи лицензий (два ключа: особенно требуется «лицензия на сервер», и ещё желательно «сетевые клиентские лицензии»), ибо дальше без ключей работа невозможна! Другие варианты ключей и вопросы с ними здесь не рассматриваю — они уже выходят за рамки данной статьи… Ещё можно активировать программные лицензии через email/телефон (если линукс драйвер их поддерживает?), или настройте эмуляторы/кряки (но замечу, что под линукс эмуляторов ещё не реализовали, и вряд ли сделают, т.к. особо не нужны).
А когда прикладная Конфигурация будет загружена и настроена — к ней можно будет подключаться разными клиентами (толстым, тонким, web) для использования и решения прикладных задач…
На этом всё! Спасибо за внимание!
Литература (использованная и дополнительно рекомендуемая)
Книга «1С: Предприятие 8.2 — Руководство администратора».
Смотри также рекомендации по тонкой настройке и оптимизации PostgreSQL (после установки системы пригодится) (немного устарело): тут, тут, тут, тут, тут…





Установка «Сервера 1С: Предприятие 32bit для RPM-based Linux-систем (8.2.16.368)» на Линукс CentOS (6.3)