Ошибка загрузки компоненты moxel 1c

Решение вопроса:

Такое сообщение можно получить в случае если кластер сервера 1с Предприятие расположен на ОС Семейства Linux.
Для решение этой проблемы нужно выполнить команду в терминале
Для Ubuntu, Debian, Mint Linux
sudo apt install liblcms2-utils

Для CentOS, Fedora
yum install lcms2

Эта информация оказалась полезной?

Как можно улучшить этот ответ?

Предыдущий вопрос
Следующий вопрос

 

elite128

Заглянувший

Сообщений: 602
Авторитет:

5

Регистрация: 24.09.2012

1С:Предприятие 8.3 (8.3.6.2014)
Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0 (2.0.11.5)

на части клиентов падает клиент с ошибкой moxel.dll
у одного пользователя вылечилось отключением и включением CRM, у другого неполучается, клиент запускается только при отключенном модуле CRM или в веб-интерфейсе

Принтеры удалял, антивирус отключал — не помогает, похоже ошибка

 

Добрый день !

Данный вопрос решается в рамках линии консультации продукта. Для его оперативного решения следует обратиться на линию технической поддержки пользователей по адресу crm@rarus.ru, обязательно указав в письме:
— регистрационный номер ПП 1C:CRM;
— название организации, на которую оформлен продукт;
— ссылку на ветку форума,
— скриншот ошибки,
— порядок действий для воспроизведения.

 

Подтверждаю аналогичное поведение без явных причин у одного из пользователей клиента.

 

Добрый день !

Данный вопрос решается в рамках линии консультации продукта. Для его оперативного решения следует обратиться на линию технической поддержки пользователей по адресу crm@rarus.ru, обязательно указав в письме:
— регистрационный номер ПП 1C:CRM;
— название организации, на которую оформлен продукт;
— ссылку на ветку форума,
— скриншот ошибки,
— порядок действий для воспроизведения.

 

elite128

Заглянувший

Сообщений: 602
Авторитет:

5

Регистрация: 24.09.2012

1С переставляли (с удалением и чисткой всех следов), драйвера тоже обновляли, падает только при включенном модуле CRM

 

Переслал вопрос в отдел системной разработки защиты.

 

Можете привести текст/скриншот ошибки?

 

Юрий Железняков

Заглянувший

Сообщений: 323
Авторитет:

10

Регистрация: 08.08.2011

#8



0


10.06.2015 16:45:30

Цитата
Алексей Полубенский пишет:
Переслал вопрос в отдел системной разработки защиты.

Возможно, проблема не с защитой, а с какими-либо табличными формами, которые должны открываться только при включенном функционале CRM. Скриншот не всегда удается сделать, т.к. программа аварийно завершает работу с указанием сбойного модуля moxel.dll.

 

ну хотя бы примерно сориентируйте, в какой момент и в каком месте падает?
Нам то никак это не воспроизвести

Изменено: Алексей Полубенский10.06.2015 21:41:00

 

#10



0


11.06.2015 09:24:00

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

Аварийное завершение происходит при запуске программы после выбора пользователя и ввода пароля, когда, возможно, происходит инициализация форм, разрешенных только CRM..

Подобное поведение наблюдалось ранее (давно, не в CRM)  при работе драйверов некоторых видеокарт и принтеров. Но в данном случае вылезло после обновления на последний релиз.

Изменено: Юрий Железняков11.06.2015 09:26:45

 

elite128

Заглянувший

Сообщений: 602
Авторитет:

5

Регистрация: 24.09.2012

#11



0


11.06.2015 09:27:42

могу показать сегодня на удаленке
сначала падал с ошибкой dll, теперь просто аварийное завершение работы
на одном пк лечилось отключением и включением CRM, на втором это не помогает, настройки сбрасывал

 

elite128

Заглянувший

Сообщений: 602
Авторитет:

5

Регистрация: 24.09.2012

#12



0


11.06.2015 11:23:05

скрин

Прикрепленные файлы

 

#13



0


11.06.2015 12:12:08

 

#14



0


11.06.2015 14:13:13

Сегодня вышел новый релиз УТиВСК2, на нем не пробовали еще?
системного разработчику передал ссылку на форум

 

#15



0


11.06.2015 14:17:41

Получается — вылетает в тот момент, когда открывается Календарь CRM? В нем идет обращение к системе защиты.
Вы пробовали убрать с рабочего стола Календарь, чтобы он не запускался в самом начале? И если при запуске не упадет — уже открыть его вручную. Либо что-то дургое, требующее защиту CRM, например почтовик или телемаркетинг.

 

#16



0


11.06.2015 14:39:56

Скачал 2.0.12, будем тестировать.

Кстати, поправьте, пожалуйста, в описании  обновления «Исправлена ошибка сознания Поручения на основании События.»

Изменено: Юрий Железняков11.06.2015 14:54:43

 

#17



0


11.06.2015 15:18:59

База серверная или файловая?

 

#18



0


11.06.2015 15:20:21

Спасибо, но ошибку  в описании уже не исправить. Думаю, не критично )

 

#19



0


11.06.2015 15:22:57

Алексей Полубенский,

Да, кстати, ещё момент.

Для работы требуется версия сервера Софтфона 3.0.3.193
Но ни здесь

http://update.rarus.ru/update/product.asp?id=508

ни здесь ее нет.

http://rarus.ru/1c-crm/cti/

 

Юрий Железняков

Заглянувший

Сообщений: 323
Авторитет:

10

Регистрация: 08.08.2011

#20



0


11.06.2015 15:35:12

Цитата
Алексей Полубенский пишет:
База серверная или файловая?

Серверная.

 

Алексей Полубенский

Посетитель

Сообщений: 1577
Авторитет:

190

Регистрация: 12.02.2010

#21



0


11.06.2015 15:42:18

Цитата
Юрий    Железняков пишет:
Но ни здесь http://update.rarus.ru/update/product.asp?id=508 ни здесь ее нет. http://rarus.ru/1c-crm/cti/

похоже не обновили еще… Мне какую версию сказали, такую я и указал ))

вот ссылки на скачку:
Сервер:

https://dl.dropboxusercontent.com/u/27567856/Setup3.exe

Панель:

https://dl.dropboxusercontent.com/u/27567856/SetupClient3.exe

работать должно и более старыми релизами сервера.

 

Алексей Полубенский

Посетитель

Сообщений: 1577
Авторитет:

190

Регистрация: 12.02.2010

#22



0


11.06.2015 15:44:19

Цитата
Юрий    Железняков пишет:
Серверная.

тогда вряд ли проблема в защите, ведь она запускается и работает на сервере.
вероятно сбой в каком то элементе на форме Календаря, если именно на нем падает. Потому и хочется локализовать место падения….
падает на 8.3.6 или на 8.3.5 тоже?

 

elite128

Заглянувший

Сообщений: 602
Авторитет:

5

Регистрация: 24.09.2012

#23



0


11.06.2015 16:22:24

 

elite128

Заглянувший

Сообщений: 602
Авторитет:

5

Регистрация: 24.09.2012

#24



0


11.06.2015 16:35:20

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

 

Алексей Полубенский

Посетитель

Сообщений: 1577
Авторитет:

190

Регистрация: 12.02.2010

#25



0


15.06.2015 12:26:31

Имеете ввиду что падает только при запуске? а если Календарь открыть потом — уже нет ошибки? хотя форма та же самая….

Делюсь решением.

Для установки берём серверный дистрибутив 8(или 9)-й платформы с последними обновлениями, т.е. серверный стартер-кит с  http://nightly.altlinux.org/p8/release/alt-p8-server-20181212-x86_64.iso или более поздний.
Этот дистрибутив можно бесплатно использовать в коммерческих целях.

Загружаемся.
Подготовка диска: Выберите профиль: Вручную.
Создать раздел.
Создаем swap-раздел. Если хотите, и место на дисках позволяет, можете создать раздел размером в два размера оперативной памяти. Лично я создал маленький раздел 2048 Мб. Тип раздела Linux swap.
Создать раздел.
Создаем корневой раздел. Тип раздела Linux. Отдаем ему всё остальное место. Файловая система ext4. Опции монтирования relatime.
Замечание: большое место будет занимать папка /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/ — там будут логи 1С. Если у вас недостаток места на дисках, то логи можно удалять вручную или настроить в Конфигураторе 1С «Регистрировать только ошибки», при этом логи будут гораздо меньшего размера. Можно вообще создать для /home отдельный раздел.

Даем имя и IP-адрес серверу 1С, указываем адреса своего DNS-сервера и шлюза. Не забываем на своем DNS-сервере создать прямую и обратную записи о сервере 1С.
Создаем пароль root-а. Создаем пользователя. В дальнейшем будем на сервер 1С заходить по ssh этим пользователем, а затем брать привилегии root-а командой «su -«
ОС установлена.

Заходим на сервер 1С через putty. Редактировать конфигурационные файлы будем по F4 в Midnight Commander (mc). Для полного просмотра коммандной строки, mc удобно скрывать по Ctrl+O.

Убеждаемся что брэндмауэр открыт: iptables -L -v -n : видим всё ACCEPT

Если у вас в сети прокси-сервер, то в /root/.bash_profile добавьте:
http_proxy=»http://IP-прокси:порт»
export http_proxy
и перезайдите в ОС

Обновляем ОС:
apt-get update
update-kernel -t std-def
apt-get dist-upgrade

Настраиваем синхронизацию времени.
В /etc/ntpd.conf поставим свои или общедоступные серверы времени:
server 192.168.0.х
server 192.168.0.у
или
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
Удаляем файл /etc/localtime и делаем новый, как ссылку на файл временной зоны:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

В /etc/hosts запишем имя и IP-адрес сервера 1С:
127.0.0.1 server1C.moj_domen.local server1C
192.168.0.X server1C.moj_domen.local server1C

Проверяем интернационализацию:
cat /etc/sysconfig/i18n
должно быть так:
LANG=ru_RU.UTF-8
SUPPORTED=ru_RU.UTF-8

Согласно  https://its.1c.ru/db/v8313doc#bookmark:cs:TI000000016
для использования некоторых возможностей сервера 1С8.3.13 и 1С8.3.14, работающего под управлением ОС Linux, может потребоваться наличие следующих библиотек:
— FreeType (в ОС уже есть libfreetype)
— Libgsf (надо ставить libgsf)
— Glib (в ОС уже есть glib2)
— unixOdbc (надо ставить unixOdbc)
— Kerberos (в ОС уже есть libkrb5)
— GSS-API Kerberos — непонятно, что за библиотека
— Microsoft Core Fonts (надо ставить fonts-ttf-ms)
— Бибиотека ImageMagick уже не нужна. При работе в ОС Linux, система использует библиотеку ImageMagick, входящую в состав дистрибутива платформы 1С а не в состав ОС, как было на 1с8.3.12.
— Для печати штрих-кодов надо в 1С взять КомпонентаПечатиШтрихкода.zip и оттуда lib1CBarCodLin64_8_4_1_1.so скопировать в /opt/1C/v8.3/x86_64.
ldd lib1CBarCodLin64_8_4_1_1.so говорит, что для него нужна libpng12.
— Начиная с версии 1с 8.3.19, на сервере нужен пакет liblcms2, иначе при попытке входа в базу у клиента будет ошибка «Ошибка загрузки компоненты moxel»

apt-get install libgsf unixODBC fonts-ttf-ms libpng12 liblcms2

Если нужно, устанавливаем менеджер лицензий для аппаратного ключа сервера 1С:
apt-get install i586-haspd
service haspd start
Проверка состояния: service haspd status

Устанавливаем postgresql 10-й версии. С ним работает платформа 1С8.3.13 и выше.
apt-get install postgresql10-1C postgresql10-1C-contrib postgresql10-1C-server

Создаём файлы базы данных и стартуем:
service postgresql initdb
service postgresql start
Автозагрузка: chkconfig postgresql on

Настройки авторизации в postgres находятся в файле /var/lib/pgsql/data/pg_hba.conf. Изначально стоит:
host    all             all             0.0.0.0/0            trust
т.е. во все базы с любого адреса можно входить без пароля, так и останется. Будем использовать парольную защиту из 1С, а не из postgres.

Кажется, для чего-то все-таки нужно задать пароль для пользователя postgres, хотя работаем без проверки пароля:
psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD ‘пароль’»

Настройка Postgres:
Вносим изменения в файл /var/lib/pgsql/data/postgresql.conf
Пусть у нас в сервере 32Гб оперативной памяти. Считаем что postgres использует 16Гб, а остальное — 1С и ОС. В дальнейших рассчётах под RAM имеется в виду именно память остающаяся на postgres.
Учитывая советы:
— Фирмы 1С: https://its.1c.ru/db/metod8dev#content:5866:hdoc
— Алексея Васильева с онлайн утилитой pgtune: http://pgtune.leopard.in.ua/ (выбираем DB Type: Data warehouses)
— Некоторые пояснения этих настроек есть на https://postgrespro.ru/docs/postgrespro/10/config-one-c и http://www.gilev.ru/postgresql/

max_connections = 1000
1С советует разрешить на сервере 500-1000 подключений, т.к. 1С сама может их много открывать (независимо от числа пользователей?)
shared_buffers = 4GB
1С советует RAM/4
temp_buffers = 256MB
Такое постоянное значение советует 1С
work_mem = 64MB
1С советует от 32MB до 128MB, возьмем среднее
maintenance_work_mem = 2GB
1С советует от 256MB до 4GB, возьмём 2GB, как советует pgtune
effective_cache_size = 12GB
1С советует RAM — shared_buffers, т.е. 16-4=12GB, то же советует и pgtune
effective_io_concurrency = если база данных на HDD — 2, если на SDD — 100
 Это число запросов, которое может одновременно обслужить дисковая система. Для HDD это число шпинделей. У 1С совет 1 для одного HDD и 2 и больше для RAID. У pgtune есть настройка для SDD, которая даёт 200. Лично я ставлю 100.
random_page_cost = для HDD — 1.7, для SDD — 1.2
1С советует 1.5-2.0 для HDD, 1.1-1.3 для SSD
autovacuum = on
Явно включим автовакуум и не будем выключать, как советует 1С
autovacuum_max_workers = 4
1С советует ядер_ЦПУ/4..2 но не меньше 4
autovacuum_naptime = 20s
bgwriter_delay = 20ms
bgwriter_lru_multiplier = 4.0
bgwriter_lru_maxpages = 400
Верхние 4 пункта так советует 1С
synchronous_commit = off
По уверению 1С значительно увеличивает производительность
checkpoint_segments не настраиваем, параметр был до 9.5 версии PgSQL
checkpoint_completion_target = 0.9
1С говорит от 0.5 до 0.9, pgtune говорит 0.9
max_wal_size = 4GB
min_wal_size = 2GB
1С говорит min_wal_size от 512MB до 4GB, max_wal_size = 2 * min_wal_size, параметры появились в PgSQL9.5
ssl = off
Явно выключим шифрование, как советует 1С
fsync = off
Т.к. у меня дисковый кеш с батарейкой и 2 БП + 2 ИБП на сервере, то выключу, хоть 1С и не советует
commit_delay = 1000
commit_siblings = 5
row_security = off
Верхние 3 пункта так советует 1С
max_files_per_process = 1000
Явно укажем, как советует 1С. Максимальное количество открытых файлов на один процесс PostreSQL. Если PostgreSQL упирается в этот лимит, он начинает открывать/закрывать файлы, что может сказываться на производительности. Лично у меня на уже работающем сервере 30 процессов postmaster. Команда lsof -u postgres | wc -l даёт 13000, т.е. на один процесс примерно 433 файла. Значит для моего случая 1000 хватит.
standard_conforming_strings = off
escape_string_warning = off
max_locks_per_transaction = 256
Верхние 3 пункта так советует 1С
plantuner.fix_empty_table = ‘on’
online_analyze.table_type = ‘temporary’
online_analyze.verbose = off
Верхние 3 пункта так советует 1С для расширений plantuner и online_analyze. 1-й из них пункт просто добавляем.
shared_preload_libraries = ‘online_analyze, plantuner’
Явно включим эти расширения

Из pgtune следующие 5 параметров не будем настраивать, т.к. их нет в рекомендациях 1С:
wal_buffers = 16MB
default_statistics_target = 500
max_worker_processes = 8
max_parallel_workers_per_gather = 4
max_parallel_workers = 8

после этого service postgresql restart

Устанавливаем х64 сервер 1c8.3.13.1809. Или х32, если у вас такой.
Скачиваем с сайта 1С «Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем», распаковываем. Все файлы .rpm в одной папке. Установка:
apt-get install *.rpm
service srv1cv83 start

Если у вас в сети прокси-сервер, то чтобы 1С подключалась к интернет (для сдачи отчетности), пользователю usr1cv8 надо добавить в .bash_profile:
http_proxy=»http://IP-прокси:порт»
export http_proxy

В принципе, уже можно работать с 1С.

Дополнение 1: перенос данных

Спойлер

Данные postgres лежат в /var/lib/pgsql/data. Желающие могут перенести их в другое место, например на SSD-диск. У меня SSD-диск монтируется в /var/ssd.
1. /etc/init.d/postgresql stop
2. Путь к базе прописан в переменной PGDATA в скрипте /etc/init.d/postgresql. Меняем путь на /var/ssd/data
3. Переносим папку /var/lib/pgsql/data в /var/ssd/data. /var/lib/pgsql остается на месте.
4. /etc/init.d/postgresql start

Дополнение 2: резервное копирование

Спойлер

Организуем резервное копирование баз данных на сетевой ресурс. В моем случае сетевой ресурс — это общая папка на сервере Windows 2003. Для получения доступа к сетям Майкрософт поставим cifs-utils:
apt-get install cifs-utils

Пароль на доступ к общей папке будем хранить в файле sambacreds:
touch /etc/sambacreds
в нём 2 строки:
username=имя
password=пароль

Оставим на него права только root-у:
chmod 600 /etc/sambacreds

Создадим в /mnt/ папку arh, к которой будем подключать общую папку Windows.
В /etc/fstab укажем:
//IP_сервера_Windows/общая_папка /mnt/arh cifs credentials=/etc/sambacreds 0 0

Создадим папку, где будут лежать скрипты для резервирования  /etc/bat_ar/ и в ней скрипт sohran.sh с таким содержимым:
#!/bin/bash
pg_dump -U postgres -Fc -Z1 baza > $1/baza.arhiv

-Fc (—format=c) — выходной формат custom, только такой формат делает сжатие.
-Z, —compress=0-9 — уровень сжатия при архивации. Мне важно, чтобы быстрее сделался резерв, а не степень сжатия. При увеличении сжатия размер становится немного меньше, а время тратится значительно больше.
Расширение .arhiv — произвольное
baza — название базы в postgres-е

В /etc/cron.d/ создадим файл pg_dump с таким содержимым:
59 0 * * * root /bin/mount -a
0 1 * * 2 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv1
0 1 * * 3 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv2
0 1 * * 4 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv3
0 1 * * 5 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv4
0 1 * * 6 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv5
В конце обязательно Enter

Т.е. в 1 час ночи, со вторника по субботу запускается архивация. За каждый будний день архив кладётся в свою папку arhivХ. Папки arhivХ должны существовать в общей папке на сервере Windows.

В логах /var/log/syslog/messages видно, что архивация запускается:
Jul  9 01:00:02 server1C crond[27284]: (root) CMD (/etc/bat_ar/sohran.sh /mnt/arh/arhiv5)

mount -a — это чтобы сетевой ресурс уже наверняка был бы подключен, т.к. бывает, что после пропадания и возобновления питания, сервер Windows загружается позже чем server1C и тогда подключение в fstab не срабатывает.

Дополнение3:  соображения по 1С

Спойлер

Папка сервера 1С: /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/
reg_1541/ — тут лежат ID баз, в т.ч. уже удалённых. В файле 1CV8Clst.lst видно, к какой базе какой ID относится, а каких ID в этом файле нет, они лишние. Лишние можно удалить. В ID каждой базы:
1Cv8FTxt — полнотекстовый поиск
1Cv8Log — логи журнала регистраций. Если он разросся, логи можно удалить. В Конфигураторе можно журнал Сократить. Там же можно настроить не собирать лишние сведения, а только Регистрировать ошибки.

/etc/sysconfig/srv1cv83 — файл конфигурации сервера 1С

Платформа 1С обновляется простой процедурой скачивания rpm пакетов с сайта 1С, далее необходимо зайти в каталог с ними и выполнить команды:
service srv1cv83 stop
apt-get install *.rpm
service srv1cv83 start

Проверить версию платформы 1С можно командой: rpm -qa | grep 1C_Enterprise

Дополнение4: работа с 1С по http (https), т.е. через веб-клиент

Спойлер

Установим веб-сервер апач:
apt-get install apache2
chkconfig httpd2 on
service httpd2 start

Создадим папку /var/www/1c_base/
У нас на сервере 1с есть база с названием roznica. Чтобы работать с ней через веб-клиент, сделаем следующее:

1) создадим подпапку roznica в /var/www/1c_base/

2) создадим для этой базы отдельный конфиг апача в /etc/httpd2/conf/sites-available/:
touch /etc/httpd2/conf/sites-available/roznica.conf
командой a2ensite сделаем ссылку на только что созданный конфиг в /etc/httpd2/conf/sites-enabled:
a2ensite roznica

3) опубликуем базу roznica на веб-сервере с помощью webinst:
/opt/1C/v8.3/x86_64/webinst -apache24 -wsdir roznica -dir /var/www/1c_base/roznica -connstr «Srvr=server1C.moj_domen.local;Ref=roznica;» -confpath /etc/httpd2/conf/sites-available/roznica.conf
В ответ будет: sh: httpd: команда не найдена (т.к. webinst ищет httpd а не httpd2, но это не критично) и Публикация выполнена
В результате запуска webinst появится файл /var/www/1c_base/roznica/default.vrd и заполнится файл /etc/httpd2/conf/sites-available/roznica.conf. В нём будет следующее:
LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap22.so»
# 1c publication
Alias «/roznica» «/var/www/1c_base/roznica/»
<Directory «/var/www/1c_base/roznica/»>
    AllowOverride All
    Options None
    Order allow,deny
    Allow from all
    SetHandler 1c-application
    ManagedApplicationDescriptor «/var/www/1c_base/roznica/default.vrd»
</Directory>

4) перезапустим апач: service httpd2 restart

5) Файл default.vrd имеет права 640. Надо дать доступ на чтение всем:
chmod 644 /var/www/1c_base/roznica/default.vrd

После этого база roznica доступна в обозревателе по адресу:
http://server1C.moj_domen.local/roznica

Если мы хотим работать с 1с не только из локальной сети, но и из интернета, то канал связи надо шифровать, т.е. работать по https а не по http. Для этого нужен сертификат. Можно использовать только сертификат веб-сервера. Канал будет шифрованным. Но чтобы быть уверенными, что к базе 1с из интернета смогут подключиться только нужные нам пользователи, надо вместе с сертификатом веб-сервера использовать и сертификаты клиентов.

Создадим сертификаты с помощью EasyRSA2 из состава OpenVPN: установим на клиентский ПК с Windows программу OpenVPN, но не всю, а только EasyRSA2. И установим не на диск C: а в любое другое место.

— для начала редактируем EasyRSA2vars.bat. Параметры страны, почты и т.д.  заполняем любыми данными, какими хотим. Значения CN пока оставляем как есть:
set KEY_COUNTRY=RU
set KEY_PROVINCE=.
set KEY_CITY=Gorod
set KEY_ORG=Organizacija
set KEY_EMAIL=info@organizacija.com
set KEY_CN=changeme
set KEY_NAME=.
set KEY_OU=.
set PKCS11_MODULE_PATH=neznaju
set PKCS11_PIN=krutojparol

— затем в build-ca.bat и build-key-pkcs12.bat убираем параметр -nodes.

— идем в командную строку и запускаем последовательно нижеуказанные команды:
vars
clean-all
vars
build-ca (это мы создаём Центр Сертификации, с паролем на его закрытый ключ)
vars
build-key-server server1C.domain.ru (это мы создаём сертификат веб-сервера, без пароля на закрытый ключ)
vars
build-key-pkcs12 1c-user (это мы создаём сертификат клиента, с паролем на его закрытый ключ)

При этом придумываем и вводим имена CN (Common Name):
CN для Центра Сертификации (CA) — 1c-ca
CN для веб-сервера — тут ставим DNS-имя нашего веб-сервера, как он будет виден из интернета, когда мы пробросим на него порт 443 (https) — server1C.domain.ru
CN для клиента — 1c-user
На запрос параметров set KEY_COUNTRY и всех ниже, нажимаем Enter, кроме CN.
При соответствующих запросах придумываем пароли:
Enter PEM pass phrase: — это будет пароль на файл закрытого ключа .key
Enter Export Password: — это будет пароль на файл 1c-user.p12. Этот пароль мы дадим пользователю вместе с файлом 1c-user.p12
На вопрос A challenge password []: нажимаем Enter.

Сертификаты готовы.

Настроим веб-сервер на использование https:
установим пакет ssl:
apt-get install apache2-mod_ssl
включим модуль ssl:
a2enmod ssl
включим порт 443:
a2enport  https

В /etc/httpd2/conf/ssl.key/ положим файл server1C.domain.ru.key
В /etc/httpd2/conf/ssl.srt/ положим файлы ca.crt и server1C.domain.ru.crt
права на все эти файлы поставим 600
Для работы с базой roznica и по http и по https, в файле /etc/httpd2/conf/sites-available/roznica.conf сделаем изменения:
директиву LoadModule… вынесем в начало файла, всё то идет дальше (это будет секция HTTP) обрамим тегами <VirtualHost server1C:80> … </VirtualHost>, сдублируем эту секцию ещё раз ниже, но тег сделаем <VirtualHost server1C:443> и после этого тега вставим строки:
SSLEngine on
    SSLProtocol all -SSLv2
    SSLCertificateFile    /etc/httpd2/conf/ssl.crt/server1C.domain.ru.crt
    SSLCertificateKeyFile /etc/httpd2/conf/ssl.key/server1C.domain.ru.key
    SSLCACertificateFile /etc/httpd2/conf/ssl.crt/ca.crt
    #можно отзывать сертификаты:
   #SSLCARevocationFile /etc/httpd2/conf/ca.crl
   #можно включать проверку сертификата клиента:
    SSLVerifyClient require

Это будет секция HTTPS

Перезапустим апач: service httpd2 restart

Теперь мы пробросим 443 порт снаружи на свой веб-сервер и попробуем войти по https из интернета:
https://server1C.domain.ru/roznica
или, если проброшен нестандартный порт 12345:
https://server1C.domain.ru:12345/roznica
Если мы не включили проверку сертификата клиента «SSLVerifyClient require», то канал будет шифроваться и 1с будет работать.
Если же мы включили проверку сертификата клиента «SSLVerifyClient require», то при попытке входа по https без клиентского сертификата будет выдана ошибка: «Ваш сертификат отклонен сайтом server1C.domain.ru или не был выдан.» Нужно вначале импортировать себе клиентский сертификат 1c-user.p12.
В обоих случаях обозреватель будет сообщать, что сертификат сервера не правильный. Происходит это от того, что сертификаты мы сделали себе сами (самоподписанные сертификаты) и наш обозреватель ничего о них не знает.

Я совсем зелёный 1С-программист. Недавно вступил в должность. От прошлого админа мне в наследство остался свежеустановленый терминальный сервер (Win2003server, Citrix Metaframe Presentation Server) с 1С на борту. Проблема в том, что периодически у юзеров отваливается сеанс, а в event-логах появляется сообщение «Ошибка приложения 1cv7s.exe, версия 7.70.0.23, модуль Moxel.dll, версия 7.70.0.23, адрес 0x0003cc7a». Так же иногда ругается на библиотеку mfc42. Помогите, а то помру.

Проверь, ломаная 1С или нет. Почему помрешь?

(воровато озираясь) Ну дык я ей того, sabel’кой яичко снёс :) А помру потому, что у меня некоторые внешние филиалы, из-за постояных багов на протяжении последней недели, находятся на грани истерики и скоро приедут в центральный офис… ко мне… убивать :((

Вот интересно, а главврачом в больнице могут назначить «человека с улицы»?

Ну вот, добивайте меня. До меня во многом хуже было, кстати.

427, ни первый нах! ЫЫЫЫЫ :)

Windows & 1C — MustDIE   сноси их нах… разноси по всем тачкам линух… пускай консоль изучают… а ты быстро снасилуй учетную прогу… желательно тоже консольную… и через полгода будет тебе счастие

да, парень, вляпался ты… по самое не хочу… Ибо ошибка Moxel.dll просто так не лечится…

Сервер перезагружал? 1С переустанавливал? ;)

skunk, ага, сейчас только директора зомбировать закончу… :)

Фокусник, издеваешься? Последний нештатный ребут вызвал в фирме массовый падёж скота. У некоторых даже климакс преждевременно наступил, по моему :)

Разумеется штатно перезагружай. Пользователей в терминале сколько? Уж час-то выделить можно на благое дело :)

427 — лечится всё… Первое, установи 1С (SQL) по новой, желательно саблей ей не чикать ничего, найди способ лечения лицензионных проблем (лучший способ преобрести лицензии через франчайзи (вместе с ключами защиты)), если есть проблеммы с ошибками — пробуй последний релиз Саурона — он устраняет ошибки под 23 релиз SQL — просто пальчики оближеш, только не пользуйся функциями удаления защиты — это незаконно, зато сможеш устранить некоторые ошибки :) Удачи…

Фокусник, в среднем 15 соединений в еденицу времени. Думаешь поможет?

Mnemonik, рад бы SQL’ную версию поднять, но с этим траблы есть. Не судьба.

Какие траблы? Дело не в том как она работает (SQL или DBF), а в комплекте установки — а так работайсебе в файловом вариантне но из под SQL версии — не это важно!

продвигаешь франчайзи? :)

Фокусник, получил. Спасибо :)

Mnemonik, хммм… И тебе спасибо.

vS: Нет — притворяюсь добропорядочным :) 12345: Ну зачем так прямо — кто захочет тот найдет или спросит где найти!

Тэги:

Комментарии доступны только авторизированным пользователям


7

ответов

Там рядом компоненты лежат их надо установить


Evgeny Morozov

Там рядом компоненты лежат их надо установить

«Технология внешних компонент» которое на releases.1c именуется?


Evgeny Morozov

В дистрибутиве обычно

Что из этого «В дистрибутиве» является необходимым для moxel?


Alex Tkachuk

Что из этого «В дистрибутиве» является необходимым…

Не не рядом с дистрибутивом будет папочка в ней лежат компоненты которые требует дистрибутив. А в меню только внутренние компоненты.

Может быть от дистра Linux зависит? Какой дистр и версия?


Иван

Может быть от дистра Linux зависит? Какой дистр и …

CentOS 8, 4.18.0-240.1.1.el8_3.x86_64 у сервера

Содержание

  1. Ошибка соединения с рабочим процессом. Ошибка загрузки компоненты moxel
  2. падает клиент с ошибкой moxel.dll
  3. Ошибка в модуле moxel.dll, 1С-ка вылетает, помогите!
  4. Типичный Админ
  5. Настройка сервера 1С 8.3.20 на CentOS 9
  6. Этап 1. Установка ОС и общая подготовка.
  7. Этап 2. Сборка PostgreSQL и установка 1C.
  8. Этап 3. Установка HASP, решение проблем, настройка вэб-доступа.
  9. Этап 4. Настройка прозрачной авторизации пользователей через kerberos.
  10. Этап 5. Настройка резервного копирования баз.

Попал в аналогичную ситуацию с платформой 8.3.19 на сервере с Oracle Linux. Решение из этой темы не помогло. Поставил gtk3 безрезультатно.

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

Попал в аналогичную ситуацию с платформой 8.3.19 на сервере с Oracle Linux. Решение из этой темы не помогло. Поставил gtk3 безрезультатно.

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

(7)
Помогло именно это решение. После обновления на сервере CentOS платформы с версии 8.3.18. на 8.3.19. при попытке войти в опубликованную на web-сервере базу стало появляться сообщение о отсутствии компоненты moxel.

По Вашей ссылке прочитал:
— Начиная с версии 1с 8.3.19, на сервере нужен пакет liblcms2, иначе при попытке входа в базу у клиента будет ошибка «Ошибка загрузки компоненты moxel»

После установки на CentOS lcms2 ( yum install lcms2 ) все заработало. Благодаря Вашему ответу сэкономил много времени. Большое спасибо.

(7) У меня и 8.3.18.1741 потребовала установить lcms2.

Без неё выдавало ошибку «error loading component moxel»

На windows server + postgres была такая же ошибка на 8.3.19.1417, по совету 1с поставил 8.3.20.1674 и проблема исчезла.

Сейчас столкнулся с такой же ситуацией на другом сервере (windows) и 8.3.20.1710. Пока не решил

Сервеная платформа : 1C Предприятие x86-64 (8.3.18.1957) Платформа
Сервер на Ubuntu 14.04.1
Такая же ошибка

«Ошибка соединения с рабочим процессом. Ошибка загрузки компоненты moxel».

В итоге что ставить, не совсем пойму:

sudo apt-get update
apt-get install liblcms2-2:i386

sudo apt-get update
sudo apt-get install liblcms2-dev

sudo apt-get update
sudo apt-get install libgtk-3-dev

При этом, до этого стояла платформа 8.3.18.1902 — таковой проблемы не наблюдалось.
Спасибо

Источник

падает клиент с ошибкой moxel.dll

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

1С:Предприятие 8.3 (8.3.6.2014)
Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0 (2.0.11.5)

на части клиентов падает клиент с ошибкой moxel.dll
у одного пользователя вылечилось отключением и включением CRM, у другого неполучается, клиент запускается только при отключенном модуле CRM или в веб-интерфейсе

Принтеры удалял, антивирус отключал — не помогает, похоже ошибка

Данный вопрос решается в рамках линии консультации продукта. Для его оперативного решения следует обратиться на линию технической поддержки пользователей по адресу crm@rarus.ru, обязательно указав в письме:
— регистрационный номер ПП 1C:CRM;
— название организации, на которую оформлен продукт;
— ссылку на ветку форума,
— скриншот ошибки,
— порядок действий для воспроизведения.

Данный вопрос решается в рамках линии консультации продукта. Для его оперативного решения следует обратиться на линию технической поддержки пользователей по адресу crm@rarus.ru, обязательно указав в письме:
— регистрационный номер ПП 1C:CRM;
— название организации, на которую оформлен продукт;
— ссылку на ветку форума,
— скриншот ошибки,
— порядок действий для воспроизведения.

Цитата
Алексей Полубенский пишет:
Переслал вопрос в отдел системной разработки защиты.

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

Аварийное завершение происходит при запуске программы после выбора пользователя и ввода пароля, когда, возможно, происходит инициализация форм, разрешенных только CRM..

Подобное поведение наблюдалось ранее (давно, не в CRM) при работе драйверов некоторых видеокарт и принтеров. Но в данном случае вылезло после обновления на последний релиз.

Источник

Ошибка в модуле moxel.dll, 1С-ка вылетает, помогите!

Началось пару дней назад, до этого года три не слуху не духу. Ни чего не обновляли, конфа рарус «Управление автотранспортом». Версия конфы древняя 2009, соответсвенно и платформа тоже, т.к. если обновить платформу на более свежую, почему то начинаются тормоза, диспетчера жаловаться начинают, то виснет при отмене проведения, то еще что..
Винда пишет такое:

———————————————————————-
Имя сбойного приложения: 1cv8.exe, версия: 8.2.18.104, метка времени: 0x51c1b653
Имя сбойного модуля: moxel.dll, версия: 8.2.18.104, метка времени: 0x51c1af13
Код исключения: 0xc0000005
Смещение ошибки: 0x000cf994
Идентификатор сбойного процесса: 0x484
Время запуска сбойного приложения: 0x01d01fee37f3e108
Путь сбойного приложения: C:Program Files (x86)1cv828.2.18.104bin1cv8.exe
Путь сбойного модуля: C:Program Files (x86)1cv828.2.18.104binmoxel.dll
Идентификатор отчета: 07a1b026-8be5-11e4-93fa-08606eedb4b8
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом:
———————————————————————

Может было к кого?

(1) вот этого пока не знаю, смотрю счас по логам, ошибка тянется уже как пол года, с периодичностью в 2 недели или реже, по разному и обратил внимания, что не только moxel.dll, но и был сбой в модулях wbase82.dll, backbas.dll.

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

Короче говоря, это терминальный сервер на WIn 2012, с лицензией и всем подобным.

Источник

Типичный Админ

Настройка сервера 1С 8.3.20 на CentOS 9

Вообще, про настройку сервера 1С на Линуксе я уже писал:

Но та статья уже весьма устарела. Та ещё про версию 8.2. А здесь я хочу попробовать настроить сервер 1С на свежей платформе 8.3.20.1674, установленной на свежую CentOS 9. На момент написания статьи это самые свежие версии ОС и 1С. PostgreSQL будет версии 13.4-6.1C — это тоже самая свежая версия, доступная на портале 1С на момент написания статьи.

Этап 1. Установка ОС и общая подготовка.

Начну с установки CentOS. Скачиваю образ с оф.сайта:

Перехожу к установке. На первом шаге выбираю язык:

На следующем шаге предлагается обозначить разные параметры и источники:

Начну по порядку. Меню «Клавиатура» не трогаю , там всё и так нормально. «Источник установки» тоже не трогаю . Захожу в меню «Место установки» , там указываю диск, на который будет ставиться система и выбираю собственное разбиение, затем жму «Готово» :

Мне открывается следующее окно. Там, я удаляю все имеющиеся разделы, если таковые есть. Просто выделяю раздел и жму на кнопку с минусом:

Затем выбираю «Стандартный раздел» и жму «создать автоматически»:

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

Меня так не устраивает. Отдельный раздел под /home мне не нужен, удаляю его. Потом увеличиваю размер корневого раздела. В итоге имею такие разделы:

Жму «Готово», затем «Применить изменения».

Вообще, если по уму, то PostgreSQL надо ставить отдельный диск (либо дисковый массив). А также, у 1С есть такая штука, как журнал регистрации, который, по умолчанию, находится в домашней директории системного пользователя 1С (в Линуксе это usr1cv8). Так вот под журнал регистрации желательно тоже выделить отдельный диск. Я обычно под весь домашний каталог пользователя usr1cv8 выделяю. Но сейчас сервер тестовый, поэтому всё будет на одном диске находиться.

После разметки диска, установщик меня возвращает в основное меню. Там «Языковую поддержку» я не трогаю. Перехожу в «Выбор программ». Там выбираю Minimal Install и ставлю крыж Standard, затем жму «Готово»:

После чего меня снова возвращает в основное меню. На очереди у меня KDUMP — его отключаю. Для диагностики и анализа причин сбоев ядра разработчиками компании RedHat был разработан специализированный инструмент — kdump. Можно и не отключать конечно. Но я отключу.

Следующим будет «Дата и время» — там всё понятно. «Имя сети и узла» — там прописываю сетевое имя сервера и статический IP-адрес:

DNS-сервером указал контроллер домена Active Directory. После применения всех настроек снова возвращаюсь в основное меню. «Securuty Profile» не трогаю . Осталось только задать «Пароль root» . Там ставлю галку, чтобы можно было рутом заходить по SSH:

Вообще, доступ по SSH для рута не рекомендуется открывать. Рекомендуется по SSH заходить обычным бесправным пользователем, а уже потом повышать его до рута командой «su». Но для тестовой настройки можно и так.

После задания всех параметров, станет активной кнопка «Начать установку». Жму её.

Когда установка закончится, установщик попросит перезагрузить сервер.

Подключаюсь к серверу через SSH по заданному IP-адресу при установке. Сразу ставлю компоненты для комфортной работы:

Не забываю про webmin:

Возможно, кстати, что Вэбмин и не пригодится, но я его всегда ставлю.

После этого, нужно обновить систему:

Когда обновление завершится, то перезагружать систему не спешу. Сразу же надо отключить SELinux. Нахожу файл /etc/selinux/config и в нём заменяю строчку:

Также, выполняю команду:

И вот после этого перезагружаю систему.

Этап 2. Сборка PostgreSQL и установка 1C.

Начну с PostgreSQL. На портале 1С выложены уже готовые rpm-пакеты для установки. Насколько я понимаю, эти пакеты собраны универсально под все rpm-дистрибутивы Линукса. Можно попробовать поставить их. Но, как и в статье про настройку сервера 1С 8.2, я пойду путём сборки пакетов из src.rpm. На портале 1С скачиваю вот этот архив с патчем:

Загружаю этот файл на сервер через Webmin:

В этом архиве меня интересует файл postgresql13-1c-13.4-6.el7.src.rpm . Извлекаю его куда-нибудь, например в каталог /home/distrib. Затем устанавливаю все (почти все) необходимые пакеты для сборки:

Для сборки ещё не хватает пакета pgdg-srpm-macros. Но проблема в том, что его нет в репозитории. Его я скачаю и установлю со стороннего ресурса:

Перезагружу сервер на всякий случай. Слишком много пакетов установилось по зависимостям, возможна их некорректная работа. После этого пробую запустить сборку PosgreSQL:

Оговорюсь, что данную команду выполнял, находясь в каталоге с файлом postgresql13-1c-13.4-6.el7.src.rpm. На моё удивление, сборка прошла с первого раза. Помню, сколько ошибок словил при сборке postgresql-9.0.3-3.1C под Fedora 16, когда настраивал сервер 1С 8.2.

Итак, в каталоге /root/rpmbuild/RPMS/x86_64 наблюдаю следующий список файлов:

postgresql13-1c-13.4-6.el9.x86_64.rpm
postgresql13-1c-contrib-13.4-6.el9.x86_64.rpm
postgresql13-1c-contrib-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-debugsource-13.4-6.el9.x86_64.rpm
postgresql13-1c-devel-13.4-6.el9.x86_64.rpm
postgresql13-1c-devel-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-docs-13.4-6.el9.x86_64.rpm
postgresql13-1c-libs-13.4-6.el9.x86_64.rpm
postgresql13-1c-libs-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-llvmjit-13.4-6.el9.x86_64.rpm
postgresql13-1c-llvmjit-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-plperl-13.4-6.el9.x86_64.rpm
postgresql13-1c-plperl-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-plpython3-13.4-6.el9.x86_64.rpm
postgresql13-1c-plpython3-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-pltcl-13.4-6.el9.x86_64.rpm
postgresql13-1c-pltcl-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-server-13.4-6.el9.x86_64.rpm
postgresql13-1c-server-debuginfo-13.4-6.el9.x86_64.rpm
postgresql13-1c-test-13.4-6.el9.x86_64.rpm
postgresql13-1c-test-debuginfo-13.4-6.el9.x86_64.rpm

Копирую их куда-нибудь в отдельное место. И, находясь в этом месте, даю команду:

PostgreSQL установил. Теперь мне надо сделать так, чтобы база PostgreSQL создалась в нужном мне каталоге. Пусть это будет /postgresql. Создам его и назначу права:

По уму, к этому каталогу должен быть примонтирован отдельный диск. Далее нахожу файл /usr/lib/systemd/system/postgresql-13.service. В нём меня интересует строка:

Её надо заменить на:

Далее выполняю команду инициализации новой базы данных:

Должно выйти сообщение:

А в каталоге /postgresql появятся файлы базы данных:

Теперь мне надо оптимизировать PostgreSQL под свой сервер. В моём случае, это AMD FX 8350 с 16gb ОЗУ и SSD диском. Использую рекомендации, написанные в ИТС:

Надо заметить, в этой статье, судя по всему, подразумевается, что PostgreSQL стоит на выделенном сервере. У меня же на одной машине и PostgreSQL и 1С. Поэтому я буду немного отклоняться от значений, описанных по ссылке выше, в сторону меньших, чтобы для 1С тоже оставались ресурсы. Нахожу файл /postgresql/postgresql.conf. Ниже приведу только те параметры, которые я изменил:

Закончив редактировать конфиг пробую запустить демона PostgreSQL:

И смотрю, что там в логе /var/log/messages :

Всё в порядке, PostgreSQL запустился.

Сразу установлю пароль на пользователя postgres:

Что ж, теперь надо установить 1С. Перехожу на портал и скачиваю свежую платформу:

У меня скачался файл server64_8_3_20_1674.tar.gz. Переношу его на сервер и распаковываю его содержимое в какой-нибудь каталог. Среди распакованных есть исполняемый файл setup-full-8.3.20.1674-x86_64.run. Пробую его запустить. Предлагается выбрать язык:

Мой язык 16-ый из этого списка. Далее мне предлагается выбрать компоненты. Мне нужен только сервер и модуль расширения web-сервера:

Ну и дожидаюсь окончания установки:

Установилась 1С в каталог /opt/1cv8. Также наблюдаю каталог системного пользователя 1С /home/usr1cv8. По уму, к этому каталогу должен быть примонтирован отдельный диск, т.к. внутри будет журнал регистрации 1С. В каталоге /opt/1cv8/x86_64/8.3.20.1674 нахожу скрипт srv1cv83. Его надо скопировать в каталог /etc/rc.d/init.d. Затем пробую стартануть демона:

И получаю ошибку:

При этом 1С-овские процессы запустились, в системном мониторе отображается множество процессов /opt/1cv8/x86_64/8.3.20.1674/rmngr. Хорошо, пробую остановить демона:

Получаю вот такой ответ:

И процессы /opt/1cv8/x86_64/8.3.20.1674/rmngr никуда, при этом, не деваются. А решение данной проблемы очень простое: в файл /etc/hosts надо добавить запись:

И перезагрузить сервер. После этого демон srv1cv83 будет стартовать и останавливаться нормально.

Ещё, в каталоге /opt/1cv8/x86_64/8.3.20.1674 есть файл srv1cv83.conf. Его надо скопировать в каталог /etc/sysconfig, переименовав в просто «srv1cv83». Вобщем, надо чтобы имена файлов совпадали — скрипта /etc/rc.d/init.d/ srv1cv83 и конфига /etc/sysconfig/srv1cv83.

Перед тем, как подключиться к серверу 1С откуда-либо, надо для него создать DNS-запись. Напомню, что у меня в сети есть контроллер домен AD.

Помимо этого, не забываю, что на CentOS включен фаервол под названием Firewalld. Для начала открываю порт 10000, чтобы к CentOS можно было подключиться через Webmin:

Затем уже через Webmin захожу и прописываю в Firewalld все необходимые порты, которые надо открыть:

Далее, нахожу файл /postgresql/pg_hba.conf . В нём нахожу строчку:

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

И не забываю PostgreSQL и 1С поставить в автозапуск:

Теперь пробую с какой-нибудь клиентской машины подключиться через консоль:

Ввожу имя сервера 1С «1c-serv.local.typical-admin.ru»:

Всё, подключиться получилось:

Теперь пробую создать базу:

Обращаю внимание, что вместо адреса сервера PostgreSQL я ввёл путь к каталогу с сокетом PostgreSQL, поскольку сервер приложений 1С и PostgreSQL находятся на одной машине. Жму ОК, и тут получаю ошибку: « Ошибка соединения с рабочим процессом. Ошибка загрузки компоненты: moxel ». Эта проблема решается установкой пакета lcms2 :

После этого база успешно создастся.

Этап 3. Установка HASP, решение проблем, настройка вэб-доступа.

Пробую зайти в созданную базу и получаю пред упреждение об отсутствии лицензии.

Значит надо поставить HASP-драйвер и вставить ключи. Скачиваю пакеты с сайта https://download.etersoft.ru/ :

Потом ставлю сперва пакет, который потребуется по зависимостям:

И уже потом ставлю скачанные два пакета HASP-драйверов:

Получаю вот такой лог об успешной установке:

Чтобы система корректно увидела ключ, надо перезагрузить сервер, но пока не буду это делать. Сразу же подправлю конфиг /etc/haspd/hasplm.conf . Добавлю в него строчку:

Именно в этой строчке перечисляются сети и хосты, которые смогут видеть HASP-ключ. Также, нужно помнить про фаервол:

Пробую зайти в созданную базу и получаю предупреждение:

« На сервере отсутствуют шрифты из состава Microsoft Core»

И вроде как р ешение тут:

Но… Если попробовать установить зависимости, указанные на этом сайте, то ждёт разочарование:

В репозиториях CentOS 9 (да и в CentOS 8) пакета xorg-x11-font-utils нет. Да и вообще, его нет для этих систем. Я не нашёл. Пришлось выкручиваться путём пересборки этого пакета из src.rpm от CentOS 7. А тот, в свою очередь, для сборки потребовал ещё несколько пакетов, среди которых опять был один отсутствующий в CentOS — его уже пришлось пересобирать из src.rpm от Федоры. Все эти процессы сборки я описывать не буду, а просто выложу готовые недостающие пакеты для CentOS 9:

Туда же положил и сам пакет msttcore-fonts-installer-2.6-1.noarch.rpm, чтобы всё в одном месте было. Итого, потребуется скачать файлы: l ibXfont-1.5.4-10.el9.x86_64.rpm , xorg-x11-font-utils-7.5-21.el9.x86_64.rpm и msttcore-fonts-installer-2.6-1.noarch.rpm . Ставлю сначала зависимости, имеющиеся в репозиториях:

Затем устанавливаю три скачанных файла:

Пакет msttcore-fonts-installer-2.6-1.noarch.rpm, на самом деле, просто подгружает шрифты со стороннего ресурса и кладёт их в каталог /usr/share/fonts/msttcore . Т.е. теоретически, их можно было и вручную откуда-нибудь скачать и положить в этот каталог. Предупреждение о шрифтах после этого не выходит.

Но, во избежание дальнейших подобных проблем, сразу посмотрю, какие ещё системные компоненты могут потребоваться для 1С. На оф.сайте есть табличка:

Там вижу, что требуется: ImageMagick, Fontconfig, FreeType, Libgsf, Glib, UnixOdbc и Kerberos .

Что касается ImageMagick , то по его установке на CentOS 9 у меня есть отдельная заметка:

Устанавливаю ImageMagick по своей же инструкции. С остальными пакетами проще, они есть в репозиториях. Причём некоторые уже наверняка стоят. Но если что-то отсутствует, то эта команда исправит:

Ну и после этого, пожалуй, стоит перезагрузить сервер.

Теперь надо попробовать дать вэб-доступ какой-нибудь базе 1с. Для начала, ставлю apache:

И, на всякий случай, если система сама не включила его в автозагрузку, выполняю команду:

Далее, надо определиться, где будет располагаться файл веб-интерфейса. Для каждой базы надо делать свой такой каталог. Файл вэб-интерфайса к моей базе будет располагаться вот тут:

Затем перехожу в каталог /opt/1cv8/x86_64/8.3.20.1674 и, находясь в нём, выполняю команду:

-wsdir – имя алиаса, используемого на веб-сервере для соединения с базой. В последствии будет обращение к ней в браузере http://адрес.сервера/mytest
-dir – директория где будет располагаться файл web-интерфейса 1с (файл default.vrd)
-connStr – строка соединения с базой 1С предприятия, в которой Srvr – адрес сервера 1С предприятия, а Ref – имя базы.
-confPath – расположение конфигурационного файла web-сервера apache

Не забыть исправить права доступа к файлу default.vrd:

и открыть 80-ый порт на Firewalld:

Затем, стартую апач:

А потом пробую зайти по адресу:

http://1c-serv.local.typical-admin.ru/mytest

Где, в моём случае, 1c-serv.local.typical-admin.ru — это адрес сервера 1C предприятие, а mytest — это вышеописанный алиас в апаче. Доступ есть, всё хорошо:

Однако, это не совсем правильный доступ. Правильный доступ будет через SSL-сертификат. Но про настройку вэб-доступа через доверенный сертификат я хочу написать в отдельной статье или заметке, потому что там гораздо больше информации о получении самого сертификата. Частично я эту тему уже затрагивал в статье по настройке Zimbra 9:

Этап 4. Настройка прозрачной авторизации пользователей через kerberos.

Внимание! Я думал, что на этом этапе у меня где-то ошибка, потому что kerberos авторизация работать никак не хотела.
Путём продолжительного общения с оф.поддержкой выяснилось, что 1С официально не поддерживает CentOS 9, поэтому ничем помочь не могут.
Официально 1С поддерживает лишь CentOS 7, на которой kerberos авторизация работать должна. У меня на CentOS 7 работает один сервер 1С в продакшене. Но платформа на нём стоит 8.3.16.1814. На нём я решил проверить, работает ли kerberos-авторизация.
Оказалось, что да, работает. Поэтому данный этап проверен на CentOS 7 с 1C 8.3.16.1814. Позже, я пробовал поставить 1С 8.3.16.1814 на CentOS 9 и настроить всё точно также, как на CentOS 7. Но на CentOS 9 всё равно не заработало.

Поскольку у меня есть Active Directory, то почему бы не настроить авторизацию пользователей 1C через неё? Тем более, что 1C это поддерживает. В линуксе это делается через kerberos.

Сперва-наперво, на контроллере домена надо создать keytab-файл и пользователя, с которым он будет ассоциироваться. Пользователь – это самый обычный пользователь без каких-либо особых привилегий. Называться он будет usr1cv83, и пароль у него будет pas1cv83.

Напомню, что у меня контроллер домена на Windows server 2019. После того как создал пользователя, открываю виндовую командную строчку и делаю вот такую команду:

где параметр /crypto ALL позволяет использовать любой тип шифрования
параметр /princ usr1cv8/1c-serv.local.typical-admin.ru@LOCAL.TYPICAL-ADMIN.RU – это имя службы, с которой будет ассоциирован виндовый пользователь usr1cv83.
параметр /out C:distribusr1cv8.keytab – название keytab-файла и путь, куда его положить.

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

Итак, после выполнения этой команды появится файл C:distribusr1cv8.keytab, который надо скопировать на линуховый сервер 1С в каталог /opt/1C/v8.3/x86_64. В этом каталоге 1С ищет его по умолчанию. И важно: файл должен называться usr1cv8.keytab, а никак иначе.

Если требуется, чтобы файл лежал в другом каталоге, то надо в конфиге /etc/sysconfig/srv1cv83 подправить параметр:

Где /opt/1cv8/x86_64 — это место расположения файла usr1cv8.keytab. И не забыть перезапустить демон srv1cv83 после этого.

Затем, если этого ещё не сделано, необходимо на сервере 1С установить пакет krb5-workstation:

Потом надо отредактировать конфиг /etc/krb5.conf. Приведу лишь те строчки, которые редактировал и добавлял:

Далее, надо поправить доступ к файлу usr1cv8.keytab:

Следующий шаг, который не указан в документации 1С, но который оказался очень важным. Требуется, чтобы имя сервера 1С было полным FQDN-именем, под которым он записан в домене Active Directory. И если это не так, то надо переименовать сервер. В моём случае оно было так, но вот команда, если что:

Затем надо обратить внимание на файл /etc/hosts. У меня там есть запись:

Из-за которой керберос авторизация работать не будет. Эту запись надо исправить, убрав из неё короткое имя:

Вот теперь тестирую корректность keytab-файла:

Вывод должен быть такой:

Теперь указываю керберосу, что надо использовать данный keytab-файл:

команда должна отработать без вывода каких-либо сообщений – это означает, что всё хорошо. Затем смотрю полученный билет:

вывод должен быть примерно таким:

Собственно, на этом всё. Осталось проверить, работает ли прозрачная авторизация на практике. Важным моментом является то, что в её свойствах аутентификации надо выставить крыж «выбирать автоматически»:

Далее, в свойствах пользователя 1С, надо сопоставить его с пользователем AD. Прописываться он должен вот в таком формате:

Этап 5. Настройка резервного копирования баз.

Резервное копирование я буду проводить средствами PostgreSQL. Для этого создам файлик:

Это будет довольно простой скрипт, наполняю файл таким содержимым:

/home/dumps — это локальный каталог на сервер для выгрузки дампов баз.
/home/backup — это каталог с примонтированным сетевым диском, на который и будут складываться ежедневные ночные бэкапы баз.

Сохраняю и делаю файл исполняемым:

Затем в файл /etc/crontab добавляю строчку:

Это значит, что скрипт, делающий резервные копии баз, будет запускаться каждый день в 2 часа ночи.

Если же мне потом понадобится восстановить базу из бэкапа, то действия мои будут следующие:

— Для начала, копирую бэкап в какой-нибудь локальный каталог на сервер 1С. Пусть это будет файл testbase1_04.02.22.psql.bz2.

— Затем я распаковываю этот файл командой:

И получаю тем самым файл testbase1_04.02.22.psql — это дамп базы.

— Далее, я становлюсь пользователем postgres:

И выполняю команду:

чтобы начать работать с базами через консольный клиент PostgreSQL.

— После этого мне надо сначала удалить ту базу, бэкап которой я хочу восстановить:

— Потом заново создаю пустую базу с таким же именем:

— Далее выхожу из консольного клиента:

и выхожу из пользователя postgres:

— И теперь мне надо залить дамп testbase1_04.02.22.psql в базу testbase1. Делается это вот такой командой:

Донаты принимаются на кошельки :

Yoomoney:
4100118091867315

BTC:
bc1qzw9vam8mv6derwscxl0vrnd6m9t2rpjg273mna

ETH / BNB BSC / Polygon MATIC:
0x5cc07FF76490350ac6112fbFdA1B545Bc794602F

Tron:
TJUz8sJr9XYMjVqzmFNnCzzRWfPa57X2RV

USDT/USDC в сетях ETH/BSC/Polygon:
0x5cc07FF76490350ac6112fbFdA1B545Bc794602F

USDT в сети TRX (Tron):
TJUz8sJr9XYMjVqzmFNnCzzRWfPa57X2RV

LTC:
LRMZaFCSyCT6FUF62WEX1BokWV7v2dh2zo

Doge:
DTEnGLZRps9XaWNtAhchJWSeD4uTNDRxg7

XMR:
4A6uP1WxEc7HktToZFyiJuK6YmjdL8bSn2aY653qPwABhT4Y56iFuedgHcmpvLwWE55u8qkjGc715ZJs761FqedA8gkgznr

TON:
UQAdSPiWIDx2Q1VIeezkUV3s4sNlZM90w2ohSO6bD2-okwgY

Источник

Делюсь решением.

Для установки берём серверный дистрибутив 8(или 9)-й платформы с последними обновлениями, т.е. серверный стартер-кит с  http://nightly.altlinux.org/p8/release/alt-p8-server-20181212-x86_64.iso или более поздний.
Этот дистрибутив можно бесплатно использовать в коммерческих целях.

Загружаемся.
Подготовка диска: Выберите профиль: Вручную.
Создать раздел.
Создаем swap-раздел. Если хотите, и место на дисках позволяет, можете создать раздел размером в два размера оперативной памяти. Лично я создал маленький раздел 2048 Мб. Тип раздела Linux swap.
Создать раздел.
Создаем корневой раздел. Тип раздела Linux. Отдаем ему всё остальное место. Файловая система ext4. Опции монтирования relatime.
Замечание: большое место будет занимать папка /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/ — там будут логи 1С. Если у вас недостаток места на дисках, то логи можно удалять вручную или настроить в Конфигураторе 1С «Регистрировать только ошибки», при этом логи будут гораздо меньшего размера. Можно вообще создать для /home отдельный раздел.

Даем имя и IP-адрес серверу 1С, указываем адреса своего DNS-сервера и шлюза. Не забываем на своем DNS-сервере создать прямую и обратную записи о сервере 1С.
Создаем пароль root-а. Создаем пользователя. В дальнейшем будем на сервер 1С заходить по ssh этим пользователем, а затем брать привилегии root-а командой «su -«
ОС установлена.

Заходим на сервер 1С через putty. Редактировать конфигурационные файлы будем по F4 в Midnight Commander (mc). Для полного просмотра коммандной строки, mc удобно скрывать по Ctrl+O.

Убеждаемся что брэндмауэр открыт: iptables -L -v -n : видим всё ACCEPT

Если у вас в сети прокси-сервер, то в /root/.bash_profile добавьте:
http_proxy=»http://IP-прокси:порт»
export http_proxy
и перезайдите в ОС

Обновляем ОС:
apt-get update
update-kernel -t std-def
apt-get dist-upgrade

Настраиваем синхронизацию времени.
В /etc/ntpd.conf поставим свои или общедоступные серверы времени:
server 192.168.0.х
server 192.168.0.у
или
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
Удаляем файл /etc/localtime и делаем новый, как ссылку на файл временной зоны:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

В /etc/hosts запишем имя и IP-адрес сервера 1С:
127.0.0.1 server1C.moj_domen.local server1C
192.168.0.X server1C.moj_domen.local server1C

Проверяем интернационализацию:
cat /etc/sysconfig/i18n
должно быть так:
LANG=ru_RU.UTF-8
SUPPORTED=ru_RU.UTF-8

Согласно  https://its.1c.ru/db/v8313doc#bookmark:cs:TI000000016
для использования некоторых возможностей сервера 1С8.3.13 и 1С8.3.14, работающего под управлением ОС Linux, может потребоваться наличие следующих библиотек:
— FreeType (в ОС уже есть libfreetype)
— Libgsf (надо ставить libgsf)
— Glib (в ОС уже есть glib2)
— unixOdbc (надо ставить unixOdbc)
— Kerberos (в ОС уже есть libkrb5)
— GSS-API Kerberos — непонятно, что за библиотека
— Microsoft Core Fonts (надо ставить fonts-ttf-ms)
— Бибиотека ImageMagick уже не нужна. При работе в ОС Linux, система использует библиотеку ImageMagick, входящую в состав дистрибутива платформы 1С а не в состав ОС, как было на 1с8.3.12.
— Для печати штрих-кодов надо в 1С взять КомпонентаПечатиШтрихкода.zip и оттуда lib1CBarCodLin64_8_4_1_1.so скопировать в /opt/1C/v8.3/x86_64.
ldd lib1CBarCodLin64_8_4_1_1.so говорит, что для него нужна libpng12.
— Начиная с версии 1с 8.3.19, на сервере нужен пакет liblcms2, иначе при попытке входа в базу у клиента будет ошибка «Ошибка загрузки компоненты moxel»

apt-get install libgsf unixODBC fonts-ttf-ms libpng12 liblcms2

Если нужно, устанавливаем менеджер лицензий для аппаратного ключа сервера 1С:
apt-get install i586-haspd
service haspd start
Проверка состояния: service haspd status

Устанавливаем postgresql 10-й версии. С ним работает платформа 1С8.3.13 и выше.
apt-get install postgresql10-1C postgresql10-1C-contrib postgresql10-1C-server

Создаём файлы базы данных и стартуем:
service postgresql initdb
service postgresql start
Автозагрузка: chkconfig postgresql on

Настройки авторизации в postgres находятся в файле /var/lib/pgsql/data/pg_hba.conf. Изначально стоит:
host    all             all             0.0.0.0/0            trust
т.е. во все базы с любого адреса можно входить без пароля, так и останется. Будем использовать парольную защиту из 1С, а не из postgres.

Кажется, для чего-то все-таки нужно задать пароль для пользователя postgres, хотя работаем без проверки пароля:
psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD ‘пароль’»

Настройка Postgres:
Вносим изменения в файл /var/lib/pgsql/data/postgresql.conf
Пусть у нас в сервере 32Гб оперативной памяти. Считаем что postgres использует 16Гб, а остальное — 1С и ОС. В дальнейших рассчётах под RAM имеется в виду именно память остающаяся на postgres.
Учитывая советы:
— Фирмы 1С: https://its.1c.ru/db/metod8dev#content:5866:hdoc
— Алексея Васильева с онлайн утилитой pgtune: http://pgtune.leopard.in.ua/ (выбираем DB Type: Data warehouses)
— Некоторые пояснения этих настроек есть на https://postgrespro.ru/docs/postgrespro/10/config-one-c и http://www.gilev.ru/postgresql/

max_connections = 1000
1С советует разрешить на сервере 500-1000 подключений, т.к. 1С сама может их много открывать (независимо от числа пользователей?)
shared_buffers = 4GB
1С советует RAM/4
temp_buffers = 256MB
Такое постоянное значение советует 1С
work_mem = 64MB
1С советует от 32MB до 128MB, возьмем среднее
maintenance_work_mem = 2GB
1С советует от 256MB до 4GB, возьмём 2GB, как советует pgtune
effective_cache_size = 12GB
1С советует RAM — shared_buffers, т.е. 16-4=12GB, то же советует и pgtune
effective_io_concurrency = если база данных на HDD — 2, если на SDD — 100
 Это число запросов, которое может одновременно обслужить дисковая система. Для HDD это число шпинделей. У 1С совет 1 для одного HDD и 2 и больше для RAID. У pgtune есть настройка для SDD, которая даёт 200. Лично я ставлю 100.
random_page_cost = для HDD — 1.7, для SDD — 1.2
1С советует 1.5-2.0 для HDD, 1.1-1.3 для SSD
autovacuum = on
Явно включим автовакуум и не будем выключать, как советует 1С
autovacuum_max_workers = 4
1С советует ядер_ЦПУ/4..2 но не меньше 4
autovacuum_naptime = 20s
bgwriter_delay = 20ms
bgwriter_lru_multiplier = 4.0
bgwriter_lru_maxpages = 400
Верхние 4 пункта так советует 1С
synchronous_commit = off
По уверению 1С значительно увеличивает производительность
checkpoint_segments не настраиваем, параметр был до 9.5 версии PgSQL
checkpoint_completion_target = 0.9
1С говорит от 0.5 до 0.9, pgtune говорит 0.9
max_wal_size = 4GB
min_wal_size = 2GB
1С говорит min_wal_size от 512MB до 4GB, max_wal_size = 2 * min_wal_size, параметры появились в PgSQL9.5
ssl = off
Явно выключим шифрование, как советует 1С
fsync = off
Т.к. у меня дисковый кеш с батарейкой и 2 БП + 2 ИБП на сервере, то выключу, хоть 1С и не советует
commit_delay = 1000
commit_siblings = 5
row_security = off
Верхние 3 пункта так советует 1С
max_files_per_process = 1000
Явно укажем, как советует 1С. Максимальное количество открытых файлов на один процесс PostreSQL. Если PostgreSQL упирается в этот лимит, он начинает открывать/закрывать файлы, что может сказываться на производительности. Лично у меня на уже работающем сервере 30 процессов postmaster. Команда lsof -u postgres | wc -l даёт 13000, т.е. на один процесс примерно 433 файла. Значит для моего случая 1000 хватит.
standard_conforming_strings = off
escape_string_warning = off
max_locks_per_transaction = 256
Верхние 3 пункта так советует 1С
plantuner.fix_empty_table = ‘on’
online_analyze.table_type = ‘temporary’
online_analyze.verbose = off
Верхние 3 пункта так советует 1С для расширений plantuner и online_analyze. 1-й из них пункт просто добавляем.
shared_preload_libraries = ‘online_analyze, plantuner’
Явно включим эти расширения

Из pgtune следующие 5 параметров не будем настраивать, т.к. их нет в рекомендациях 1С:
wal_buffers = 16MB
default_statistics_target = 500
max_worker_processes = 8
max_parallel_workers_per_gather = 4
max_parallel_workers = 8

после этого service postgresql restart

Устанавливаем х64 сервер 1c8.3.13.1809. Или х32, если у вас такой.
Скачиваем с сайта 1С «Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем», распаковываем. Все файлы .rpm в одной папке. Установка:
apt-get install *.rpm
service srv1cv83 start

Если у вас в сети прокси-сервер, то чтобы 1С подключалась к интернет (для сдачи отчетности), пользователю usr1cv8 надо добавить в .bash_profile:
http_proxy=»http://IP-прокси:порт»
export http_proxy

В принципе, уже можно работать с 1С.

Дополнение 1: перенос данных

Спойлер

Данные postgres лежат в /var/lib/pgsql/data. Желающие могут перенести их в другое место, например на SSD-диск. У меня SSD-диск монтируется в /var/ssd.
1. /etc/init.d/postgresql stop
2. Путь к базе прописан в переменной PGDATA в скрипте /etc/init.d/postgresql. Меняем путь на /var/ssd/data
3. Переносим папку /var/lib/pgsql/data в /var/ssd/data. /var/lib/pgsql остается на месте.
4. /etc/init.d/postgresql start

Дополнение 2: резервное копирование

Спойлер

Организуем резервное копирование баз данных на сетевой ресурс. В моем случае сетевой ресурс — это общая папка на сервере Windows 2003. Для получения доступа к сетям Майкрософт поставим cifs-utils:
apt-get install cifs-utils

Пароль на доступ к общей папке будем хранить в файле sambacreds:
touch /etc/sambacreds
в нём 2 строки:
username=имя
password=пароль

Оставим на него права только root-у:
chmod 600 /etc/sambacreds

Создадим в /mnt/ папку arh, к которой будем подключать общую папку Windows.
В /etc/fstab укажем:
//IP_сервера_Windows/общая_папка /mnt/arh cifs credentials=/etc/sambacreds 0 0

Создадим папку, где будут лежать скрипты для резервирования  /etc/bat_ar/ и в ней скрипт sohran.sh с таким содержимым:
#!/bin/bash
pg_dump -U postgres -Fc -Z1 baza > $1/baza.arhiv

-Fc (—format=c) — выходной формат custom, только такой формат делает сжатие.
-Z, —compress=0-9 — уровень сжатия при архивации. Мне важно, чтобы быстрее сделался резерв, а не степень сжатия. При увеличении сжатия размер становится немного меньше, а время тратится значительно больше.
Расширение .arhiv — произвольное
baza — название базы в postgres-е

В /etc/cron.d/ создадим файл pg_dump с таким содержимым:
59 0 * * * root /bin/mount -a
0 1 * * 2 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv1
0 1 * * 3 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv2
0 1 * * 4 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv3
0 1 * * 5 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv4
0 1 * * 6 root /etc/bat_ar/sohran.sh /mnt/arh/arhiv5
В конце обязательно Enter

Т.е. в 1 час ночи, со вторника по субботу запускается архивация. За каждый будний день архив кладётся в свою папку arhivХ. Папки arhivХ должны существовать в общей папке на сервере Windows.

В логах /var/log/syslog/messages видно, что архивация запускается:
Jul  9 01:00:02 server1C crond[27284]: (root) CMD (/etc/bat_ar/sohran.sh /mnt/arh/arhiv5)

mount -a — это чтобы сетевой ресурс уже наверняка был бы подключен, т.к. бывает, что после пропадания и возобновления питания, сервер Windows загружается позже чем server1C и тогда подключение в fstab не срабатывает.

Дополнение3:  соображения по 1С

Спойлер

Папка сервера 1С: /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/
reg_1541/ — тут лежат ID баз, в т.ч. уже удалённых. В файле 1CV8Clst.lst видно, к какой базе какой ID относится, а каких ID в этом файле нет, они лишние. Лишние можно удалить. В ID каждой базы:
1Cv8FTxt — полнотекстовый поиск
1Cv8Log — логи журнала регистраций. Если он разросся, логи можно удалить. В Конфигураторе можно журнал Сократить. Там же можно настроить не собирать лишние сведения, а только Регистрировать ошибки.

/etc/sysconfig/srv1cv83 — файл конфигурации сервера 1С

Платформа 1С обновляется простой процедурой скачивания rpm пакетов с сайта 1С, далее необходимо зайти в каталог с ними и выполнить команды:
service srv1cv83 stop
apt-get install *.rpm
service srv1cv83 start

Проверить версию платформы 1С можно командой: rpm -qa | grep 1C_Enterprise

Дополнение4: работа с 1С по http (https), т.е. через веб-клиент

Спойлер

Установим веб-сервер апач:
apt-get install apache2
chkconfig httpd2 on
service httpd2 start

Создадим папку /var/www/1c_base/
У нас на сервере 1с есть база с названием roznica. Чтобы работать с ней через веб-клиент, сделаем следующее:

1) создадим подпапку roznica в /var/www/1c_base/

2) создадим для этой базы отдельный конфиг апача в /etc/httpd2/conf/sites-available/:
touch /etc/httpd2/conf/sites-available/roznica.conf
командой a2ensite сделаем ссылку на только что созданный конфиг в /etc/httpd2/conf/sites-enabled:
a2ensite roznica

3) опубликуем базу roznica на веб-сервере с помощью webinst:
/opt/1C/v8.3/x86_64/webinst -apache24 -wsdir roznica -dir /var/www/1c_base/roznica -connstr «Srvr=server1C.moj_domen.local;Ref=roznica;» -confpath /etc/httpd2/conf/sites-available/roznica.conf
В ответ будет: sh: httpd: команда не найдена (т.к. webinst ищет httpd а не httpd2, но это не критично) и Публикация выполнена
В результате запуска webinst появится файл /var/www/1c_base/roznica/default.vrd и заполнится файл /etc/httpd2/conf/sites-available/roznica.conf. В нём будет следующее:
LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap22.so»
# 1c publication
Alias «/roznica» «/var/www/1c_base/roznica/»
<Directory «/var/www/1c_base/roznica/»>
    AllowOverride All
    Options None
    Order allow,deny
    Allow from all
    SetHandler 1c-application
    ManagedApplicationDescriptor «/var/www/1c_base/roznica/default.vrd»
</Directory>

4) перезапустим апач: service httpd2 restart

5) Файл default.vrd имеет права 640. Надо дать доступ на чтение всем:
chmod 644 /var/www/1c_base/roznica/default.vrd

После этого база roznica доступна в обозревателе по адресу:
http://server1C.moj_domen.local/roznica

Если мы хотим работать с 1с не только из локальной сети, но и из интернета, то канал связи надо шифровать, т.е. работать по https а не по http. Для этого нужен сертификат. Можно использовать только сертификат веб-сервера. Канал будет шифрованным. Но чтобы быть уверенными, что к базе 1с из интернета смогут подключиться только нужные нам пользователи, надо вместе с сертификатом веб-сервера использовать и сертификаты клиентов.

Создадим сертификаты с помощью EasyRSA2 из состава OpenVPN: установим на клиентский ПК с Windows программу OpenVPN, но не всю, а только EasyRSA2. И установим не на диск C: а в любое другое место.

— для начала редактируем EasyRSA2vars.bat. Параметры страны, почты и т.д.  заполняем любыми данными, какими хотим. Значения CN пока оставляем как есть:
set KEY_COUNTRY=RU
set KEY_PROVINCE=.
set KEY_CITY=Gorod
set KEY_ORG=Organizacija
set KEY_EMAIL=info@organizacija.com
set KEY_CN=changeme
set KEY_NAME=.
set KEY_OU=.
set PKCS11_MODULE_PATH=neznaju
set PKCS11_PIN=krutojparol

— затем в build-ca.bat и build-key-pkcs12.bat убираем параметр -nodes.

— идем в командную строку и запускаем последовательно нижеуказанные команды:
vars
clean-all
vars
build-ca (это мы создаём Центр Сертификации, с паролем на его закрытый ключ)
vars
build-key-server server1C.domain.ru (это мы создаём сертификат веб-сервера, без пароля на закрытый ключ)
vars
build-key-pkcs12 1c-user (это мы создаём сертификат клиента, с паролем на его закрытый ключ)

При этом придумываем и вводим имена CN (Common Name):
CN для Центра Сертификации (CA) — 1c-ca
CN для веб-сервера — тут ставим DNS-имя нашего веб-сервера, как он будет виден из интернета, когда мы пробросим на него порт 443 (https) — server1C.domain.ru
CN для клиента — 1c-user
На запрос параметров set KEY_COUNTRY и всех ниже, нажимаем Enter, кроме CN.
При соответствующих запросах придумываем пароли:
Enter PEM pass phrase: — это будет пароль на файл закрытого ключа .key
Enter Export Password: — это будет пароль на файл 1c-user.p12. Этот пароль мы дадим пользователю вместе с файлом 1c-user.p12
На вопрос A challenge password []: нажимаем Enter.

Сертификаты готовы.

Настроим веб-сервер на использование https:
установим пакет ssl:
apt-get install apache2-mod_ssl
включим модуль ssl:
a2enmod ssl
включим порт 443:
a2enport  https

В /etc/httpd2/conf/ssl.key/ положим файл server1C.domain.ru.key
В /etc/httpd2/conf/ssl.srt/ положим файлы ca.crt и server1C.domain.ru.crt
права на все эти файлы поставим 600
Для работы с базой roznica и по http и по https, в файле /etc/httpd2/conf/sites-available/roznica.conf сделаем изменения:
директиву LoadModule… вынесем в начало файла, всё то идет дальше (это будет секция HTTP) обрамим тегами <VirtualHost server1C:80> … </VirtualHost>, сдублируем эту секцию ещё раз ниже, но тег сделаем <VirtualHost server1C:443> и после этого тега вставим строки:
SSLEngine on
    SSLProtocol all -SSLv2
    SSLCertificateFile    /etc/httpd2/conf/ssl.crt/server1C.domain.ru.crt
    SSLCertificateKeyFile /etc/httpd2/conf/ssl.key/server1C.domain.ru.key
    SSLCACertificateFile /etc/httpd2/conf/ssl.crt/ca.crt
    #можно отзывать сертификаты:
   #SSLCARevocationFile /etc/httpd2/conf/ca.crl
   #можно включать проверку сертификата клиента:
    SSLVerifyClient require

Это будет секция HTTPS

Перезапустим апач: service httpd2 restart

Теперь мы пробросим 443 порт снаружи на свой веб-сервер и попробуем войти по https из интернета:
https://server1C.domain.ru/roznica
или, если проброшен нестандартный порт 12345:
https://server1C.domain.ru:12345/roznica
Если мы не включили проверку сертификата клиента «SSLVerifyClient require», то канал будет шифроваться и 1с будет работать.
Если же мы включили проверку сертификата клиента «SSLVerifyClient require», то при попытке входа по https без клиентского сертификата будет выдана ошибка: «Ваш сертификат отклонен сайтом server1C.domain.ru или не был выдан.» Нужно вначале импортировать себе клиентский сертификат 1c-user.p12.
В обоих случаях обозреватель будет сообщать, что сертификат сервера не правильный. Происходит это от того, что сертификаты мы сделали себе сами (самоподписанные сертификаты) и наш обозреватель ничего о них не знает.

Понравилась статья? Поделить с друзьями:
  • Ошибка загрузки компоненты mngcln 126 не найден указанный модуль
  • Ошибка загрузки компоненты mngcln 126 0x0000007e не найден указанный
  • Ошибка загрузки компоненты metakey dll
  • Ошибка загрузки компоненты liccspr 126 0x0000007e
  • Ошибка загрузки компоненты help ошибка доступа к файлу