Как установить 1с в altlinux
Запустить из каталога, в котором лежат только скаченные файлы, команду:
apt-get install *.rpm
или такую команду:
apt-get install libpq5.2-8.4eter-8.4.4-alt0.M50.1.1.i586.rpm postgresql-8.4eter-8.4.4-alt0.M50.1.1.i586.rpm postgresql-8.4eter-contrib-8.4.4-alt0.M50.1.1.i586.rpm postgresql-8.4eter-server-8.4.4-alt0.M50.1.1.i586.rpm
Если у apt-а правильно настроен репозитарий, то недостающие файлы скачаются из интернета сами и установятся вместе с указанными.
Для того, чтобы создались конфигурационные и другие файлы сервера баз данных по пути /var/lib/pgsql/data/, запустим сервер postgreSQL:
При каждом изменении конфигурационных файлов нужно перегружать сервер postgreSQL, например командой /etc/init.d/postgresql restart.
Необходимо произвести некоторую настройку сервера postgreSQL. Открываем файл /var/lib/pgsql/data/postgresql.conf находим и редактируем следующие значения:
По инструкция в интернете вставил пару строк (помечены красным цветом), одну из которых закоментировал, т.к. сервер PostgreSQL не стартовал с ней.
Кусочек файла /var/lib/pgsql/data/postgresql.conf:
Открываем файл /var/lib/pgsql/data/pg_hba.conf открываем (от комментария) строки с локальными адресами и добавляем строку с нашей подсетью. Изменения указаны красным и синим цветом:
Если не удаётся с клиентских машин подключиться к серверу, то параметр ident для локальной сети временно можно заменить на trust.
Варианты запуска сервера postreSQL:
Смена пароля пользователя postgres на сервере pgsql:
Выход из консоли pgsql:
список всех баз на сервере pgsql
Установка сервера 1C:Enterprise
1C_Enterprise82-common-8.2.12-92.i386.rpm
1C_Enterprise82-common-nls-8.2.12-92.i386.rpm
1C_Enterprise82-server-8.2.12-92.i386.rpm
1C_Enterprise82-server-nls-8.2.12-92.i386.rpm
1C_Enterprise82-ws-8.2.12-92.i386.rpm
1C_Enterprise82-ws-nls-8.2.12-92.i386.rpm
1C_Enterprise82-crs-8.2.12-92.i386.rpm
1C_Enterprise82-crs-nls-8.2.12-92.i386.rpm
Запустить из каталога, в котором лежат файлы сервера 1C:Enterprise, команду:
apt-get install *.rpm
В консоли 1С создаём наш Центральный сервер 1С:Предприятия 8.2
Вводим параметры нашего сервера 1С:Предприятия - имя и описание. Остальное уже установлено по умолчанию.
В списках серверов появится наш сервера 1С:Предприятия.
Дабавим Администратора для управления сервером 1С.
Введём имя и пароль Администратора 1С.
При обращении к базам сервера будет запрашиваться имя и пароль Администратора 1С.
Если имя и пароль введены верно, то вам откроются соответвующие параметры.
Заводить базу 1С на сервере надо с клиентской машины, т.к. база 1С будет строиться по шаблону который должен быть на клиенской машине. Инструкция по созданию базы 1С на Linux сервере 1С Enterprise с клиентской макшины.
Параметры базы данных на сервере 1С:Предприятия
Данная инструкция описывает быстрое развёртывание клиента 1С:Предприятие 8.3 на десктопных дистрибутивах ALT Linux.
- 1С:Предприятие 8.3.3.658 (клиент, 64-битная сборка)
- Альт Линукс 7.0 Кентавр x86_64 (обновлён из p7 на 10 июля 2013 года)
- 1С:Предприятие 8.3.3.658 (клиент, 32-битная сборка)
- Альт Линукс 7.0 Кентавр i586 обновлён из p7 на 10 июля 2013 года)
Все действия осуществляются в графическом терминале под правами пользователя root.
Содержание
Самый простой способ установить поддержку ключа защиты — установить пакет haspd от Etersoft. Он собран для большинства дистрибутивов. В ALT Linux он устанавливается командой:
Вставим ключ в порт USB и включим/запустим службу
Установим все зависимости для пакетов 1С:Предприятия, а также исправление зависимостей на libWand.so:
Перейдём в каталог, содержащий архивы client.rpm64.tar.gz и rpm64.tar.gz (которые предварительно были скачаны с сайта 1С), распакуем их:
и установим распакованные пакеты:
Установка занимает около 1 ГБ жёсткого диска.
Для правильного отображения шрифтов при запуске нужно установить шрифты от Microsoft®:
Примечание: По лицензии этот пакет не может распространяться в составе дистрибутива, но его можно установить из онлайнового репозитория
Однако эти шрифты будут невидимы 1С. Создайте символическую ссылку на уровне системы:
или для отдельного пользователя:
Всё это реализовано в 1c-preinstall-full с версии 8.3-alt6 .
Установить пакет 1c-preinstall , как описано выше.
При недоступности библиотеки libWand.so удостоверьтесь, что установлена библиотека libImageMagick и выполните (под правами root):
в 32-битной системе:
в 64-битной системе:
При попытке запуска сетевой БД можно увидеть ошибку:
В Windows ошибка более информативна:
Решается явным указанием IP-адреса сервера в /etc/hosts (ну или в настройках подключения базы сразу указать IP)
Унифицированная статья для разворачивания сервера 1С:Предприятие 8.3 и 8.2.
- Краткая инструкция для установки клиента 1С:Предприятие 8.3 вынесена на отдельную страницу.
- Инструкция по установке сервера 1С:Предприятие 8.x.
Содержание
Установка сервера 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_Enterprise82-server… — Сервер 1С Предприятие 8.3 для Linux
- 1C_Enterprise82-ws… — Компоненты Web-сервисов 1С Предприятие 8.3 для Linux
Также для каждого из этих компонентов присутствуют пакеты -nls с поддержкой национальных символов.
Подготовка к установке
Сначала проверьте настройку интернационализации системы:
Дело в том, что если сервер 1С не найдёт тут кодировки ru_RU.UTF-8 (например, если установка происходит в OVZ-контейнере), то он будет настойчиво пытаться подключиться к нашей базе с локалью en_EN.UTF-8. А в chroot postgresql копируется только та локаль, которая задана при создании базы. Таким образом 1С-сервер не сможет подключиться к базе.
Изменить локаль можно командой (подействует после перезагрузки):
Итак, данное руководство предполагает, что вы используете локаль 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, при этом не забывая обновить дистрибутив до последней версии.
Для установивших ОС с диска (а не разворачивающих ovz-контейнер) с кодировками быть проблем не должно.
В любом случае, проверяйте locale. Если нет UTF-8, устанавливайте:
При попытке первого запуска сервиса (инициализации базы данных) postgresql версии 9.0.4 может ругаться на отсутствующий каталог базы данных (/var/lib/pgsql/data), после ручного его создания (install -d -o postgres -g postgres /var/lib/pgsql/data) СУБД инициализируется нормально. Как рекомендует скрипт проверки базы, можно выполнить /etc/init.d/postgresql initdb, он создаёт также все необходимые файлы конфигурации.
После этого открываем файл /var/lib/pgsql/data/postgresql.conf и проверяем, чтобы postgres слушал нужный интерфейс, имел соответствующую локаль и настройки, описанные в документации 1С-сервера. Вот пример работающего файла конфигурации (закомментированные строки пропущены).
Пожалуйста, не копируйте себе бездумно эту конфигурацию! В комментариях дефолтного postgresql.conf находится много полезной информации
Учтите, что эта настройка далека от идеальной и производительной. Данное руководство не ставит перед собой такой задачи, поэтому настроить Postgresql под свои нужды вам надо будет самостоятельно (вот, к примеру, руководство по настройке производительности, а вот официальная документация по используемой версии PostgreSQL)
Также учтите, что postgres использует разделяемую память (shared memory) и в ядре есть ограничения, возможно, придётся их увеличить:
- 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"). Как минимум, можно сделать так:
Что означает разрешение подключаться с любых адресов к любым базам с авторизацией по паролю.
Для первоначальной настройки достаточно сменить пароль суперпользователя СУБД:
Не забываем поставить СУБД на автостарт (годится и для sysvinit, и для systemd):
На этом настройка Postgresql завершена. Настоятельно рекомендуется настроить автоматическое резервное копирование.
Вопросы безопасности
Доступ через сокет unix
По умолчанию в файле /var/lib/pgsql/data/postgres.conf задано, что postresql создаёт сокет с правами доступа 0777 ("все могут писать-читать"), при этом в /var/lib/pgsql/data/pg_hba.conf при подключении через сокет нет проверки пользователя.
Есть два пути решения.
1. Разрешить доступ к сокету только членам группы postgres в файле postgres.conf:
2. Требовать аутентификацию при подключениях серез сокет в файле pg_hba.conf:
В первом случае, если сервер 1С будет подключаться к postresql через сокет unix, нужно включить пользователя usr1cv8 в группу postgres:
Обычно это не нужно — используется подключение TCP.
Доступ через TCP
Установите пароль пользователя postgres
Затем в файле pg_hba.conf укажите требование аутентификации для подключений через сокеты TCP (исходно там указано "trust" - то есть без аутентификации):
Установка и запуск защиты HASP
Для сервера 1С на Linux не требуется серверный ключ при количестве подключенных пользователей менее 10. Устанавливаем менеджер лицензий:
После его установки достаточно запустить сервис:
Проверяем, будет ли он запускаться при загрузке:
Если на уровнях 3 и 5 не включен - включите:
Примечание: текущая версия haspd не видит свежевоткнутые ключи и требует перезапуска после их подключения во время работы службы.
Установка и запуск сервера 1С
Заходим в каталог с распакованным rpm64.tar.gz и выполняем следующую команду (с поправкой на свою версию):
Для нормальной работы тонкого и 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С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно. Разумеется, можно подключить технологический журнал. Но даже самое усердное курение самого подробного технологического журнала может оказаться малопродуктивно, если мы имеем дело с чем-то вроде "Unknown error".
Порты, которые слушает 1С:
Создание сервера предприятия
Из Windows это можно сделать так:
После создания (или загрузки базы) можно подключаться к серверу толстым или тонким клиентом, для Web-доступа базу нужно дополнительно опубликовать (см. ниже)
Установка сервера 1С Предприятие 8.2 или 8.3 на ALT Linux для документооборота
Стенд для 1С:Документооборот разворачивали двое - представитель ALT Linux и представитель 1c-kpd.
Опишу линуксовую часть.
Все шаги, кроме последнего достаточно тривиальны, за исключением мелочи - человек (из 1С) настраивающий сервер со стороны винды сообщил о каких-то ошибках которые лечатся запуском скрипта /opt/1C/8.2/i386/utils/config-server
Скрипт капризный, требует указания пути к мелкомягким шрифтам, потому понадобилось установить 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. Создаем корень сервера
Это просто каталог, владельцы которого usr1cv8:grp1cv8 (или можно сделать apache2:grp1cv8 и дать права доступа владельцу только на чтение).
Надо позаботиться о том, чтобы apache2 мог его увидеть в /home/usr1cv8:
Остальное можно сделать автоматически разом либо вручную поэтапно. Второй способ гибче, например, можно назначить каждой информационной базе отдельное доменное имя (создать VirtualHost).
Автоматически
В главе 7 документации администратора описана команда webinst.
Смотрим, что получилось:
В третьей строке значение параметра "base" отражает тот факт, что /home/usr1cv8/www/DemoApp - корень веб-интерфейса информационной базы.
В четвертой строке в параметре "ib" указана строка подключения к информационной базе (connection string), в примере IP сервера — 192.0.2.54 (можно указать доменное имя интерфейса, можно localhost), база 1С называется "doc_demo". База должна быть создана в Конфигураторе.
Правильное значение connection string посмотрите в клиенте 1С внизу окна выбора информационной базы.Шаг 3: Добавляем модуль в конфигурацию apache
Затем включаем его в работу:
Шаг 4. Конфиг хоста
Проверка
Перезапускаем апач. Если ругнулся на ManagedApplicationDescriptor, значит модуль от 1С не загрузился.
Часто возникающие проблемы
В файле /home/usr1cv81/.1cv81/1C/1Cv81/reg_1541/1CV8Reg.lst можно найти конфигурацию кластера 1С. Например, у меня он выглядит так:
- 1С не сможет подключиться к базе Postgresql, если настройки локали не совпадают. Так что приведите параметр Locale= в соответствие с настройками вашей базы.
- А ещё 1С берёт значение хоста откуда угодно, только не из настроек, введённых пользователем. :) При необходимости укажите правильные имена хостов для «Центрального сервера» и «Локального кластера» вручную. Однако если у вас правильно настроена обратная зона DNS, ручных исправлений не потребуется.
Установка 1С-сервера в OVZ-контейнер
Для начала создадим ovz-инстанцию.
Можно воспользоваться готовым spt-профилем из пакета spt-profiles-ovz-1C
Установка профиля производится так
Для работы с spt вы должны иметь установленные и настроенные hasher и spt. Читайте соответствующие руководства.
Либо вы можете взять готовый ovz-шаблон отсюда.
Далее размещаем шаблон в /var/lib/vz/template/cache/
и создаём ovz-инстанцию:
Здесь 101 — это номер инстанции (у вас он может быть другой) и myserver - конфигурация сервера; вам также нужно произвести её самостоятельно, для чего читайте руководство по OpenVZ.
Унифицированная статья для разворачивания сервера 1С:Предприятие 8.3 и 8.2.
- Краткая инструкция для установки клиента 1С:Предприятие 8.3 вынесена на отдельную страницу. .
Содержание
- 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 с поддержкой национальных символов.
Сначала проверьте настройку интернационализации системы:
Дело в том, что если сервер 1С не найдёт тут кодировки ru_RU.UTF-8 (например, если установка происходит в OVZ-контейнере), то он будет настойчиво пытаться подключиться к нашей базе с локалью en_EN.UTF-8. А в chroot postgresql копируется только та локаль, которая задана при создании базы. Таким образом 1С-сервер не сможет подключиться к базе.
Изменить локаль можно командой (подействует после перезагрузки):
Итак, данное руководство предполагает, что вы используете локаль ru_RU.UTF-8 в качестве общесистемной. Если вы хотите использовать для доступа к БД имя хоста, а не IP, то хорошо бы настроить обратную DNS-зону. Это избавит вас от некоторых хлопот и возможной путаницы (подробности ниже).
Обязательно установите пакет i586-glibc-nss , если устанавливаете 32-битную версию 1С на x86_64 сервер - без этого не будет работать DNS в сервере 1С.
Стандартный Postgresql не будет работать с 1С, а rpm-пакеты с Postgres, которые идут в дистрибутиве 1C, предназначены только для установки на fedora-совместимых дистрибутивах. Устанавливаем пакеты от Etersoft, при этом не забывая обновить дистрибутив до последней версии.
Для Седьмой платформы ALT Linux есть более актуальные релизы от Postgres Pro. Там же можно найти документацию на русском. Для этого сначала подключаем репозитарий и затем устанавливаем (для )Для установивших ОС с диска (а не разворачивающих ovz-контейнер) с кодировками быть проблем не должно.
В любом случае, проверяйте locale. Если нет UTF-8, устанавливайте:
Создаём файлы базы данных:
В седьмой платформе при попытке первого запуска сервиса (инициализации базы данных) postgresql версии 9 и новее может ругаться на отсутствующий каталог базы данных (/var/lib/pgsql/data), после ручного его создания (install -d -o postgres -g postgres /var/lib/pgsql/data) СУБД инициализируется нормально. Как рекомендует скрипт проверки базы, можно выполнить /etc/init.d/postgresql initdb, он создаёт также все необходимые файлы конфигурации.
После этого открываем файл /var/lib/pgsql/data/postgresql.conf и проверяем, чтобы postgres слушал нужный интерфейс, имел соответствующую локаль и настройки, описанные в документации 1С-сервера. Вот пример работающего файла конфигурации (закомментированные строки пропущены).
Пожалуйста, не копируйте себе бездумно эту конфигурацию! В комментариях дефолтного postgresql.conf находится много полезной информации
Учтите, что эта настройка далека от идеальной и производительной. Данное руководство не ставит перед собой такой задачи, поэтому настроить Postgresql под свои нужды вам надо будет самостоятельно (вот, к примеру, руководство по настройке производительности, ещё конкретно для 1С, а вот официальная документация по используемой версии PostgreSQL)
- 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"). Как минимум, можно сделать так:
Что означает разрешение подключаться с любых адресов к любым базам с авторизацией по паролю.
Не забываем поставить СУБД на автостарт (годится и для sysvinit, и для systemd):
Затем запускаем его:
Для первоначальной настройки достаточно сменить пароль суперпользователя СУБД командой psql -h localhost -U postgres template1 или (короче) psql -U postgres :
На этом настройка Postgresql завершена.
По умолчанию в файле /var/lib/pgsql/data/postgres.conf задано, что postresql создаёт сокет с правами доступа 0777 ("все могут писать-читать"), при этом в /var/lib/pgsql/data/pg_hba.conf при подключении через сокет нет проверки пользователя.
Есть два пути решения.
1. Разрешить доступ к сокету только членам группы postgres в файле postgres.conf:2. Требовать аутентификацию при подключениях через сокет в файле pg_hba.conf:
В первом случае, если сервер 1С будет подключаться к postresql через сокет unix, нужно включить пользователя usr1cv8 в группу postgres:
Обычно это не нужно — используется подключение TCP.
Если это не было сделано, установите пароль пользователя postgres
Затем в файле pg_hba.conf укажите требование аутентификации для подключений через сокеты TCP (исходно там указано "trust" - то есть без аутентификации):
Для работы 1С можно создать отдельного пользователя или даже отдельного пользователя для каждой информационной базы 1С:
Возможно, понадобится также дополнительно назначить полные права пользователю: GRANT ALL ON DATABASE db1c TO cluster1c;
Проблема в том, что для работы 1С нужны права на создание и изменение функций в схеме public. (Самый простой путь тут - дать пользователю роль postgres, что эквивалентно работе с СУБД под суперпользователем: GRANT postgres TO cluster1c; . Если есть более корректный путь - укажите его здесь.)
В 2018 году обычно приобретаются и устанавливаются программные лицензии, аппаратный ключ используется редко. К тому же для сервера 1С на Linux технически не требуется серверный ключ при количестве подключенных пользователей менее 10, но сама лицензия на использование должна быть. В любом случае для клиентских компьютеров лицензии нужны, и если они хранятся на ключе, лучше всего подключить его к серверу и установить менеджер лицензий.
Устанавливаем менеджер лицензий:
После его установки достаточно запустить сервис:
Проверяем, будет ли он запускаться при загрузке:
Если на уровнях 3 и 5 не включен - включите:
Примечание: текущая версия haspd не отслеживает события USB и требует перезапуска после подключения ключа во время работы службы.
Заходим в каталог с распакованным rpm64.tar.gz и выполняем следующую команду (с поправкой на свою версию):
Серверу 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
также для остановки и перезапуска можно использовать, соответственно, команды:
а для просмотра статуса, команду:
Важно: эти два момента уже описаны в нескольких разделах этой статьи и не ясно наверняка оба ли они нужны для успешного старта сервиса.
1. У самого файла /opt/1cv8/x86_64/8.3.19.1229/srv1cv83 шебанг должен быть не
2. Сервер может не стартовать из-за отсутствия файла (но это не точно)
, который отсутствует в ОС Альт
Его можно создать так:
1С ведёт журнал действий пользователя для каждой информационной базы. Эти журналы сохраняются в домашнем каталоге пользователя usr1cv8. К сожалению, эти журналы не ограничены в размерах средствами 1С и в некоторый момент том будет переполнен, из-за чего сервер 1С будет отвергать соединения клиентов. Одно из решений — отключить журнал в конфигураторе.
Если журнал нужен, решение простое — нужно настроить ротацию файлов ~usr1cv8/.1cv8/1C/1cv8/reg_*/*/1Cv8Log средствами logrotate.
Также полезно создать для домашнего каталога пользователя usr1cv8 отдельный том и/или назначить профиль пользователя в каталог /var/lib/1cv8 (usermod -d /var/lib/1cv8 usr1cv8 ; mv /home/usr1cv8 /var/lib/)
Пример файла /etc/logrotate.d/srv1cv8 (цифры в имени каталога "reg_1541" - номер порта, на котором процесс rmngr принимает подключения клиентов):
К сожалению, 1С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно. Разумеется, можно подключить технологический журнал. Но даже самое усердное курение самого подробного технологического журнала может оказаться малопродуктивно, если мы имеем дело с чем-то вроде "Unknown error".
Порты, которые слушает 1С:
Из Windows это можно сделать так:
Имя кластера лучше задавать в виде адреса IP, иначе на каждом компьютере с клиентом 1С придётся обеспечить разрешение имени сервера в адрес.
Информационные базы создаются прямо из оснастки управления кластером 1С:Предприятие, либо при запуске Конфигуратора. Для каждой ИБ нужна своя база данных в postgres. При этом можно задать для каждой такой БД своего пользователя в postgres, но для работы с 1С пользователю postgres нужна роль postgres — точнее, нужны права на создание и удаление функций в схеме public.
После создания (или загрузки базы) можно подключаться к серверу толстым или тонким клиентом, для Web-доступа базу нужно дополнительно опубликовать (см. ниже)
Файлы конфигурации и рабочие файлы информационной базы (временные, протоколы, . ) размещены в ~usr1cv8/.1cv8
Из Linux это можно сделать так:
Войдите в меню Все функции. - Стандартные - Управление серверами тонкого или толстого клиента 1С:Предприятие 8.3. Для управления кластером клиентское приложение требует RAS, запущенный на рабочем сервере к которому идёт обращение. Создайте центральный сервер аналогично тому, как описано для Windows.
Стенд для 1С:Документооборот разворачивали двое - представитель ALT Linux и представитель 1c-kpd.
Опишу линуксовую часть.
Все шаги, кроме последнего достаточно тривиальны, за исключением мелочи - человек (из 1С) настраивающий сервер со стороны винды сообщил о каких-то ошибках которые лечатся запуском скрипта /opt/1C/8.2/i386/utils/config-server (актуально только для 1C 8.2). Скрипт капризный, требует указания пути к мелкомягким шрифтам, потому понадобилось установить fonts-ttf-ms и конвертер ttf2pt1, после чего скрипт запускается с указанием пути к каталогу шрифтов как параметра командной строки и молча отрабатывает. Помогло.
Описан дефолтный вариант — подкаталог в основном сайте. В примерах используется версия сервера 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. Создаем корень сервера
Это просто каталог, владельцы которого usr1cv8:grp1cv8 (или можно сделать apache2:grp1cv8 и дать права доступа владельцу только на чтение).
Надо позаботиться о том, чтобы apache2 мог его увидеть в ~usr1cv8:
Остальное можно сделать автоматически разом либо вручную поэтапно. Второй способ гибче, например, можно назначить каждой информационной базе отдельное доменное имя (создать VirtualHost).
В главе 7 документации администратора описана команда webinst.
Смотрим, что получилось:
В ~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
Затем включаем его в работу:
Шаг 4. Конфиг хоста
Простейший вариант - подкаталог в стандартном сайте.
Другой вариант - виртуальный хост со своим доменным именем.
Перезапускаем апач. Если ругнулся на ManagedApplicationDescriptor, значит модуль от 1С не загрузился.
Для входа далее нужен специальный клиентский ключ. Программные ключи предоставляет специальная win32-only программа. Обычно ключи запрашивает у неё и распределяет между клиентами сам сервер. Первые 8 клиентов работают без него, при этом, если настроен технологический журнал, в его файлах rpmngr на каждое обращение клиента сообщает об отсутствии лицензии.
В конфигурации “1С:Документооборот” есть возможность хранить произвольные файлы в информационной базе. В действительности они хранятся не в СУБД, а в виде файлов. Подходящее место для таких файлов - домашний каталог пользователя usr1cv8, например, подкаталог ~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/
и создаём ovz-инстанцию:
Здесь 101 — это номер инстанции (у вас он может быть другой) и myserver - конфигурация сервера; вам также нужно произвести её самостоятельно, для чего читайте руководство по OpenVZ.
Установка Платформы «1С:Предприятие» в ОС Linux
Перед началом установки необходимо скачать дистрибутивы, которые понадобятся в дальнейшем. В данном примере мы будем устанавливать:
- Сервер «1С:Предпритие» 64-bit версии 8.3.13.1644. Пакеты для установки доступны здесь:
- Если для сервера использоваться ключи аппаратной защиты HASP, то необходимо установить на сервер драйвер защиты HASP. Последние версии для различных операционных систем можно скачать:
Если в дальнейшем работа с сервером «1С:Предприятие» на Linux и управление будет осуществляться c других машин, необходимо убедиться в том, что ip-адрес компьютера, на котором расположен сервер, будет корректно разрешаться в его hostname. Откроем консоль сервера от имени пользователя root и получим адрес компьютера:
Имя компьютера можно получить так:
Теперь данные о соответствии ip-адреса и имени необходимо внести в файлы hosts тех машин, откуда будут устанавливаться соединения с кластером серверов:
Для Windows он расположен обычно:
В противном случае при установке клиентского соединения с рабочим процессом кластера будет возникать ошибка.
Установка платформы в Debian-системах на примере Ubuntu Server 16.04
- Откроем консоль сервера от имени пользователя root.
- Создадим директорию, куда поместим (любым удобным образом) архив с Deb-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
- Войдем в каталог /1c/soft/1с:
Распакуем архив (при помощи команды tar xzf):
- Для установки пакетов удобнее всего воспользоваться утилитой gdebi. Если она не была ранее установлена, это можно сделать при помощи команды:
Устанавливаем сервер «1С:Предприятие»:
Последние три nls-пакета содержат языковые файлы и требуют обязательной установки только в том случае, если будут использоваться языки, отличные от русского и английского.
Установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.
- Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts:
Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:
- Устанавливаем дополнительные внешние библиотеки:
- Запускаем службу:
Проверить статус работы можно при помощи команды:
Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.
Проверить, запущены ли процессы кластера, можно при помощи команды:
Перейдем к установке драйвера HASP. Для данного примера скачиваем драйвер по адресу:
Для установки драйвера выполняем следующие действия:
- Создадим каталог /1c/soft/hasp:
- В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
- Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
- Устанавливаем драйвер:
- Запускаем драйвер защиты HASP:
Проверить статус можно так:
Установка платформы в RPMS на примере CentOS 7
- Откроем консоль от имени root.
- Создадим директорию, куда поместим (любым удобным образом) архив с RPM-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
- Перейдем в директорию /1c/soft/1с
tar xzf rpm64_8_3_13_1644.tar.gz
В данном примере будут установлены все пакеты, но, если в вашей системе не планируется использовать языки, отличные от русского и английского, nls-пакеты вы можете не устанавливать - они содержат только языковые файлы.
Для пакетов x86_64 установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.
- Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts.
- Скачиваем любым удобным образом (например, при помощи wget) файлы пакета с сервера SourceForge:
Надо скачать все .exe-файлы, кроме wd97vwr32.exe.
- Переименовываем все скачанные .exe-файлы, присвоив им расширение .zip, после чего распакуем их и удалим все, кроме имеющих расширение .ttf – это файлы шрифтов.
- Файлы шрифтов (.ttf-файлы) копируем в каталог /usr/share/fonts/truetype/
Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:
- Устаналиваем дополнительные внешние библиотеки:
- Запускаем службу:
Проверить статус работы можно при помощи команды:
Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.
Проверить, запущены ли процессы кластера, можно при помощи команды:
Перейдем установке драйвера HASP. Для данного примера скачиваем драйвер по адресу :
Для установки драйвера выполняем следующие действия:
- Создадим каталог /1c/soft/hasp:
- В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
- Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
- Устанавливаем драйвер:
- Запускаем драйвер защиты HASP:
Проверить статус можно так:
Основные проблемы и вопросы по установке Платформы «1С:Предприятие» в Linu x
1. При работе возникают ошибки «Не найдена библиотека …»
В зависимости от вашего дистрибутива Linux и функционала системы для корректной работы 1С:Предприятие вам может понадобиться дополнительно самостоятельно установить внешние библиотеки. Полный список их представлен в документации:
Обратите внимание, что в документации указано именно имя библиотеки, а не имя пакета. Имя пакета, в который она входит, может отличаться в разных дистрибутивах. В какие именно пакеты входит библиотека, обычно можно найти в репозитории для вашей ОС.
2. Как запустить сервер в режиме отладки?
Для того, чтобы на сервере была доступна отладка, необходимо запустить его в ключом –debug. Для этого сначала остановим сервер "1С:Предприятие":
ВАЖНО! Не редактируйте параметры запуска сервера в процессе его работы, это может привести к ошибкам при его перезапуске.
Теперь необходимо отредактировать параметры его запуска в конфигурационном файле srv1cv83 (в данном примере с использованием редактора vim):
Сохраняем изменения и выходим из файла.
Перезапускаем сервер «1С:Предприятия 8»:
3. Где находится каталог данных кластера серверов и как его изменить?
По умолчанию каталог кластера находится в директории пользователя, от имени которого запущен сервер 1С:Предприятие - $HOMEDIR/.1cv83/1C/1Cv83, например:
Для того, чтобы изменить место изменить место расположения, необходимо, по аналогии с п. 1, изменить параметр SRV1CV8_DATA запуска в конфигурационном файле /etc/sysconfig/srv1cv83.
ВАЖНО! Не забудьте убедиться в наличии прав на директорию данных кластера у пользователя, от имени которого запущен сервер. Увидеть права можно при помощи команды:
Предоставить права можно так:
В конфигурационном файле /etc/sysconfig/srv1cv83 также задаются порты, на которых будут работать процессы кластера, и другие параметры запуска.
4. Как настроить технологический журнал сервера в Linux ?
На сервере создадим каталоги, в который будут помещаться файлы журнала:
Создадим каталог для настроек журнала /opt/1C/v8.3/x86_64/conf:
Поместим в этот каталог файл logcfg.xml со следующим (например) содержимым:
В данном случае собирается полный технологический журнал (не стоит делать так на постоянной основе в продуктиве), срок хранения файлов журналов - 24 часа, находиться они будут в директории /var/log/1c/logs.
ВАЖНО! Необходимо предоставить пользователю, от имени которого работает сервер 1С:Предприятие, права на запись в каталог логов. Например, так:
- Создадим группу пользователей grp1clogs, которой будут даны права на журнал:
- Дадим права этой группе на каталоги журнала:
5. Почему не формируются дампы, если их сбор настроен в logcfg.xml?
По умолчанию в linux создание дампов отключено. Для настройки сбора дампов НЕ используется logcfg.xml, она осуществляется в ОС.
Читайте также: