1C

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(немного актуализировал)
Строка 3: Строка 3:
[[Категория:Enterprise Software]]
[[Категория:Enterprise Software]]
-
{{Note|Это подробная, но устаревшая инструкция для 1С:Предприятие 8.2. Краткая инструкция для установки клиента 1С:Предприятие 8.3 вынесена на [[1C/Quick|отдельную страницу]].}}
+
{{Note|Унифицированная статья для разворачивания сервера 1С:Предприятие 8.3 и 8.2.  
 +
Краткая инструкция для установки клиента 1С:Предприятие 8.3 вынесена на [[1C/Quick|отдельную страницу]].}}
-
===  Установка сервера 1С:Предприятие 8.2 на ALT Linux ===
 
-
==== Состав сервера 1С ====
+
===   Подключение необходимых репозиториев ALT Linux ===
 +
На текущий момент рабочей СУБД является PostgreSQL 9.0 [http://lists.altlinux.org/pipermail/sysadmins/2013-December/036506.html] версии от Etersoft
 +
Пакеты для аппаратного ключа защиты берем у них же.
 +
 +
Итого наш конфиг репозитория приобретает следующий вид:
 +
<pre>cat /etc/apt/sources.list.d/byfly.list
 +
rpm      ftp://ftp.etersoft.ru/pub/Etersoft/Postgre@Etersoft/9.0.4 x86_64/ALTLinux/p7 main
 +
rpm      ftp://ftp.etersoft.ru/pub/Etersoft/Postgre@Etersoft/9.0.4 x86_64/ALTLinux/p7/extra main
 +
rpm      ftp://ftp.etersoft.ru/pub/Etersoft/HASP/3.3 x86_64/ALTLinux/p7 main
 +
 +
rpm [p7] ftp://ftp.byfly.by/pub/ALTLinux/p7/branch x86_64 classic
 +
rpm [p7] ftp://ftp.byfly.by/pub/ALTLinux/p7/branch x86_64-i586 classic
 +
rpm [p7] ftp://ftp.byfly.by/pub/ALTLinux/p7/branch noarch classic</pre>
 +
 +
===  Установка сервера 1С:Предприятие на ALT Linux ===
 +
 +
==== Состав сервера 1С ====
 +
Для версии 8.2:
* 1C_Enterprise82-common… — Общие компоненты 1С Предприятие 8.2 для Linux
* 1C_Enterprise82-common… — Общие компоненты 1С Предприятие 8.2 для Linux
* 1C_Enterprise82-crs… — Компоненты хранилища конфигураций 1С Предприятие 8.2 для Linux
* 1C_Enterprise82-crs… — Компоненты хранилища конфигураций 1С Предприятие 8.2 для Linux
* 1C_Enterprise82-server… — Сервер 1С Предприятие 8.2 для Linux
* 1C_Enterprise82-server… — Сервер 1С Предприятие 8.2 для Linux
* 1C_Enterprise82-ws… — Компоненты Web-сервисов 1С Предприятие 8.2 для Linux
* 1C_Enterprise82-ws… — Компоненты Web-сервисов 1С Предприятие 8.2 для Linux
-
+
 
-
Также для каждого из трёх компонентов присутствуют пакеты -nls с поддержкой национальных символов.
+
Для версии 8.3:
-
В этой статье описывается установка общего и серверного компонентов.
+
* 1C_Enterprise83-common… — Общие компоненты 1С Предприятие 8.3 для Linux
 +
* 1C_Enterprise82-server… — Сервер 1С Предприятие 8.3 для Linux
 +
* 1C_Enterprise82-ws… — Компоненты Web-сервисов 1С Предприятие 8.3 для Linux
 +
 
 +
Также для каждого из этих компонентов присутствуют пакеты -nls с поддержкой национальных символов.
==== Подготовка к установке ====
==== Подготовка к установке ====
Строка 30: Строка 51:
==== Устанавливаем Postgresql ====
==== Устанавливаем Postgresql ====
-
Стандартный Postgresql не будет работать с 1С, а rpm-пакеты с Postgres, которые идут в дистрибутиве 1C, предназначены только для установки на fedora-совместимых дистрибутивах. Поэтому для ALT Linux была собрана специальная версия этой СУБД — postgresql8.2.1C. Пакеты находятся [ftp://ftp.altlinux.org/pub/people/rt/1c-repo здесь], либо их можно установить из репозитория Sisyphus (Если потребует rpmlib(PayloadIsLzma), то apt-get install 'rpm>=4.0.4-alt93'):
+
Стандартный Postgresql не будет работать с 1С, а rpm-пакеты с Postgres, которые идут в дистрибутиве 1C, предназначены только для установки на fedora-совместимых дистрибутивах. Устанавливаем пакеты от Etersoft, при этом не забывая обновить дистрибутив до последней версии.
-
<pre>apt-get install postgresql-8.3eter postgresql-8.3eter-contrib postgresql-8.3eter-server</pre>
+
<pre>apt-get update
 +
apt-get dist-upgrade
 +
apt-get install postgre-etersoft9.0 postgre-etersoft9.0-contrib postgre-etersoft9.0-server glibc-i18ndata</pre>
-
Пробуем запустить:
+
Для установивших ОС с диска (а не разворачивающих ovz-контейнер) с кодировками быть проблем не должно.
-
<pre>service postgresql start</pre>
+
В любом случае, проверяйте locale. Если нет UTF-8, устанавливайте:
-
 
+
-
Для нормальной работы с базой, и чтобы не возникала проблема кодировок, проверяйте locale. Если нет UTF-8, устанавливайте:
+
<pre>localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8 # для российских баз
<pre>localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8 # для российских баз
-
localedef -c -i uk_UA -f UTF-8 uk_UA.UTF-8 # для украинских баз</pre>
+
localedef -c -i uk_UA -f UTF-8 uk_UA.UTF-8 # для украинских баз
-
 
+
localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8 # для белорусских баз</pre>
-
В /etc/chroot.d/postgresql.conf
+
-
строку
+
-
locale_dir=`ls -d /usr/lib/locale/$locale* | /usr/bin/tr ' ' «\n» | /bin/awk -F '/' '{print$5}'`
+
-
заменить на (для российских конфигураций)
+
-
locale_dir=`ls -d /usr/lib/locale/{ru_RU,en_US}* | /usr/bin/tr ' ' «\n» | /bin/awk -F '/' '{print$5}'`
+
-
заменить на (для украинских конфигураций)
+
-
locale_dir=`ls -d /usr/lib/locale/{ru_RU,en_US,uk_UA,ru_UA}* | /usr/bin/tr ' ' «\n» | /bin/awk -F '/' '{print$5}'`
+
-
 
+
-
Если locale не установлено или localedef ругается "character map file `UTF-8' not found: No such file or directory", устанавливаем glibc-i18ndata
+
-
<pre>apt-get install glibc-i18ndata</pre>
+
-
а потом
+
-
<pre>update_chrooted conf && service postgresql restart</pre>
+
-
Во время первого запуска создаются файлы конфигурации postgres и chroot-окружение. Поэтому открываем файл /var/lib/pgsql/data/postgresql.conf и проверяем, чтобы postgres слушал нужный интерфейс, имел соответствующую локаль и настройки, описанные в документации 1С-сервера. Вот пример работающего файла конфигурации (закомментированные строки пропущены). <div style="display: inline; color: red;">Пожалуйста, не копируйте себе бездумно эту конфигурацию! В комментариях дефолтного postgresql.conf находится много полезной информации</div>:
+
При попытке первого запуска сервиса (инициализации базы данных) postgresql версии 9.0.4 может ругаться на отсутствующий каталог /var/lib/postgresql, после ручного создания данной папке СУБД инициализируется нормально. После этого открываем файл /var/lib/pgsql/data/postgresql.conf и проверяем, чтобы postgres слушал нужный интерфейс, имел соответствующую локаль и настройки, описанные в документации 1С-сервера. Вот пример работающего файла конфигурации (закомментированные строки пропущены). <div style="display: inline; color: red;">Пожалуйста, не копируйте себе бездумно эту конфигурацию! В комментариях дефолтного postgresql.conf находится много полезной информации</div>:
<pre>listen_addresses = '*'
<pre>listen_addresses = '*'
Строка 76: Строка 85:
<pre>host    all        all        0.0.0.0/0            md5</pre>
<pre>host    all        all        0.0.0.0/0            md5</pre>
Что означает разрешение подключаться с любых адресов к любым базам с авторизацией по паролю.
Что означает разрешение подключаться с любых адресов к любым базам с авторизацией по паролю.
 +
Для первоначальной настройки достаточно сменить пароль суперпользователя СУБД:
Для первоначальной настройки достаточно сменить пароль суперпользователя СУБД:
<pre>[root@localhost ~]# psql -h localhost -U postgres template1
<pre>[root@localhost ~]# psql -h localhost -U postgres template1
template1=# ALTER USER postgres WITH PASSWORD 'secret';</pre>
template1=# ALTER USER postgres WITH PASSWORD 'secret';</pre>
 +
Не забываем поставить СУБД на автостарт:
 +
<pre>chkconfig postgresql on</pre>
На этом настройка Postgresql завершена.
На этом настройка Postgresql завершена.
==== Установка и запуск защиты HASP ====
==== Установка и запуск защиты HASP ====
 +
Для сервера 1С на Linux не требуется серверный ключ при количестве подключенных пользователей менее 10.
Для сервера 1С на Linux не требуется серверный ключ при количестве подключенных пользователей менее 10.
-
 
+
Устанавливаем менеджер лицензий:
-
Для установки ключей нужно скачать их с
+
<pre>apt-get update
-
[http://www.aladdin.com/support/hasp/enduser.aspx http://www.aladdin.com/support/hasp/enduser.aspx]
+
apt-get install haspd haspd-modules</pre>
-
HASP HL Device Driver Installation. Supports [[RedHat|RedHat]] и HASP HL Linux License Manager
+
-
установить
+
-
далее, не забываем:
+
-
<pre>mount -t usbfs none /proc/bus/usb</pre>
+
-
проверяем
+
-
<pre>service aksusbd start</pre>
+
-
Если статус «DONE», значит, ключи встали и сервер должен работать.
+
-
 
+
-
Кроме драйвера aksusbd обычно требуется и сетевой менеджер лицензий, от которого клиентские программы 1С будут получать информацию о ключе.
+
-
 
+
-
Удобным является использование пакета [http://wiki.etersoft.ru/HASP haspd от Etersoft]. Он собран для большинства дистрибутивов.
+
После его установки достаточно запустить сервис:
После его установки достаточно запустить сервис:
  service haspd start
  service haspd start
-
Будет проведена необходимая диагностика, смонтирована файловая система usbfs и запущен драйвер ключа и менеджер лицензии:
 
-
 
-
<pre>
 
-
# service haspd start
 
-
Running aksusbd...  [ DONE ]
 
-
Running winehasp...  [ DONE ]
 
-
Running hasplm...    [ DONE ]
 
-
</pre>
 
Проверка состояния:
Проверка состояния:
<pre>
<pre>
# service haspd status
# service haspd status
-
Hardware protection keys support bundle. Etersoft (c) 2008
+
 
-
: haspd.init,v 1.119 2008/10/30 19:02:47 lav Exp $
+
Hardware protection keys support bundle. Etersoft (c) 2008-2012
-
Aladdin HASP 4/HL driver status:
+
HASPD package 3.3 with /dev/bus/usb support
-
     kernel module aksparlnx is loaded
+
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
     aksusbd is running
     winehasp is running
     winehasp is running
     hasplm is running
     hasplm is running
-
Daemon version: 1.10 (#2566) - key API (USB) version: 3.88, key API (parallel driver) version: 3.86
+
    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:
Smartkey 3 USB/LPT driver status:
     skeyd is stopped
     skeyd is stopped
Строка 126: Строка 123:
     usbsentinel is stopped
     usbsentinel is stopped
     SntlKeysSrvrlnx is stopped
     SntlKeysSrvrlnx is stopped
-
Use eterkeytest [--hasp] [--sentinel] [--eutron] for test key presence
+
 
 +
Use $ eterkeytest [--hasp] [--sentinel] [--eutron] for test key presence
</pre>
</pre>
 +
Сервис на автостарт
 +
<pre>chkconfig haspd on</pre>
 +
  Примечание: текущая версия haspd не видит свежевоткнутые ключи и требует перезапуска после их подключения во время работы службы.
 +
==== Установка и запуск сервера 1С ====
==== Установка и запуск сервера 1С ====
-
Тут всё достаточно просто:
+
Заходим в каталог с распакованным rpm64.tar.gz и выполняем следующую команду (с поправкой на свою версию):
 +
<pre>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</pre>
-
<pre>rpm -Uvh 1C_Enterprise-server-nls-8.2.15-289.i386.rpm 1C_Enterprise-server-8.2.15-289.i386.rpm 1C_Enterprise-common-nls-8.2.15-289.i386.rpm 1C_Enterprise-common-8.2.15-289.rpm</pre>
+
Для нормальной работы тонкого и 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С сложены в текущем каталоге, так:
+
-
 
+
-
<pre>rpm -Uvh 1C*rpm</pre>
+
-
 
+
-
Для нормальной работы Web-клиента 1С Предприятия 8.2 также требуются: unixodbc, libgsf, glib2, ttf2pt1. Если планируется использовать 1С Предприятие в режиме Web-клиента, надо проверить их наличие и при необходимости установить.
+
Запуск:
Запуск:
<pre>service srv1cv82 start</pre>
<pre>service srv1cv82 start</pre>
 +
 +
И автозапуск
 +
<pre>chkconfig srv1cv83 on</pre>
 +
К сожалению, 1С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно.
К сожалению, 1С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно.
Вранье, курите технологический журнал.
Вранье, курите технологический журнал.
Строка 156: Строка 157:
Из Windows это можно сделать так:
Из Windows это можно сделать так:
-
Запустите оснастку управления серверами предприятия из меню Пуск —> 1С Предприятие 8.1 —> Серверы 1С Предприятия.
+
Запустите оснастку управления серверами предприятия из меню Пуск —> 1С Предприятие 8.3 —> Серверы 1С Предприятия.
-
Создайте центральный сервер. Для этого войдите в контекстное меню и выберите пункт "New".
+
Создайте центральный сервер. Для этого войдите в контекстное меню и выберите пункт "Создать центральный сервер 1С Предприятия".
Введите имя и описание линукс-сервера.
Введите имя и описание линукс-сервера.
-
Теперь после закрытия окна нажмите на плюсик рядом с новым сервером. Могут проявиться типичные ошибки.
+
Теперь после закрытия окна нажмите на плюсик рядом с новым сервером.
Если сообщений об ошибках не было выдано, то создастся кластер.
Если сообщений об ошибках не было выдано, то создастся кластер.
-
В новой версии 1С можно создавать БД прямо из оснастки (не прибегая к помощи консоли [[PostgreSQL|PostgreSQL]], хотя такая возможность сохранилась).
+
БД создаются прямо из оснастки управления кластером 1С:Предприятие, либо при запуске Конфигуратора.
-
Создание и подключение информационной базы 1С:Предприятия 8.1
+
-
Введите настройки соединения и не забудьте отметить флажок «Создать базу данных» в случае её отсутствия. После нажатия ОК оснастка надолго зависнет (база создаётся очень неспешно).
+
-
Теперь можно подключаться к серверу из режима Предприятия.
+
-
Как это делать из 1С, запущенной через WINE@Etersoft, читайте на [http://wiki.etersoft.ru/ProgrammnoeObespechenie/BuxUchjot/Ustanovka1S81 сайте компании Etersoft]
+
После создания (или загрузки базы) можно подключаться к серверу толстым или тонким клиентом, для Web-доступа базу нужно дополнительно опубликовать (см. ниже)
===  Установка сервера 1С Предприятие 8.2 на ALT Linux для документооборота ===
===  Установка сервера 1С Предприятие 8.2 на ALT Linux для документооборота ===

Версия 20:06, 16 декабря 2013


Примечание:

Унифицированная статья для разворачивания сервера 1С:Предприятие 8.3 и 8.2.

Краткая инструкция для установки клиента 1С:Предприятие 8.3 вынесена на отдельную страницу.


Содержание

Подключение необходимых репозиториев ALT Linux

На текущий момент рабочей СУБД является PostgreSQL 9.0 [1] версии от Etersoft Пакеты для аппаратного ключа защиты берем у них же.

Итого наш конфиг репозитория приобретает следующий вид:

cat /etc/apt/sources.list.d/byfly.list
rpm      ftp://ftp.etersoft.ru/pub/Etersoft/Postgre@Etersoft/9.0.4 x86_64/ALTLinux/p7 main
rpm      ftp://ftp.etersoft.ru/pub/Etersoft/Postgre@Etersoft/9.0.4 x86_64/ALTLinux/p7/extra main
rpm      ftp://ftp.etersoft.ru/pub/Etersoft/HASP/3.3 x86_64/ALTLinux/p7 main

rpm [p7] ftp://ftp.byfly.by/pub/ALTLinux/p7/branch x86_64 classic
rpm [p7] ftp://ftp.byfly.by/pub/ALTLinux/p7/branch x86_64-i586 classic
rpm [p7] ftp://ftp.byfly.by/pub/ALTLinux/p7/branch noarch classic

Установка сервера 1С:Предприятие на ALT Linux

Состав сервера 1С

Для версии 8.2:

  • 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

Для версии 8.3:

  • 1C_Enterprise83-common… — Общие компоненты 1С Предприятие 8.3 для Linux
  • 1C_Enterprise82-server… — Сервер 1С Предприятие 8.3 для Linux
  • 1C_Enterprise82-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С-сервер не сможет подключиться к базе. Итак, данное руководство предполагает, что вы используете локаль ru_RU.UTF-8 в качестве общесистемной. Если вы хотите использовать для доступа к БД имя хоста, а не IP, то хорошо бы настроить обратную DNS-зону. Это избавит вас от некоторых хлопот и возможной путаницы (подробности ниже).

Устанавливаем Postgresql

Стандартный Postgresql не будет работать с 1С, а rpm-пакеты с Postgres, которые идут в дистрибутиве 1C, предназначены только для установки на fedora-совместимых дистрибутивах. Устанавливаем пакеты от Etersoft, при этом не забывая обновить дистрибутив до последней версии.

apt-get update
apt-get dist-upgrade
apt-get install  postgre-etersoft9.0 postgre-etersoft9.0-contrib postgre-etersoft9.0-server glibc-i18ndata

Для установивших ОС с диска (а не разворачивающих ovz-контейнер) с кодировками быть проблем не должно.

В любом случае, проверяйте 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 # для украинских баз
localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8 # для белорусских баз
При попытке первого запуска сервиса (инициализации базы данных) postgresql версии 9.0.4 может ругаться на отсутствующий каталог /var/lib/postgresql, после ручного создания данной папке СУБД инициализируется нормально. После этого открываем файл /var/lib/pgsql/data/postgresql.conf и проверяем, чтобы postgres слушал нужный интерфейс, имел соответствующую локаль и настройки, описанные в документации 1С-сервера. Вот пример работающего файла конфигурации (закомментированные строки пропущены).
Пожалуйста, не копируйте себе бездумно эту конфигурацию! В комментариях дефолтного postgresql.conf находится много полезной информации
:
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 под свои нужды вам надо будет самостоятельно (вот, к примеру, руководство по настройке производительности) Также в файле /var/lib/pgsql/data/pg_hba.conf вам надо будет определить политику доступа пользователей к СУБД (для этого читайте документацию postgresql), а по умолчанию настройка выглядит так:

host    all         all         0.0.0.0/0             md5

Что означает разрешение подключаться с любых адресов к любым базам с авторизацией по паролю.

Для первоначальной настройки достаточно сменить пароль суперпользователя СУБД:

[root@localhost ~]# psql -h localhost -U postgres template1
template1=# ALTER USER postgres WITH PASSWORD 'secret';

Не забываем поставить СУБД на автостарт:

chkconfig postgresql on

На этом настройка Postgresql завершена.

Установка и запуск защиты HASP

Для сервера 1С на Linux не требуется серверный ключ при количестве подключенных пользователей менее 10. Устанавливаем менеджер лицензий:

apt-get update
apt-get install haspd haspd-modules

После его установки достаточно запустить сервис:

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 on
 Примечание: текущая версия haspd не видит свежевоткнутые ключи и требует перезапуска после их подключения во время работы службы.


Установка и запуск сервера 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

Для нормальной работы тонкого и 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, который тянет многие зависимости нужные для рабочей станции, но излишние для сервера.

Запуск:

service srv1cv82 start

И автозапуск

chkconfig srv1cv83 on

К сожалению, 1С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно. Вранье, курите технологический журнал. Порты, которые слушает 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

Создание сервера предприятия

Из Windows это можно сделать так:

Запустите оснастку управления серверами предприятия из меню Пуск —> 1С Предприятие 8.3 —> Серверы 1С Предприятия. Создайте центральный сервер. Для этого войдите в контекстное меню и выберите пункт "Создать центральный сервер 1С Предприятия". Введите имя и описание линукс-сервера. Теперь после закрытия окна нажмите на плюсик рядом с новым сервером. Если сообщений об ошибках не было выдано, то создастся кластер. БД создаются прямо из оснастки управления кластером 1С:Предприятие, либо при запуске Конфигуратора.

После создания (или загрузки базы) можно подключаться к серверу толстым или тонким клиентом, для Web-доступа базу нужно дополнительно опубликовать (см. ниже)

Установка сервера 1С Предприятие 8.2 на 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

Скрипт капризный, требует указания пути к мелкомягким шрифтам, потому понадобилось установить fonts-ttf-ms и конвертер ttf2pt1, после чего скрипт запускается с указанием пути к каталогу шрифтов как параметра командной строки и молча отрабатывает. Помогло.

Настройка Apache для веб-клиентов документооборота

  • Добавляем спец. модуль

я сделал файлик _1cws_module.load с единственной строчкой

LoadModule _1cws_module /opt/1C/v8.2/i386/wsap22.so

И положил в mods-available, затем подключил к апачу

  • делаем конфиг для будущего сервера.

Тут два шага - надо создать в специальном каталоге пользователя usr1cv82 корень будущего сервера

и создать конфиг хоста в апаче.

Шаг 1. Создаем корень сервера:

/home/usr1cv82/www/MyApp 

Это просто каталог. Владельцы которого apache2:grp1cv82, и права доступа владельцу на чтение (естественно надо позаботиться о том, чтобы apache2 мог зайти в хомяк /home/usr1cv82)

В этом каталоге надо создать файлик default.vrd такого содержания

 <?xml version="1.0" encoding="UTF-8"?>
 <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
 		xmlns:xs="http://www.w3.org/2001/XMLSchema"
 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 		base="/MyApp"
 		ib="Srvr=&quot;192.168.0.254&quot;;Ref=&quot;doc_demo&quot;;">
 	<ws enable="false"/>
 </point>

Третья строка отражает тот факт, что /home/usr1cv82/www/MyApp - корень сервера

Четвертая что IP сервера 192.168.0.254 (можно, видимо, и localhost), а
Ref=&quot;doc_demo&quot;;
, что база 1С называется doc_demo (создавал товарищ из 1С через винду)

Шаг 2 Конфиг хоста

в sites-available создаем 1c.conf такого вида:

 Alias /MyApp "/home/usr1cv82/www/MyApp"
 <Directory "/home/usr1cv82/www/MyApp">
     AllowOverride None
     Options None
     Order allow,deny
     Allow from all
     SetHandler 1c-application
     ManagedApplicationDescriptor /home/usr1cv82/www/MyApp/default.vrd
 </Directory>

и включаем его.

Перезапускаем апач. Если ругнулся на ManagedApplicationDescriptor, значит модуль от 1С не загрузился.

Все. Проверяем с клиента по адресу http://IP/MyApp Должна показаться морда документооборота. Для входа далее нужен специальный клиентский ключ...

Часто возникающие проблемы

В файле /home/usr1cv81/.1cv81/1C/1Cv81/reg_1541/1CV8Reg.lst можно найти конфигурацию кластера 1С. Например, у меня он выглядит так:

{0,
{332873ae-75ed-11dc-9f9f-00fc390012a1,"Локальный кластер",1541,"banzay.aspirinka.net",0,0},
{1,
{0dd04482-9367-11dc-748b-00fc390012a1,"1c","","PostgreSQL","1c.aspirinka.net","1c","postgres","zPurhs5czp8pJJ9Z6craZ2vrNnl9u7bkfzlIoDTEfW8=","CrSQLDB=Y;DB=1c;DBMS=PostgreSQL;DBSrvr=1c.aspirinka.net;DBUID=postgres;Descr=;Locale=ru_RU;Ref=1c;SLev=0;SQLYOffs=0;Srvr=banzay.aspirinka.net",0,
{0,00010101000000,00010101000000,"","",""},0}
},
{1,
{36713c62-75ed-11dc-9f9f-00fc390012a1,"banzay.aspirinka.net",1,1,
{9.827956989247312e-2,9.548387096774194e-2,0,0,2.795698924731183e-3,93,1.150875992227514e-3,0},1000}
},
{0},
{1,
{366b0522-75ed-11dc-9f9f-00fc390012a1,"Центральный сервер",1540,"banzay.aspirinka.net",1,
{1,
{1560,1591}
},"","gjZ6h/5H95FpOCqDeLmg2Q=="}
}
}
  • 1С не сможет подключиться к базе Postgresql, если настройки локали не совпадают. Так что приведите параметр Locale= в соответствие с настройками вашей базы.
  • А ещё 1С берёт значение хоста откуда угодно, только не из настроек, введённых пользователем. :) При необходимости укажите правильные имена хостов для «Центрального сервера» и «Локального кластера» вручную. Однако если у вас правильно настроена обратная зона DNS, ручных исправлений не потребуется.

Установка 1С-сервера в OVZ-контейнер

Для начала создадим ovz-инстанцию.

Для этого:

Можно воспользоваться готовым spt-профилем из пакета spt-profiles-ovz-1C

Установка профиля производится так

apt-get install spt-profiles-ovz-1C

Для работы с 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
 
Личные инструменты