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 ===
 
===  Подключение необходимых репозиториев 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С ====
==== Состав сервера 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>


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


Для нормальной работы с базой, и чтобы не возникала проблема кодировок, проверяйте 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
При попытке первого запуска сервиса (инициализации базы данных) 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>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>:


<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>service srv1cv82 start</pre>
<pre>rpm -Uvh 1C*rpm</pre>


Для нормальной работы Web-клиента 1С Предприятия 8.2 также требуются: unixodbc, libgsf, glib2, ttf2pt1. Если планируется использовать 1С Предприятие в режиме Web-клиента, надо проверить их наличие и при необходимости установить.
И автозапуск
<pre>chkconfig srv1cv83 on</pre>


Запуск:
<pre>service srv1cv82 start</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 для документооборота ===

Версия от 23: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