Где почитать логи службы сервера 1с
Win10 x64
8.3.8.2322 х32
Через 2 сек после запуска останавливается служба «1C:Enterprise 8.3 Server Agent».
Переустанавливал, удалял папку «C:\Program Files (x86)\1cv8», устанавливал службу под разными пользователями, удалял процесс rmngr — ничего не помогло.
Если запустить руками ragent.exe, то пишет:
Server agent started.
Server agent finished.
В журнале windows логов по агенту нет.
Пробовал и другие релизы.
Где копать?
(0) В журнале Виндоус логи должны быть. В крайнем случае настрой технологический журнал.
(1) В журнале винды этих логов нет.
(0) копай сюда C:\Program Files\1cv8\srvinfo.
Сохраняй куда-нибудь все внутренности и убивай их, запускай сервер, запускай администрирование сервера 1с предприятие и настраивай занова
(1) В тех. журнале в файле G:\log\2017-30-08\ragent_11140\17083108.log:
35:00.923002-0,EXCP,0,process=ragent,setUnhandledExceptionFilter=setUnhandledExceptionFilter
35:02.970000-0,EXCP,0,process=ragent,Exception=81029657-3fe6-4cd6-80c0-36de78fe6657,Descr=’src\RHostImpl.cpp(2385):
81029657-3fe6-4cd6-80c0-36de78fe6657: . . . . . . . (. /. . /. )’
(3) Я и так полностью удалял папку «C:\Program Files (x86)\1cv8» перед установкой 1с
Кстати, в логе тех. журнала в конце сообщения нечитаемые каракули. Что это?
А в «C:\Program Files\» нет папки «1cv8»?
81029657-3fe6-4cd6-80c0-36de78fe6657 Ошибка сетевого доступа к серверу
попробуй грохнуть ipv6 или поставить свежие релизы 8.3.10
(7) нет папки
(9) я отключил ipv6. Совсем грохнуть? А как?
netstst выдает:
——————————————————
Имя Локальный адрес Внешний адрес Состояние
TCP 0.0.0.0:135 Main:0 LISTENING
TCP 0.0.0.0:445 Main:0 LISTENING
TCP 0.0.0.0:1433 Main:0 LISTENING
TCP 0.0.0.0:1536 Main:0 LISTENING
TCP 0.0.0.0:1537 Main:0 LISTENING
TCP 0.0.0.0:1538 Main:0 LISTENING
TCP 0.0.0.0:1539 Main:0 LISTENING
TCP 0.0.0.0:1540 Main:0 LISTENING
TCP 0.0.0.0:1547 Main:0 LISTENING
TCP 0.0.0.0:1552 Main:0 LISTENING
TCP 0.0.0.0:2179 Main:0 LISTENING
TCP 0.0.0.0:3389 Main:0 LISTENING
TCP 0.0.0.0:7680 Main:0 LISTENING
TCP 127.0.0.1:1434 Main:0 LISTENING
TCP 127.0.0.1:5939 Main:0 LISTENING
TCP 192.168.1.239:139 Main:0 LISTENING
TCP 192.168.1.239:1544 db5sch101101122:https ESTABLISHED
TCP [::]:135 Main:0 LISTENING
TCP [::]:445 Main:0 LISTENING
TCP [::]:1433 Main:0 LISTENING
TCP [::]:1536 Main:0 LISTENING
TCP [::]:1537 Main:0 LISTENING
TCP [::]:1538 Main:0 LISTENING
TCP [::]:1539 Main:0 LISTENING
TCP [::]:1540 Main:0 LISTENING
TCP [::]:1547 Main:0 LISTENING
TCP [::]:1552 Main:0 LISTENING
TCP [::]:2179 Main:0 LISTENING
TCP [::]:3389 Main:0 LISTENING
TCP [::]:7680 Main:0 LISTENING
TCP [::1]:1434 Main:0 LISTENING
UDP 0.0.0.0:500 *:*
UDP 0.0.0.0:3389 *:*
UDP 0.0.0.0:3544 *:*
UDP 0.0.0.0:4500 *:*
UDP 0.0.0.0:5050 *:*
UDP 0.0.0.0:5353 *:*
UDP 0.0.0.0:5355 *:*
UDP 0.0.0.0:56367 *:*
UDP 127.0.0.1:1900 *:*
UDP 127.0.0.1:49599 *:*
UDP 192.168.1.239:137 *:*
UDP 192.168.1.239:138 *:*
UDP 192.168.1.239:1900 *:*
UDP 192.168.1.239:5353 *:*
UDP 192.168.1.239:49598 *:*
UDP 192.168.1.239:50818 *:*
UDP [::]:500 *:*
UDP [::]:3389 *:*
UDP [::]:4500 *:*
UDP [::]:56368 *:*
UDP [::1]:1900 *:*
UDP [::1]:5353 *:*
UDP [::1]:49597 *:*
——————————————————
Порт 1540 указан. Кем же он используется, если агент 1с лежит?
(10) вот ты и навелся на причину незапуска.
порты кем-то заняты. дальше у тебя 2 рецепта:
1) освободить порты.
2) переехать 1ску на другие порты.
TCP 0.0.0.0:1539 Main:0 LISTENING
SessionEnv
[svchost.exe]
TCP 0.0.0.0:1540 Main:0 LISTENING
[spoolsv.exe]
У меня подозрение на это.
Как исправить?
SpoolSv — это аббревиатура от Print Spooler Service
есть ощущение что он сам динамически выбирает свободные порты.
удали сетевой принтер на своем сервере и посмотри порты еще раз.
Я не очень понял — раз удалил папку 1cv8, значит нужно заново подключить базы через Администрирование серверов 1С. Скорее всего 1С не запускалась как раз из-за того, что обнулился 1CV8Reg.lst файл, в котором были прописаны базы.
Настройка клиента сервиса Анализа технологического журнала
Возможно использовать клиентскую часть в двух вариантах:
вариант 1 — в клиент-серверном — универсально, не требует клиентской лицензии 1С, но если сервер 1С тот же что и у исследуемой базы, то в случае недоступности сервера вовремя информация из логов обсчитана не будет, только после восстановления работоспособности
вариант 2 — в файловой базе, что позволяет в случае падения сервера 1С вовремя отразить информацию, но требует наличия клиентской лицензии
Основные параметры входа в базу
Для входа в базу на нашем сервере :
Логин: указан в письме (в списке выбора не показывается)
Пароль: : указан в письме
Настройки для файлового варианта
Необходимо в новую файловую базу загрузить конфигурацию StatusClient82.cf. Далее необходимо в настройках установить значения для передачи данных по веб-сервису
веб-сервис http://info.gilev.ru/status/ws/status.1cws?wsdl
пользователь веб-сервиса: ws
пароль веб-сервиса: ws
Информация о серверах приложений
После заполнения основных настроек необходимо в справочнике «Серверы 1с» создать элементы по каждому анализируемому серверу приложений и заполнить настройки для включения технологического журнала на исследуемых серверах приложений. Путь к конфигурационному файлу должен быть указан именно к серверной версии платформы 1с. Флаг «Включить мониторинг» означает что конфигурация StatusClient82.cf будет обрабатывать логи технологичесого журнала и отправлять их в серверную часть инструмента с помощью регламентного задания.
Настройка регламентного задания
Так как конфигурация будет находится в файловом режиме необходимо настроить регламентное задание с помощью планировщика Windows. Для этого необходимо создать файл с расширением *.BAT и прописать в нем запуск базы с открытием обработки status.epf:
«C:\Program Files\1cv82\common\1cestart.exe» ENTERPRISE /F»C:\Status» /execute «C:\Status\status.epf»

Далее создаем в планировщике заданий новую задачу и указываем в параметрах безопасности «Выполнить вне зависимости от регистрации пользователя»
На закладке «Триггеры» создаем запуск задания ежедневно и каждый час

На закладке «Действия» указываем запуск созданного нами ранее BAT файла

Файловый вариант базы необходимо использовать для того чтобы база Status сама не зависела от работоспособности серверов и могла с наибольшей гарантией собрать логи технологического журнала и отправить их для дальнейшего анализа на нашем сервере. Но так же клиент-серверное размещение этой конфигурации не исключено и предусмотренно внутренними алгоритмами конфигурации. В этом случае тогда регламентное задание не нужно настраивать через планировщик Windows т.к. в клиент-серверном режиме работы базы, данные будет отправлять встроенное в конфигурацию регламентное задание.
Настройки для клиент-серверного варианта
Необходимо в новую базу загрузить конфигурацию. Далее необходимо в настройках учетную запись в сервисах, пусть к размещению logcfg.xml и путь к логам технологического журнала.

После этого нажать кнопку «Включить» для событий технологического журнала.
О технологическом журнале подробнее можно прочитать тут.
Интернет прокси-сервер
Возможна отправка данных через интернет используя прокси, это штатная возможность платформы, для этого необходимо настроить служебный файл платформы inetcfg.xml.
Содержимое файла должно быть примерно следующим:
protocols=»http=10.1.0.8:8080 10.1.0.9:8080″
user=»proxyUser»
password=»proxyPassword»
bypassOnLocal=»true»
bypassOnAddresses=»127.0.0.1 *.master»
/>
Подробнее смотрите в документации к 1С или на ИТС
Высокая интенсивность ошибок может стать причиной блокирования закачки данных на сервер.
Если у платформы нет доступа к какому то ресурсу, то в логах при частых попытках обращения к ресурсы будет взрывной объем записи каждой такой попытки. Может это и ерунда, пока не надо парсить весь этот объем однотипной, а значит малоинформативной записи.
Выглядеть в логах технологического журнал это будет так:
На снимке — архив логов ТЖ 1С всего за один час. Суммарно в этом архиве порядка 175 тысяч строк событий. Обратим внимание, что объём большинства папок подозрительно схож. А что же внутри? А внутри вот такая красота:
Слева на снимке — нумерация строк для удобства. Выше по тексту — всё ровно то же самое. В соседних файлах — ровно аналогичная проблема. В итоге все 175 тысяч событий в подавляющем большинстве сводятся ровно к двум строкам:
Ошибка перемещения файлов из ‘C:\ProgramData\1C\1cv8\1cv8conn.pfl’ в ‘C:\ProgramData\1C\1cv8\1cv8connO.pfl’ : Ошибка доступа к файлу: src\files.cpp(2856): Ошибка доступа к файлу. 5(0x00000005): Access is denied.
и
Ошибка доступа к файлу ‘C:\ProgramData\1C\1cv8\1cv8connN.pfl’. 5(0x00000005): Access is denied. : src\files.cpp(426): 5(0x00000005): Access is denied.
По опыту наблюдений можем заверить, что 175 тысяч вот таких событий за час — это далеко не самый трагичный случай. Известны случаи, где по нескольким рабочим процессам за час именно таких событий могло сформироваться до гигабайта текста (хороший быстрый процессор, хорошие быстрые диски, дурную работу сервер делает очень быстро).
И ладно бы оно просто тихонько флудило в логи. Так ведь из-за этого флуда очень тяжело отлавливать полезные события!

А исправление предельно простое: надо определить, от имени какой учётки на этом сервере 1С запускается служба сервера 1С. Вот для примера снимок из оснастки «Службы»:
И затем в Проводнике Windows зайти в свойства папки C:\ProgramData\1C\1cv8\, там в закладку «Безопасность», и дать полные права нужной учётке на эту папку. Если всё сделали правильно — ошибка должна перестать сыпаться в логи ТЖ натурально в эту же секунду.
Если будут вопросы или нужна наша помощь в подключении, можно писать на почту slava@gilev.ru
Очистка кэша: серверного и клиентского для 1С:Предприятия
На практике иногда случаются ситуации, когда при изменении тех или иных настроек — поведение 1С не изменяется.
Например, выдаются ошибки, которые уже совершенно точно были исправлены, или открывается старая форма. И тому подобное.
В этом случае — рекомендуется очистка кэша.
О том как это можно сделать — читайте далее.
Как очистить клиентский кэш 1С:Предприятия под ОС Windows?
Очистка кэша через удаление базы из списка.
Наиболее простой (для пользователя) способ – удалить базу из списка информационных баз и добавить ее снова.
Очистка кэша через запуск командной строки.
Для этого необходимо запустить информационную базу из командной строки, добавив в нее дополнительный параметр запуска /ClearCache :
«C:\Program Files (x86)\1cv8\common\1cestart.exe» ENTERPRISE /F «C:\bases\1s_on» /N Иванов /P 12345 /ClearCache
Иванов — имя пользователя; 12345 — пароль пользователя. Подробнее о параметрах командной строки можно почитать Командная строка 1С и примеры ее использования
Очистка кэша вручную через проводник операционной системы.
- Находим идентификатор базы в файле хранения списка баз в файле:
C:\Users\user1s_on\AppData\Roaming\1C\1CEStart\ibases.v8i

Файл настроек списка ИБ 1С
C:\Users\anastasia.sonygina\AppData\Local\1C\1cv8
Открываем его и удаляем все его содержимое

Каталог хранения кеша конифгурации 1С на клиенте Windows
Как очистить серверный кэш и сеансовые данные на сервере 1С:Предприятия под ОС Linux(Centos)?
При очищении кэша на сервере рекомендуем также очищать и сеансовые данные. Что хранится в сеансовых данных? В них хранится служебная информация, необходимая для работы сеанса, например, информация из полей ввода на форме — сохраняется в сеансовых данных. Следующие действия выполняем на сервере приложений 1С:Предприятия.
Останов службы 1С:Предприятия
sudo su root
service srv1cv8 stop
Очистка серверного кэша
Очистка сеансовых данных
rm -rf /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/snccntx*
Запуск службы 1С:Предприятия
service srv1cv8 start
Еще можно посмотреть

Администрирование серверов 1С на Linux
Привычным для нас инструментом управления кластером серверов 1С является консоль «Администрирование серверов 1С Предприятия» — «Microsoft Management Console». Данная консоль позволяет выполнять все необходимые действия по администрированию кластеров серверов 1С:Предприятия. Но, она имеет один недостаток – её невозможно использовать под ОС Linux. Но не все так плохо. Альтернативными средствами администрирования серверов 1С на Linux являются: […]

Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
Практический пример настройки Postgre SQL для непрерывного архивирования баз данных 1С Предприятия на ОС Linux

Установка двух версий сервера 1С на Linux
Пошаговый процесс установки и запуска двух версий сервера 1С на Linux. Полное описание настройки второго экземпляра сервера 1С.
ОШИБКА 1С:ПРЕДПРИЯТИЯ «ПОТЕРЯНО СОЕДИНЕНИЕ»
У пользователя во время работы может возникать сообщение: [crayon-655f2860a08e0769256694/] После чего рабочий режим либо восстанавливается, либо нет. В сообщении достаточно ясно описана возникшая ситуация, но необходимо понимать, что по другую сторону экрана пользователя, ландшафт системы может быть несколько сложнее, чем он себе представляет. И сервер «с которым потеряно соединение» может быть не только сервер 1С:Предприятия. […]

Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 1.
Ошибка 1С «Сервер баз данных не обнаружен» При работе с 1С в клиент-серверном варианте могут возникать ошибки, которые напрямую не связаны с 1С:Предприятием, а связаны непосредственно с сервером управления баз данных. Одна из распространенных ошибок — «Сервер баз данных не обнаружен…». Продолжение данного сообщения может быть различным: 1. Could not translate host name «NAME» to […]

Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.
Ошибка СУБД: Продолжение сообщения может быть различным: 1. DATABASE не пригоден для использования 2. ERROR: type «tt7» already exists 3. ERROR: could not read block DATABASE не пригоден для использования Пример полного текста ошибки: [crayon-655f2860a0cb5044901822/] Описание ошибки: База не запускается после установки и создания. Решения: Установим версию предназначенную для работы с 1С:Предприятием. Скачать такую можно […]

Утилита ring license для 1С версии 8.3.14 и выше под Linux
Для чего нужен 1C ring license? На текущий момент широко распространено использование программных лицензий. И системы на базе 1С в этом не исключение. Но, помимо простой активации пин-кодов, программная лицензия 1С также нуждается в обслуживании. Для обслуживания разработчику требуются знания об инструменте для получения списков, информации, анализа состояния файлов программных лицензий. Об этом инструменте мы […]
Похожие записи
- Подключение репозитория под ОС Linux
- ОШИБКА 1С:ПРЕДПРИЯТИЯ «ПОТЕРЯНО СОЕДИНЕНИЕ»
- НАСТРОЙКА PG_PROFILER ДЛЯ POSTGRESQL 11.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- 1C тормозит и возникают ошибки. С чего начать расследование?
- Анализ технологического журнала 1С регулярными выражениями. От простого к сложному.
- Хранение файлов 1С в томах на nfs-шаре Linux
- Администрирование серверов 1С на Linux
- Настройка и сбор логов для анализа проблем производительности систем 1С на Linux
Где почитать логи службы сервера 1с
Внимание! Служба обеспечения совместимости Базальт СПО не отвечает за содержимое данной страницы. Актуальную информацию о совместимости и актуальную информацию по установке от службы обеспечения совместимости смотрите в соответствующих таблицах: p10 и p9.
Унифицированная статья для разворачивания сервера 1С:Предприятие 8.3 и 8.2.
- Краткая инструкция для установки клиента 1С:Предприятие 8.3 вынесена на отдельную страницу.
- Инструкция по установке сервера 1С:Предприятие 8.x.
- Сервер удалённого администрирования (RAS) 1С:Предприятие 8.3
Для установки на СПТ используйте специальную сертифицированную версию, полученную от представителей 1С.
- 1 Установка сервера 1С:Предприятие на ALT Linux
- 1.1 Состав сервера 1С
- 1.2 Подготовка к установке
- 1.3 32bit на x86_64
- 1.4 Устанавливаем Postgresql
- 1.4.1 Вопросы безопасности
- 1.4.1.1 Доступ через сокет unix
- 1.4.1.2 Доступ через TCP
- 1.4.1.3 Пользователи СУБД
- 1.6.1 Зависимости и установка
- 1.6.2 Автостарт сервиса
- 1.6.3 Ротация логов
- 1.6.4 Запуск
- 1.6.5 Особенности автозапуска 1С-сервера при системе запуска systemd
- 1.6.6 Настройка аутентификации для 1С-сервера в домене Active Directory на базе Samba 4
- 2.1 Настройка Apache для веб-клиентов документооборота
- 2.1.1 Автоматически
- 2.1.2 Вручную
- 2.1.3 Проверка
- 3.1 Установка 1С-сервера в OVZ-контейнер
Установка сервера 1С:Предприятие на ALT Linux
Состав сервера 1С
- 1C_Enterprise82-common… — Общие компоненты 1С Предприятие 8.2 для Linux
- 1C_Enterprise82-crs… — Компоненты хранилища конфигураций 1С Предприятие 8.2 для Linux
- 1C_Enterprise82-server… — Сервер 1С Предприятие 8.2 для Linux
- 1C_Enterprise82-ws… — Компоненты Web-сервисов 1С Предприятие 8.2 для Linux
- 1C_Enterprise83-common… — Общие компоненты 1С Предприятие 8.3 для Linux
- 1C_Enterprise83-server… — Сервер 1С Предприятие 8.3 для Linux
- 1C_Enterprise83-ws… — Компоненты Web-сервисов 1С Предприятие 8.3 для Linux
Также для каждого из этих компонентов присутствуют пакеты -nls с поддержкой национальных символов.
Подготовка к установке
Сначала проверьте настройку интернационализации системы:
cat /etc/sysconfig/i18n LANG=ru_RU.UTF-8 SUPPORTED=ru_RU
Дело в том, что если сервер 1С не найдёт тут кодировки ru_RU.UTF-8 (например, если установка происходит в OVZ-контейнере), то он будет настойчиво пытаться подключиться к нашей базе с локалью en_EN.UTF-8. А в chroot postgresql копируется только та локаль, которая задана при создании базы. Таким образом 1С-сервер не сможет подключиться к базе.
Изменить локаль можно командой (подействует после перезагрузки):
sed -i s/en_EN/ru_RU/ /etc/sysconfig/i18n
Итак, данное руководство предполагает, что вы используете локаль ru_RU.UTF-8 в качестве общесистемной. Если вы хотите использовать для доступа к БД имя хоста, а не IP, то хорошо бы настроить обратную DNS-зону. Это избавит вас от некоторых хлопот и возможной путаницы (подробности ниже).
32bit на x86_64
Обязательно установите пакет i586-glibc-nss , если устанавливаете 32-битную версию 1С на x86_64 сервер — без этого не будет работать DNS в сервере 1С.
Устанавливаем Postgresql
Стандартный Postgresql не будет работать с 1С, а rpm-пакеты с Postgres, которые идут в дистрибутиве 1C, предназначены только для установки на fedora-совместимых дистрибутивах. Устанавливаем пакеты от Etersoft, при этом не забывая обновить дистрибутив до последней версии:
# apt-get update && apt-get dist-upgrade
# apt-get install postgresql9.6-1C postgresql9.6-1C-contrib postgresql9.6-1C-server glibc-i18ndata
# apt-get install postgresql10-1C postgresql10-1C-contrib postgresql10-1C-server
Для Седьмой платформы ALT Linux есть более актуальные релизы от Postgres Pro. Там же можно найти документацию на русском. Для этого сначала подключаем репозиторий и затем устанавливаем (для )
# echo "rpm http://1c.postgrespro.ru/rpm/9.6/altlinux/7 x86_64 pgpro-1c" >/etc/apt/sources.list.d/pgpro-1c.list # apt-get update && apt-get install postgresql-pro-1c-9.6
Для установивших ОС с образа, а не развернувших контейнер, с кодировками проблем быть не должно.
В любом случае, проверяйте locale. Если нет UTF-8, устанавливайте:
localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8 # для российских и белорусских баз localedef -c -i uk_UA -f UTF-8 uk_UA.UTF-8 # для украинских баз
Создаём файлы базы данных:
# service postgresql initdb
В седьмой платформе при попытке первого запуска сервиса (инициализации базы данных) postgresql версии 9 и новее может ругаться на отсутствующий каталог базы данных (/var/lib/pgsql/data), после ручного его создания (install -o postgres -g postgres -d /var/lib/pgsql/data) СУБД инициализируется нормально. Как рекомендует скрипт проверки базы, можно выполнить /etc/init.d/postgresql initdb, он создаёт также все необходимые файлы конфигурации.
После этого открываем файл /var/lib/pgsql/data/postgresql.conf и проверяем, чтобы postgres слушал нужный интерфейс, имел соответствующую локаль и настройки, описанные в документации 1С-сервера. Вот пример работающего файла конфигурации (закомментированные строки пропущены):
listen_addresses = '*' max_connections = 100 shared_buffers = 16MB max_fsm_pages = 204800 effective_cache_size = 128MB stats_row_level = on autovacuum = on datestyle = 'iso, dmy' lc_messages = 'ru_RU.UTF-8' lc_monetary = 'ru_RU.UTF-8' lc_numeric = 'ru_RU.UTF-8' lc_time = 'ru_RU.UTF-8' max_locks_per_transaction = 150 default_with_oids = on
Внимание! Не копируйте бездумно эту конфигурацию себе — в комментариях дефолтного postgresql.conf содержится масса полезной информации.
Учтите, что эта настройка далека от идеальной и производительной. Данное руководство не ставит перед собой такой задачи, поэтому настроить Postgresql под свои нужды вам надо будет самостоятельно (вот, к примеру, руководство по настройке производительности, ещё конкретно для 1С, а вот официальная документация по используемой версии PostgreSQL)
Также учтите, что postgres использует разделяемую память (shared memory) и в ядре есть ограничения, возможно, придётся их увеличить (по информации с gilev.ru, начиная с postgresql 9.4 это делать не нужно):
- sysctl kernel.shmall — the total amount of shared memory pages that can be used system wide, default 2097152.
- sysctl kernel.shmmax — the maximum size in bytes of a single shared memory segment that a Linux process can allocate in its virtual address space, default 1073741824 (1 GiB)
- sysctl kernel.shmmni — the system wide maximum number of shared memory segments, default 4096.
Также в файле /var/lib/pgsql/data/pg_hba.conf вам надо будет определить политику доступа пользователей к СУБД (для этого читайте документацию postgresql). По умолчанию после /etc/init.d/postgresql initdb все базы доступны всем без проверки (правило «trust»). Как минимум, можно сделать так:
host all all 0.0.0.0/0 md5
Что означает разрешение подключаться с любых адресов к любым базам с авторизацией по паролю.
Не забываем поставить СУБД на автостарт (годится и для sysvinit, и для systemd):
chkconfig postgresql on
Затем запускаем его:
service postgresql start
Для первоначальной настройки достаточно сменить пароль суперпользователя СУБД командой psql -h localhost -U postgres template1 или (короче) psql -U postgres :
[root@localhost ~]# psql -U postgres template1=# ALTER USER postgres WITH PASSWORD 'secret';
Лучше создать отдельного пользователя для каждой базы данных (см. #Пользователи СУБД)
На этом настройка Postgresql завершена.
Вопросы безопасности
Доступ через сокет unix
По умолчанию в файле /var/lib/pgsql/data/postgres.conf задано, что postresql создаёт сокет с правами доступа 0777 («все могут писать-читать»), при этом в /var/lib/pgsql/data/pg_hba.conf при подключении через сокет нет проверки пользователя.
Есть два пути решения.
1. Разрешить доступ к сокету только членам группы postgres в файле postgres.conf:unix_socket_group = # default use main group of the user postgres #unix_socket_permissions = 0777 # default unix_socket_permissions = 0770
2. Требовать аутентификацию при подключениях через сокет в файле pg_hba.conf:
#local all all trust # default local all all md5
В первом случае, если сервер 1С будет подключаться к postresql через сокет unix, нужно включить пользователя usr1cv8 в группу postgres:
usermod -a -G postgres usr1cv8
Обычно это не нужно — используется подключение TCP.
Доступ через TCP
Если это не было сделано, установите пароль пользователя postgres
# pwqgen Dark*Plan7Smoky # echo "ALTER USER postgres WITH PASSWORD 'Dark*Plan7Smoky';" | psql -h localhost -U postgres
Затем в файле pg_hba.conf укажите требование аутентификации для подключений через сокеты TCP (исходно там указано «trust» — то есть без аутентификации):
host all all 127.0.0.1/32 md5 host all all 0.0.0.0/0 md5 host all all ::1/128 md5
Пользователи СУБД
Для работы 1С можно создать отдельного пользователя или даже отдельного пользователя для каждой информационной базы 1С:
# pwqgen Bunch!Climb$pay # psql -U postgres psql (9.6.6) Введите "help", чтобы получить справку. postgres=# CREATE USER cluster1c WITH password 'Bunch!Climb$pay'; postgres=# CREATE DATABASE db1c OWNER cluster1c; postgres=# \q #
Возможно, понадобится также дополнительно назначить полные права пользователю: GRANT ALL ON DATABASE db1c TO cluster1c;
Проблема в том, что для работы 1С нужны права на создание и изменение функций в схеме public. (Самый простой путь тут — дать пользователю роль postgres, что эквивалентно работе с СУБД под суперпользователем: GRANT postgres TO cluster1c; . Если есть более корректный путь — укажите его здесь.)
Установка и запуск защиты HASP
В 2018 году обычно приобретаются и устанавливаются программные лицензии, аппаратный ключ используется редко. К тому же для сервера 1С на Linux технически не требуется серверный ключ при количестве подключенных пользователей менее 10, но сама лицензия на использование должна быть. В любом случае для клиентских компьютеров лицензии нужны, и если они хранятся на ключе, лучше всего подключить его к серверу и установить менеджер лицензий.
Устанавливаем менеджер лицензий:
# apt-get install i586-haspd
После его установки достаточно запустить сервис:
# service haspd start
# service haspd status Hardware protection keys support bundle. Etersoft (c) 2008-2012 HASPD package 3.3 with /dev/bus/usb support Aladdin HASP 4/HL/SRM driver status: kernel module aksparlnx is not loaded (WARNING: HASP LPT keys support is disabled! Run service haspd build if needed.) aksusbd is running winehasp is running hasplm is running hasplmd is running Daemon version: 1.14 (#7779) - key API (USB) version: 3.88 (parallel driver not available) /proc/bus/usb workaround is enabled Smartkey 3 USB/LPT driver status: skeyd is stopped SafeNet Sentinel status: usbsentinel is stopped SntlKeysSrvrlnx is stopped Use $ eterkeytest [--hasp] [--sentinel] [--eutron] for test key presence
Проверяем, будет ли он запускаться при загрузке:
# chkconfig haspd --list haspd 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
Если на уровнях 3 и 5 не включен — включите:
# chkconfig haspd on
Примечание: текущая версия haspd не отслеживает события USB и требует перезапуска после подключения ключа во время работы службы.
Установка и запуск сервера 1С
Зависимости и установка
Заходим в каталог с распакованным rpm64.tar.gz и выполняем следующую команду (с поправкой на свою версию):
apt-get install 1C_Enterprise83-common-8.3.4-365.x86_64.rpm 1C_Enterprise83-common-nls-8.3.4-365.x86_64.rpm \ 1C_Enterprise83-server-8.3.4-365.x86_64.rpm 1C_Enterprise83-server-nls-8.3.4-365.x86_64.rpm \ 1C_Enterprise83-ws-8.3.4-365.x86_64.rpm 1C_Enterprise83-ws-nls-8.3.4-365.x86_64.rpm
Серверу 1С может понадобится библиотека fontconfig.so — пакет fontconfig или i586-fontconfig , libWand.so — пакет libImageMagick или i586-libImageMagick
Для нормальной работы тонкого и Web-клиента 1С Предприятия также требуются: unixodbc, libgsf, glib2, ttf2pt1, ImageMagick (+ создание символических ссылок /usr/lib64/libWand.so → libMagickWand-6.Q16.so.1.0.0 и /usr/lib64/libWand.so.1 → libMagickWand-6.Q16.so.1.0.0). Все это можно сделать вручную, либо установив пакет 1c-preinstall-full, который тянет многие зависимости нужные для рабочей станции, но излишние для сервера.
Начиная с версии 1с 8.3.19, на сервере нужен пакет liblcms2
Автостарт сервиса
su - # если вдруг ещё не сделан ln -s /opt/1cv8/x86_64/8.3.19.1229/srv1cv83 /etc/init.d/srv1cv83 # внимание: следите за конкретной версией платформы chkconfig srv1cv83 on systemctl start srv1cv83
также для остановки и перезапуска можно использовать, соответственно, команды:
systemctl stop srv1cv83 systemctl restart srv1cv83
а для просмотра статуса, команду:
systemctl status srv1cv83
Важно: эти два момента уже описаны в нескольких разделах этой статьи и не ясно наверняка оба ли они нужны для успешного старта сервиса.
1. У самого файла /opt/1cv8/x86_64/8.3.19.1229/srv1cv83 шебанг должен быть не
#!/bin/bash
#!/bin/sh
2. Сервер может не стартовать из-за отсутствия файла (но это не точно)
/etc/hostname
, который отсутствует в ОС Альт
Его можно создать так:
hostname > /etc/hostname
Ротация логов
1С ведёт журнал действий пользователя для каждой информационной базы. Эти журналы сохраняются в домашнем каталоге пользователя usr1cv8. К сожалению, эти журналы не ограничены в размерах средствами 1С и в некоторый момент том будет переполнен, из-за чего сервер 1С будет отвергать соединения клиентов. Одно из решений — отключить журнал в конфигураторе.
Если журнал нужен, решение простое — нужно настроить ротацию файлов ~usr1cv8/.1cv8/1C/1cv8/reg_*/*/1Cv8Log средствами logrotate.
Примечание: Сотрудники компаний, занимающихся сопровождением 1С, называют это «очисткой кэша».
Также полезно создать для домашнего каталога пользователя usr1cv8 отдельный том и/или назначить профиль пользователя в каталог /var/lib/1cv8 (usermod -d /var/lib/1cv8 usr1cv8 ; mv /home/usr1cv8 /var/lib/)
Пример файла /etc/logrotate.d/srv1cv8 (цифры в имени каталога «reg_1541» — номер порта, на котором процесс rmngr принимает подключения клиентов):
/var/lib/1cv8/.1cv8/1C/1cv8/reg_1541/*/1Cv8Log
Запуск
service srv1cv83 start
chkconfig srv1cv83 on
К сожалению, 1С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно. Разумеется, можно подключить технологический журнал. Но даже самое усердное курение самого подробного технологического журнала может оказаться малопродуктивно, если мы имеем дело с чем-то вроде «Unknown error».
Например, srv1cv83 попросту не запустится, если HOSTNAME= из /etc/sysconfig/network почему-то не разрешается в адрес. Чтобы избежать этого, проследите, чтобы имя сервера было зарегистрировано в доменной зоне, а также добавьте соответствующую запись в /etc/hosts, тогда неисправность/сбой/недоступность DNS будут не так страшны.
Порты, которые слушает 1С:
tcp 0 0 *:1540 *:* LISTEN 18704/ragent tcp 0 0 *:1541 *:* LISTEN 18711/rmngr tcp 0 0 *:1560 *:* LISTEN 18711/rmngr tcp 0 0 *:1561 *:* LISTEN 18704/ragent tcp 0 0 *:1562 *:* LISTEN 18720/rphost tcp 0 0 *:1563 *:* LISTEN 18720/rphost
Особенности автозапуска 1С-сервера при системе запуска systemd
В случае установки альт-сервера 8 в системе по умолчанию устанавливается systemd. Вместе с ним устанавливается пакет, позволяющий запускать автоматически пакеты, прописанные для запуска системы в sysV. В поставке 1С-сервера присутствует скрипт для запуска в sysV, и после установки 1С-сервера он копируется в каталог /etc/init.d/srv1cv83. В этом скрипте есть небольшая ошибка, которая не проявляется при интерактивном запуске 1С-сервера и при автостарте в sysV, но при автостарте из под systemd она проявляется и не дает ему стартовать. Для исправления этой ошибки открываем скрипт автозапуска 1С-сервера /etc/init.d/srv1cv83 в любом редакторе, добавляем первую строку #!/bin/sh и сохраняем скрипт. После такой модификации скрипта можно спокойно рестартовать систему. 1С-сервер будет автоматически запускаться.
Настройка аутентификации для 1С-сервера в домене Active Directory на базе Samba 4
Предполагается что компьютер с сервером 1с является членом домена, работоспособность аутентификации Kerberos проверена. Действия выполняются на контроллере домена от суперпользователя, исходные данные (пример):
Полное имя компьютера с 1C сервером (FQDN): server.domain.alt
Имя доменного пользователя сервера 1С: usr1cv8
Создаем доменного пользователя usr1cv8 с случайным паролем:
samba-tool user add usr1cv8 --random-password
Изменяем атрибут UserPrincipalName (UPN) у пользователя usr1cv8:
samba-tool user rename usr1cv8 --upn usr1cv8/server.domain.alt@DOMAIN.ALT
Отключаем срок действия пароля у пользователя usr1cv8:
samba-tool user setexpiry usr1cv8 --noexpiry
Добавляем атрибут ServicePrincipalName (SPN) пользователю usr1cv8
samba-tool spn add usr1cv8/server.domain.alt usr1cv8
Примечание: В SPN usr1cv8 — имя локального пользователя от имени которого запускается сервер 1С
Проверяем SPN для пользователя usr1cv8
samba-tool spn list usr1cv8 usr1cv8 User CN=usr1cv8,CN=Users,DC=domain,DC=alt has the following servicePrincipalName: usr1cv8/server.domain.alt
Экспортируем keytab для пользователя usr1cv8
samba-tool domain exportkeytab /root/usr1cv8.keytab --principal=usr1cv8/server.domain.alt
Полученный usr1cv8.keytab нужно поместить в каталог c установленным 1C сервером, например /opt/1cv8/x86_64/8.3.22.1750/ и произвести запуск/перезапуск демона.
Примечание: При настройке аутентификации для пользователя 1С выбираем домен вида domain.alt
Создание сервера предприятия
Из Windows это можно сделать так:
Запустите оснастку управления серверами предприятия из меню Пуск → 1С Предприятие 8.3 → Серверы 1С Предприятия. Создайте центральный сервер. Для этого войдите в контекстное меню и выберите пункт «Создать центральный сервер 1С Предприятия». Введите имя и описание линукс-сервера. Теперь после закрытия окна нажмите на плюсик рядом с новым сервером. Если сообщений об ошибках не было выдано, то создастся кластер.
Имя кластера лучше задавать в виде адреса IP, иначе на каждом компьютере с клиентом 1С придётся обеспечить разрешение имени сервера в адрес.
Информационные базы создаются прямо из оснастки управления кластером 1С:Предприятие, либо при запуске Конфигуратора. Для каждой ИБ нужна своя база данных в postgres. При этом можно задать для каждой такой БД своего пользователя в postgres, но для работы с 1С пользователю postgres нужна роль postgres — точнее, нужны права на создание и удаление функций в схеме public.
После создания (или загрузки базы) можно подключаться к серверу толстым или тонким клиентом, для Web-доступа базу нужно дополнительно опубликовать (см. ниже)
Файлы конфигурации и рабочие файлы информационной базы (временные, протоколы, . ) размещены в ~usr1cv8/.1cv8
Из Linux это можно сделать так:
Войдите в меню Все функции. — Стандартные — Управление серверами тонкого или толстого клиента 1С:Предприятие 8.3. Для управления кластером клиентское приложение требует RAS, запущенный на рабочем сервере к которому идёт обращение. Создайте центральный сервер аналогично тому, как описано для Windows.
Установка сервера 1С Предприятие 8.2 или 8.3 на ALT Linux для документооборота
Стенд для 1С:Документооборот разворачивали двое — представитель ALT Linux и представитель 1c-kpd.
Опишу линуксовую часть.
- Разворачиваем сервер. Использовался сервер на 5-ой платформе, после установки дотянут до текущего p5
- устанавливаем PostgreSQL от Etersoft: postgresql-8.3eter — установка и настройка по стандарту
- Устанавливаем Алладиновские ключи. HASP-ключи взяты для Red Hat, usb-ключ воткнут — должен загореться после установки
- Устанавливаем 1С 8.2.10.77 (с более старыми версиями проблема с документооборотом) взято с фтпшника компании http://1c-kpd.ru/ (нужен пароль)
- Настраиваем apache для работы веб-клиента
Все шаги, кроме последнего достаточно тривиальны, за исключением мелочи — человек (из 1С) настраивающий сервер со стороны винды сообщил о каких-то ошибках которые лечатся запуском скрипта /opt/1C/8.2/i386/utils/config-server (актуально только для 1C 8.2). Скрипт капризный, требует указания пути к мелкомягким шрифтам, потому понадобилось установить fonts-ttf-ms и конвертер ttf2pt1, после чего скрипт запускается с указанием пути к каталогу шрифтов как параметра командной строки и молча отрабатывает. Помогло.
Настройка Apache для веб-клиентов документооборота
Описан дефолтный вариант — подкаталог в основном сайте. В примерах используется версия сервера 1С 8.3.
Настройка проводится в четыре шага:
- Надо создать в домашнем каталоге пользователя usr1cv82 в случае 1С 8.2 или usr1cv8 в случае 1C 8.3 корень будущего сервера
- положить в него файл-описание подключения к серверу (*.vrd),
- затем подключить модуль 1С к апачу
- и создать конфиг хоста в апаче.
Информация о модуле:
- имя модуля: _1cws_module
- файл модуля 1C 8.* для apache 2.2: /opt/1C/v8.*/x86_64/wsap22.so
- файл модуля 1C 8.* для apache 2.4: /opt/1C/v8.*/x86_64/wsap24.so
- файл модуля 1C 8.* для apache 2.0: /opt/1C/v8.*/x86_64/wsapch2.so
На 2017 год внедренцы рекомендуют использовать apache 2.2, хотя в пакете 1C_Enterprise83-ws есть модули для apache 2.0, 2.2 и 2.4.
Шаг 1. Создаем корень сервера
install -d -o usr1cv8 -g grp1cv8 ~usr1cv8/www/DemoApp
Это просто каталог, владельцы которого usr1cv8:grp1cv8 (или можно сделать apache2:grp1cv8 и дать права доступа владельцу только на чтение).
Надо позаботиться о том, чтобы apache2 мог его увидеть в ~usr1cv8:
chmod 750 ~usr1cv8 usermod -a -G grp1cv8 apache2
Остальное можно сделать автоматически разом либо вручную поэтапно. Второй способ гибче, например, можно назначить каждой информационной базе отдельное доменное имя (создать VirtualHost).
Автоматически
В главе 7 документации администратора описана команда webinst.
Используя webinst, нужно создавать файл в /etc/httpd2/conf/extra-available/ и симлинк на него в /etc/httpd2/conf/extra-enabled/. Пример для версии 8.3:
touch /etc/httpd2/conf/extra-available/1c.conf /opt/1C/v8.3/x86_64/webinst -publish -apache22 -wsdir DemoApp -dir ~usr1cv8/www/DemoApp -connstr "Srvr=127.0.0.1;Ref=doc_demo;" -confpath /etc/httpd2/conf/extra-available/1c.conf ln -s ../extra-available/1c.conf /etc/httpd2/conf/extra-enabled/1c.conf
Смотрим, что получилось:
# cat /etc/httpd2/conf/extra-enabled/1c.conf LoadModule _1cws_module "/opt/1C/v8.3/x86_64/wsap22.so" # 1c publication. # В вашей конфигурации путь может быть другим! Alias "/crm" "/home/usr1cv8/www/DemoApp/"
AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/home/usr1cv8/www/DemoApp/default.vrd" # cat ~usr1cv8/www/DemoApp/default.vrdВручную
Шаг 2: пишем default.vrd
В ~usr1cv8/www/DemoApp/ надо создать файл default.vrd такого содержания:
В третьей строке значение параметра «base» отражает тот факт, что ~usr1cv8/www/DemoApp — корень веб-интерфейса информационной базы.
В четвертой строке в параметре «ib» указана строка подключения к информационной базе (connection string), в примере IP сервера — 192.0.2.54 (можно указать доменное имя интерфейса, можно localhost), база 1С называется «doc_demo». База должна быть создана в Конфигураторе.
Правильное значение connection string посмотрите в клиенте 1С внизу окна выбора информационной базы.Шаг 3: Добавляем модуль в конфигурацию apache
Для этого в /etc/httpd2/conf/mods-available создаём файл _1cws_module.load:
echo LoadModule _1cws_module /opt/1C/v8.*/i386/wsap22.so > /etc/httpd2/conf/mods-available/_1cws_module.load
Затем включаем его в работу:
ln -s ../mods-available/_1cws_module.load /etc/httpd2/conf/mods-enabled/_1cws_module.load
Шаг 4. Конфиг хоста
Простейший вариант — подкаталог в стандартном сайте.
Cоздаем файл /etc/httpd2/conf/include/1c.conf такого вида:
Alias /DemoApp /home/usr1cv8/www/DemoApp
AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor /home/usr1cv8/www/DemoApp/default.vrd Включаем /etc/httpd2/conf/include/1c.conf в конфигурацию стандартного виртуального хоста:
sed 's,\(
Другой вариант - виртуальный хост со своим доменным именем.
- Cоздаем файл /etc/httpd2/conf/sites-available/1c.conf
# ~usr1cv8 назначен в /var/lib/1cv8 AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor /var/lib/1cv8/www/DemoApp/default.vrd servername 1c.example.net documentRoot /var/lib/1cv8/www/DemoApp ErrorLog "/var/log/httpd2/1c_log" TransferLog "/var/log/httpd2/1c_log"Проверка
Перезапускаем апач. Если ругнулся на ManagedApplicationDescriptor, значит модуль от 1С не загрузился.
Проверяем с клиента по адресу http://IP/DemoApp — должна показаться морда информационной базы.
Для входа далее нужен специальный клиентский ключ. Программные ключи предоставляет специальная win32-only программа. Обычно ключи запрашивает у неё и распределяет между клиентами сам сервер. Первые 8 клиентов работают без него, при этом, если настроен технологический журнал, в его файлах rpmngr на каждое обращение клиента сообщает об отсутствии лицензии.
Размещение пользовательских файлов конфигурации “Документооборот”
В конфигурации “1С:Документооборот” есть возможность хранить произвольные файлы в информационной базе. В действительности они хранятся не в СУБД, а в виде файлов. Подходящее место для таких файлов - домашний каталог пользователя usr1cv8, например, подкаталог ~usr1cv8/1sfiles. Перед использованием его нужно создать:
install -d -o usr1cv8 -g grp1cv8 -m2770 ~usr1cv8/1sfiles
А затем посмотрите, какой он в файловой системе (ls -d ~usr1cv8/1sfiles) и укажите его в конфигурации.
Часто возникающие проблемы
В файле ~usr1cv81/.1cv81/1C/1Cv81/reg_1541/1CV8Reg.lst (версия 8.1) или ~usr1cv8/.1cv8/1C/1cv8/reg_1541/1CV8Clst.lst (версия 8.3) можно найти конфигурацию кластера 1С в формате JSON. Например, такую:
Для работы с spt вы должны иметь установленные и настроенные hasher и spt. Читайте соответствующие руководства.
Либо вы можете взять готовый ovz-шаблон отсюда.
Далее размещаем шаблон в /var/lib/vz/template/cache/
cp altlinux-1c-server.tar.gz /var/lib/vz/template/cache/
и создаём ovz-инстанцию:
vzctl create 101 --ostemplate altlinux-1c-server --config myserver
Здесь 101 — это номер инстанции (у вас он может быть другой) и myserver - конфигурация сервера; вам также нужно произвести её самостоятельно, для чего читайте руководство по OpenVZ.
vzctl start 101
Копируем внутрь rpm-пакеты с 1С-сервером:
cp 1C_Enterprise-* /var/lib/vz/root/101/root/
После этого можно зайти в инстанцию и установить пакеты 1С-сервера:
vzctl enter 101 entered into VE 101 cd /root apt-get install 1C_Enterprise-common-8.1.8-76.i386.rpm 1C_Enterprise-server-nls-8.1.8-76.i386.rpm 1C_Enterprise-common-nls-8.1.8-76.i386.rpm 1C_Enterprise-server-8.1.8-76.i386.rpm
1С:Предприятие на системах Эльбрус
Вынесено в отдельную статью.
- 1.4.1 Вопросы безопасности
