1C

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

(Различия между версиями)
Перейти к: навигация, поиск
м (Подключение необходимых репозиториев ALT Linux: +t7 (postgresql9.2-1C*))
(Устанавливаем Postgresql: Ограничения ядра)
 
(35 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
[[Категория:Admin]]
 
-
[[Категория:HOWTO]]
 
-
[[Категория:Enterprise Software]]
 
Унифицированная статья для разворачивания сервера 1С:Предприятие 8.3 и 8.2.  
Унифицированная статья для разворачивания сервера 1С:Предприятие 8.3 и 8.2.  
Строка 8: Строка 5:
* [http://forum.altlinux.org/index.php/topic,30681.0.html Инструкция по установке сервера 1С:Предприятие 8.x].
* [http://forum.altlinux.org/index.php/topic,30681.0.html Инструкция по установке сервера 1С:Предприятие 8.x].
-
 
+
  '''Для установки на [[Альт Линукс 6.0 СПТ|СПТ]] используйте специальную сертифицированную версию, полученную от представителей 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>
+
-
 
+
-
Возможно также использование [http://lists.altlinux.org/pipermail/community/2014-August/682293.html 9.2 из t7].
+
===  Установка сервера 1С:Предприятие на ALT Linux ===
===  Установка сервера 1С:Предприятие на ALT Linux ===
Строка 50: Строка 31:
  SUPPORTED=ru_RU</pre>
  SUPPORTED=ru_RU</pre>
-
Дело в том, что если сервер 1С не найдёт тут кодировки ru_RU.UTF-8 (например, если установка происходит в OVZ-контейнере), то он будет настойчиво пытаться подключиться к нашей базе с локалью en_EN.UTF-8. А в chroot postgresql копируется только та локаль, которая задана при создании базы. Таким образом 1С-сервер не сможет подключиться к базе. Итак, данное руководство предполагает, что вы используете локаль ru_RU.UTF-8 в качестве общесистемной.
+
Дело в том, что если сервер 1С не найдёт тут кодировки ru_RU.UTF-8 (например, если установка происходит в OVZ-контейнере), то он будет настойчиво пытаться подключиться к нашей базе с локалью en_EN.UTF-8. А в chroot postgresql копируется только та локаль, которая задана при создании базы. Таким образом 1С-сервер не сможет подключиться к базе.
 +
 
 +
Изменить локаль можно командой (подействует после перезагрузки):
 +
<pre>sed -i s/en_EN/ru_RU/ /etc/sysconfig/i18n</pre>
 +
 
 +
Итак, данное руководство предполагает, что вы используете локаль ru_RU.UTF-8 в качестве общесистемной.
Если вы хотите использовать для доступа к БД имя хоста, а не IP, то хорошо бы настроить обратную DNS-зону. Это избавит вас от некоторых хлопот и возможной путаницы (подробности ниже).
Если вы хотите использовать для доступа к БД имя хоста, а не IP, то хорошо бы настроить обратную DNS-зону. Это избавит вас от некоторых хлопот и возможной путаницы (подробности ниже).
 +
 +
==== 32bit на x86_64 ====
 +
Обязательно установите пакет {{pkg|i586-glibc-nss}}, если устанавливаете 32-битную версию 1С на x86_64 сервер - без этого не будет работать DNS в сервере 1С.
==== Устанавливаем Postgresql ====
==== Устанавливаем Postgresql ====
Строка 59: Строка 48:
<pre>apt-get update
<pre>apt-get update
apt-get dist-upgrade
apt-get dist-upgrade
-
apt-get install  postgre-etersoft9.0 postgre-etersoft9.0-contrib postgre-etersoft9.0-server glibc-i18ndata</pre>
+
apt-get install  postgresql9.4-1C postgresql9.4-1C-contrib postgresql9.4-1C-server glibc-i18ndata</pre>
Для установивших ОС с диска (а не разворачивающих ovz-контейнер) с кодировками быть проблем не должно.
Для установивших ОС с диска (а не разворачивающих ovz-контейнер) с кодировками быть проблем не должно.
Строка 68: Строка 57:
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 # для белорусских баз</pre>
-
При попытке первого запуска сервиса (инициализации базы данных) postgresql версии 9.0.4 может ругаться на отсутствующий каталог /var/lib/postgresql, после ручного создания данной папке СУБД инициализируется нормально. После этого открываем файл /var/lib/pgsql/data/postgresql.conf и проверяем, чтобы postgres слушал нужный интерфейс, имел соответствующую локаль и настройки, описанные в документации 1С-сервера. Вот пример работающего файла конфигурации (закомментированные строки пропущены). <div style="display: inline; color: red;">Пожалуйста, не копируйте себе бездумно эту конфигурацию! В комментариях дефолтного postgresql.conf находится много полезной информации</div>:
+
При попытке первого запуска сервиса (инициализации базы данных) postgresql версии 9.0.4 может ругаться на отсутствующий каталог базы данных (/var/lib/pgsql/data), после ручного его создания (<tt>install -d -o postgres -g postgres /var/lib/pgsql/data</tt>) СУБД инициализируется нормально. Как рекомендует скрипт проверки базы, можно выполнить <tt>/etc/init.d/postgresql initdb</tt>, он создаёт также все необходимые файлы конфигурации.
 +
 
 +
После этого открываем файл /var/lib/pgsql/data/postgresql.conf и проверяем, чтобы postgres слушал нужный интерфейс, имел соответствующую локаль и настройки, описанные в документации 1С-сервера. Вот пример работающего файла конфигурации (закомментированные строки пропущены). <div style="display: inline; color: red;">Пожалуйста, не копируйте себе бездумно эту конфигурацию! В комментариях дефолтного postgresql.conf находится много полезной информации</div>:
<pre>listen_addresses = '*'
<pre>listen_addresses = '*'
Строка 85: Строка 76:
default_with_oids = on</pre>
default_with_oids = on</pre>
-
Учтите, что эта настройка далека от идеальной и производительной. Данное руководство не ставит перед собой такой задачи, поэтому настроить Postgresql под свои нужды вам надо будет самостоятельно (вот, к примеру, [http://oc.cs.msu.su/club/html/ руководство по настройке производительности])
+
Учтите, что эта настройка далека от идеальной и производительной. Данное руководство не ставит перед собой такой задачи, поэтому настроить Postgresql под свои нужды вам надо будет самостоятельно (вот, к примеру, [http://oc.cs.msu.su/club/html/ руководство по настройке производительности], а вот [https://www.postgresql.org/docs/9.4/static/index.html официальная документация] по используемой версии PostgreSQL)
-
Также в файле /var/lib/pgsql/data/pg_hba.conf вам надо будет определить политику доступа пользователей к СУБД (для этого читайте документацию 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). По умолчанию после <tt>/etc/init.d/postgresql initdb</tt> все базы доступны всем без проверки (правило "trust"). Как минимум, можно сделать так:
<pre>host    all        all        0.0.0.0/0            md5</pre>
<pre>host    all        all        0.0.0.0/0            md5</pre>
Что означает разрешение подключаться с любых адресов к любым базам с авторизацией по паролю.
Что означает разрешение подключаться с любых адресов к любым базам с авторизацией по паролю.
Строка 94: Строка 91:
template1=# ALTER USER postgres WITH PASSWORD 'secret';</pre>
template1=# ALTER USER postgres WITH PASSWORD 'secret';</pre>
-
Не забываем поставить СУБД на автостарт:
+
Не забываем поставить СУБД на автостарт (годится и для sysvinit, и для systemd):
 +
 
<pre>chkconfig postgresql on</pre>
<pre>chkconfig postgresql on</pre>
 +
На этом настройка Postgresql завершена.
На этом настройка Postgresql завершена.
Настоятельно рекомендуется настроить [http://wiki.postgresql.org/wiki/Automated_Backup_on_Linux автоматическое резервное копирование].
Настоятельно рекомендуется настроить [http://wiki.postgresql.org/wiki/Automated_Backup_on_Linux автоматическое резервное копирование].
 +
 +
===== Вопросы безопасности =====
 +
 +
====== Доступ через сокет unix ======
 +
По умолчанию в файле /var/lib/pgsql/data/postgres.conf задано, что postresql создаёт сокет с правами доступа 0777 ("все могут писать-читать"), при этом в /var/lib/pgsql/data/pg_hba.conf при подключении через сокет нет проверки пользователя.
 +
 +
Есть два пути решения.<br>
 +
1. Разрешить доступ к сокету только членам группы postgres в файле postgres.conf:
 +
unix_socket_group = ''              # default use main group of the user postgres
 +
#unix_socket_permissions = 0777      # default
 +
unix_socket_permissions = 0770
 +
2. Требовать аутентификацию при подключениях серез сокет в файле pg_hba.conf:
 +
#local  all            all                                    trust # default
 +
local  all            all                                    md5
 +
В первом случае, если сервер 1С будет подключаться к postresql через сокет unix, нужно включить пользователя usr1cv8 в группу postgres:
 +
usermod -a -G postgres usr1cv8
 +
Обычно это не нужно — используется подключение TCP.
 +
 +
====== Доступ через TCP ======
 +
Установите пароль пользователя postgres
 +
# pwqgen
 +
Dark*Plan7Smoky
 +
# echo "ALTER USER postgres WITH PASSWORD 'Dark*Plan7Smoky';" | psql -h localhost -U postgres
 +
Затем в файле pg_hba.conf укажите требование аутентификации для подключений через сокеты TCP (исходно там указано "trust" - то есть без аутентификации):
 +
host    all            all            127.0.0.1/32            md5
 +
host    all            all            0.0.0.0/0              md5
 +
host    all            all            ::1/128                md5
==== Установка и запуск защиты HASP ====
==== Установка и запуск защиты HASP ====
Строка 103: Строка 129:
Для сервера 1С на Linux не требуется серверный ключ при количестве подключенных пользователей менее 10.
Для сервера 1С на Linux не требуется серверный ключ при количестве подключенных пользователей менее 10.
Устанавливаем менеджер лицензий:
Устанавливаем менеджер лицензий:
-
<pre>apt-get update
+
<pre>apt-get install i586-haspd</pre>
-
apt-get install haspd haspd-modules</pre>
+
После его установки достаточно запустить сервис:
После его установки достаточно запустить сервис:
Строка 131: Строка 156:
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>
+
# chkconfig haspd --list
-
  Примечание: текущая версия haspd не видит свежевоткнутые ключи и требует перезапуска после их подключения во время работы службы.
+
haspd         0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
 +
Если на уровнях 3 и 5 не включен - включите:
 +
# chkconfig haspd on
 +
{{Note|текущая версия haspd не видит свежевоткнутые ключи и требует перезапуска после их подключения во время работы службы.}}
==== Установка и запуск сервера 1С ====
==== Установка и запуск сервера 1С ====
Заходим в каталог с распакованным rpm64.tar.gz и выполняем следующую команду (с поправкой на свою версию):
Заходим в каталог с распакованным 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>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>
-
Для нормальной работы тонкого и 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, который тянет многие зависимости нужные для рабочей станции, но излишние для сервера.
+
Для нормальной работы тонкого и 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, который тянет многие зависимости нужные для рабочей станции, но излишние для сервера.
Запуск:
Запуск:
Строка 149: Строка 179:
К сожалению, 1С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно.
К сожалению, 1С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно.
-
Вранье, курите технологический журнал.
+
Разумеется, можно подключить технологический журнал. Но даже самое усердное курение самого подробного технологического журнала может оказаться малопродуктивно, если мы имеем дело с чем-то вроде "Unknown error".
 +
 
 +
Наример, srv1cv83 попросту не запустится если HOSTNAME= из /etc/sysconfig/network почему-то не разрешается в адрес. Чтобы избежать этого, проследите чтобы имя сервера было зарегистрировано в доменной зоне, а также добавьте соответствующую запись в /etc/hosts, тогда неисправность/сбой/недоступность DNS будут не так страшны.
 +
 
Порты, которые слушает 1С:
Порты, которые слушает 1С:
<pre>tcp        0      0 *:1540                      *:*                        LISTEN      18704/ragent
<pre>tcp        0      0 *:1540                      *:*                        LISTEN      18704/ragent
Строка 162: Строка 195:
Из Windows это можно сделать так:
Из Windows это можно сделать так:
-
Запустите оснастку управления серверами предприятия из меню Пуск —> 1С Предприятие 8.3 —> Серверы 1С Предприятия.
+
Запустите оснастку управления серверами предприятия из меню Пуск 1С Предприятие 8.3 Серверы 1С Предприятия.
Создайте центральный сервер. Для этого войдите в контекстное меню и выберите пункт "Создать центральный сервер 1С Предприятия".
Создайте центральный сервер. Для этого войдите в контекстное меню и выберите пункт "Создать центральный сервер 1С Предприятия".
Введите имя и описание линукс-сервера.
Введите имя и описание линукс-сервера.
Строка 171: Строка 204:
После создания (или загрузки базы) можно подключаться к серверу толстым или тонким клиентом, для Web-доступа базу нужно дополнительно опубликовать (см. ниже)
После создания (или загрузки базы) можно подключаться к серверу толстым или тонким клиентом, для Web-доступа базу нужно дополнительно опубликовать (см. ниже)
-
===  Установка сервера 1С Предприятие 8.2 на ALT Linux для документооборота ===
+
===  Установка сервера 1С Предприятие 8.2 или 8.3 на ALT Linux для документооборота ===
-
Стенд для 1С документооборота разварачивали двое - представитель ALT Linux и представитель 1c-kpd.
+
Стенд для 1С:Документооборот разворачивали двое - представитель ALT Linux и представитель 1c-kpd.
Опишу линуксовую часть.
Опишу линуксовую часть.
Строка 190: Строка 223:
скрипт запускается с указанием пути к каталогу шрифтов как параметра командной строки и молча отрабатывает. Помогло.
скрипт запускается с указанием пути к каталогу шрифтов как параметра командной строки и молча отрабатывает. Помогло.
-
=== Настройка Apache для веб-клиентов документооборота ===
+
==== Настройка Apache для веб-клиентов документооборота ====
 +
Описан дефолтный вариант — подкаталог в основном сайте. В примерах используется версия сервера 1С 8.3.
-
* Добавляем спец. модуль
+
Настройка проводится в четыре шага:
-
я сделал файлик  _1cws_module.load с единственной строчкой
+
# Надо создать в домашнем каталоге пользователя usr1cv82 в случае 1С 8.2 или usr1cv8 в случае 1C 8.3 корень будущего сервера
 +
# и положить в него файл-описание подключения к серверу (*.vrd),
 +
# затем подключить модуль 1С к апачу
 +
# и создать конфиг хоста в апаче.
-
LoadModule _1cws_module /opt/1C/v8.2/i386/wsap22.so
+
Информация о модуле:
 +
** имя модуля: _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.
-
И положил в <tt>mods-available</tt>, затем подключил к апачу
+
: '''Шаг 1. Создаем корень сервера'''
-
* делаем конфиг для будущего сервера.
+
install -d -o usr1cv8 -g grp1cv8 /home/usr1cv8/www/DemoApp
-
Тут два шага - надо создать в специальном каталоге пользователя usr1cv82 корень будущего сервера
+
Это просто каталог, владельцы которого usr1cv8:grp1cv8 (или можно сделать apache2:grp1cv8 и дать права доступа владельцу только на чтение).
-
и создать конфиг хоста в апаче.
+
Надо позаботиться о том, чтобы <tt>apache2</tt> мог его увидеть в <tt>/home/usr1cv8</tt>:
 +
chmod 750 /home/usr1cv8
 +
usermod -a -G grp1cv8 apache2
-
Шаг 1. Создаем корень сервера:
+
Остальное можно сделать автоматически разом либо вручную поэтапно. Второй способ гибче, например, можно назначить каждой информационной базе отдельное доменное имя (создать VirtualHost).
-
/home/usr1cv82/www/MyApp
+
===== Автоматически =====
-
Это просто каталог. Владельцы которого apache2:grp1cv82, и права доступа владельцу на чтение (естественно надо позаботиться о том, чтобы <tt>apache2</tt> мог зайти в хомяк <tt>/home/usr1cv82</tt>)
+
В главе 7 документации администратора описана команда webinst.
-
В этом каталоге надо создать файлик default.vrd такого содержания
+
Используя webinst, нужно создавать файл в /etc/httpd2/conf/extra-available/ и симлинк на него в /etc/httpd2/conf/extra-enabled/. Пример для версии 8.3:
 +
touch /etc/httpd2/conf/extra-available/1c.conf
 +
/opt/1C/v8.3/x86_64/webinst -publish -apache22 -wsdir DemoApp -dir /home/usr1cv8/www/DemoApp -connstr "Srvr=127.0.0.1;Ref=doc_demo;" -confpath /etc/httpd2/conf/extra-available/1c.conf
 +
ln -s ../extra-available/1c.conf /etc/httpd2/conf/extra-enabled/1c.conf
 +
 
 +
Смотрим, что получилось:
 +
<pre>
 +
# cat /etc/httpd2/conf/extra-enabled/1c.conf
 +
LoadModule _1cws_module "/opt/1C/v8.3/x86_64/wsap22.so"
 +
 
 +
# 1c publication
 +
Alias "/crm" "/home/usr1cv8/www/DemoApp/"
 +
<Directory "/home/usr1cv8/www/DemoApp/">
 +
    AllowOverride All
 +
    Options None
 +
    Order allow,deny
 +
    Allow from all
 +
    SetHandler 1c-application
 +
    ManagedApplicationDescriptor "/home/usr1cv8/www/DemoApp/default.vrd"
 +
</Directory>
 +
# cat /home/usr1cv8/www/DemoApp/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="/DemoApp"
 +
                ib="Srvr=127.0.0.1;Ref=doc_demo;"/>
 +
<pre>
 +
===== Вручную =====
 +
 
 +
: '''Шаг 2: пишем default.vrd'''
 +
 
 +
В /home/usr1cv82/www/DemoApp/ надо создать файл default.vrd такого содержания:
<pre>
<pre>
  <?xml version="1.0" encoding="UTF-8"?>
  <?xml version="1.0" encoding="UTF-8"?>
Строка 217: Строка 293:
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
  base="/MyApp"
+
  base="/DemoApp"
-
  ib="Srvr=&amp;quot;192.168.0.254&amp;quot;;Ref=&amp;quot;doc_demo&amp;quot;;">
+
  ib="Srvr=192.0.2.54;Ref=doc_demo;">
-
<ws enable="false"/>
+
  </point>
  </point>
</pre>
</pre>
-
Третья строка отражает тот факт, что /home/usr1cv82/www/MyApp - корень сервера
+
В третьей строке значение параметра "base" отражает тот факт, что /home/usr1cv8/www/DemoApp - корень веб-интерфейса информационной базы.
-
Четвертая что IP сервера 192.168.0.254 (можно, видимо, и localhost), а <pre>Ref=&amp;quot;doc_demo&amp;quot;;</pre>, что база 1С называется doc_demo (создавал товарищ из через винду)
+
В четвертой строке в параметре "ib" указана строка подключения к информационной базе (connection string), в примере IP сервера 192.0.2.54 (можно указать доменное имя интерфейса, можно localhost), база 1С называется "doc_demo". База должна быть создана в Конфигураторе.<br>
 +
Правильное значение connection string посмотрите в клиенте внизу окна выбора информационной базы.
-
Шаг 2 Конфиг хоста
 
-
в  sites-available создаем 1c.conf такого вида:
+
: '''Шаг 3: Добавляем модуль в конфигурацию apache'''
 +
Для этого в /etc/httpd2/conf/mods-available создаём файл _1cws_module.load:
 +
 +
echo LoadModule _1cws_module /opt/1C/v8.*/i386/wsap22.so > /etc/httpd2/conf/mods-available/_1cws_module.load
 +
 +
Затем включаем его в работу:
 +
ln -s ../mods-available/_1cws_module.load /etc/httpd2/conf/mods-enabled/_1cws_module.load
 +
 +
: '''Шаг 4. Конфиг хоста'''
 +
 +
Cоздаем файл /etc/httpd2/conf/include/1c.conf такого вида:
<pre>
<pre>
-
  Alias /MyApp "/home/usr1cv82/www/MyApp"
+
  Alias /DemoApp /home/usr1cv83/www/DemoApp
-
  <Directory "/home/usr1cv82/www/MyApp">
+
  <Directory "/home/usr1cv83/www/DemoApp">
     AllowOverride None
     AllowOverride None
     Options None
     Options None
Строка 239: Строка 324:
     Allow from all
     Allow from all
     SetHandler 1c-application
     SetHandler 1c-application
-
     ManagedApplicationDescriptor /home/usr1cv82/www/MyApp/default.vrd
+
     ManagedApplicationDescriptor /home/usr1cv82/www/DemoApp/default.vrd
  </Directory>
  </Directory>
 +
</Virtualhost>
</pre>
</pre>
-
и включаем его.
+
Включаем /etc/httpd2/conf/include/1c.conf в конфигурацию стандартного виртуального хоста:
 +
sed 's,\(</Virt\),\tInclude /etc/httpd2/conf/include/1c.conf\n\1,' /etc/httpd2/conf/sites-available/default.conf
 +
 
 +
===== Проверка =====
Перезапускаем апач. Если ругнулся на ManagedApplicationDescriptor, значит модуль от 1С не загрузился.
Перезапускаем апач. Если ругнулся на ManagedApplicationDescriptor, значит модуль от 1С не загрузился.
-
Все. Проверяем с клиента по адресу http://IP/MyApp Должна показаться морда документооборота.
+
Проверяем с клиента по адресу http://IP/DemoApp — должна показаться морда информационной базы.
Для входа далее нужен специальный клиентский ключ...
Для входа далее нужен специальный клиентский ключ...
Строка 310: Строка 399:
cd /root
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</pre>
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</pre>
 +
{{Category navigation|title=ПО уровня предприятия|category=Enterprise Software|sortkey={{SUBPAGENAME}}}}
 +
{{Category navigation|title=1C|category=1C|sortkey={{SUBPAGENAME}}}}

Текущая версия на 08:14, 24 апреля 2017

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

См. также

Для установки на СПТ используйте специальную сертифицированную версию, полученную от представителей 1С.

Содержание

Установка сервера 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С-сервер не сможет подключиться к базе.

Изменить локаль можно командой (подействует после перезагрузки):

sed -i s/en_EN/ru_RU/ /etc/sysconfig/i18n

Итак, данное руководство предполагает, что вы используете локаль ru_RU.UTF-8 в качестве общесистемной. Если вы хотите использовать для доступа к БД имя хоста, а не IP, то хорошо бы настроить обратную DNS-зону. Это избавит вас от некоторых хлопот и возможной путаницы (подробности ниже).

32bit на x86_64

Обязательно установите пакет i586-glibc-nss, если устанавливаете 32-битную версию 1С на x86_64 сервер - без этого не будет работать DNS в сервере 1С.

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

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

apt-get update
apt-get dist-upgrade
apt-get install  postgresql9.4-1C postgresql9.4-1C-contrib postgresql9.4-1C-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/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 находится много полезной информации
:
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 под свои нужды вам надо будет самостоятельно (вот, к примеру, руководство по настройке производительности, а вот официальная документация по используемой версии 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"). Как минимум, можно сделать так:

host    all         all         0.0.0.0/0             md5

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

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

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

Не забываем поставить СУБД на автостарт (годится и для sysvinit, и для systemd):

chkconfig postgresql on

На этом настройка Postgresql завершена. Настоятельно рекомендуется настроить автоматическое резервное копирование.

Вопросы безопасности
Доступ через сокет unix

По умолчанию в файле /var/lib/pgsql/data/postgres.conf задано, что postresql создаёт сокет с правами доступа 0777 ("все могут писать-читать"), при этом в /var/lib/pgsql/data/pg_hba.conf при подключении через сокет нет проверки пользователя.

Есть два пути решения.
1. Разрешить доступ к сокету только членам группы postgres в файле postgres.conf:

unix_socket_group =                # default use main group of the user postgres
#unix_socket_permissions = 0777       # default
unix_socket_permissions = 0770

2. Требовать аутентификацию при подключениях серез сокет в файле pg_hba.conf:

#local   all             all                                     trust # default
local   all             all                                     md5

В первом случае, если сервер 1С будет подключаться к postresql через сокет unix, нужно включить пользователя usr1cv8 в группу postgres:

usermod -a -G postgres usr1cv8

Обычно это не нужно — используется подключение TCP.

Доступ через TCP

Установите пароль пользователя postgres

# pwqgen
Dark*Plan7Smoky
# echo "ALTER USER postgres WITH PASSWORD 'Dark*Plan7Smoky';" | psql -h localhost -U postgres

Затем в файле pg_hba.conf укажите требование аутентификации для подключений через сокеты TCP (исходно там указано "trust" - то есть без аутентификации):

host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5
host    all             all             ::1/128                 md5

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

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

apt-get install i586-haspd

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

service haspd start

Проверка состояния:

# service haspd status

Hardware protection keys support bundle. Etersoft (c) 2008-2012
HASPD package 3.3 with /dev/bus/usb support
Aladdin HASP 4/HL/SRM driver status:
    kernel module aksparlnx is not loaded (WARNING: HASP LPT keys support is disabled! Run service haspd build if needed.)
    aksusbd is running
    winehasp is running
    hasplm is running
    hasplmd is running
Daemon version: 1.14 (#7779) - key API (USB) version: 3.88 (parallel driver not available)
    /proc/bus/usb workaround is enabled
Smartkey 3 USB/LPT driver status:
    skeyd is stopped
SafeNet Sentinel status:
    usbsentinel is stopped
    SntlKeysSrvrlnx is stopped

Use $ eterkeytest [--hasp] [--sentinel] [--eutron] for test key presence

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

# chkconfig haspd --list
haspd          	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл

Если на уровнях 3 и 5 не включен - включите:

# chkconfig haspd on
Примечание: текущая версия haspd не видит свежевоткнутые ключи и требует перезапуска после их подключения во время работы службы.


Установка и запуск сервера 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С-сервер практически не пишет никаких отчётов, поэтому если что-то не работает, понять, что именно не так, бывает сложно. Разумеется, можно подключить технологический журнал. Но даже самое усердное курение самого подробного технологического журнала может оказаться малопродуктивно, если мы имеем дело с чем-то вроде "Unknown error".

Наример, srv1cv83 попросту не запустится если HOSTNAME= из /etc/sysconfig/network почему-то не разрешается в адрес. Чтобы избежать этого, проследите чтобы имя сервера было зарегистрировано в доменной зоне, а также добавьте соответствующую запись в /etc/hosts, тогда неисправность/сбой/недоступность DNS будут не так страшны.

Порты, которые слушает 1С:

tcp        0      0 *:1540                      *:*                         LISTEN      18704/ragent
tcp        0      0 *:1541                      *:*                         LISTEN      18711/rmngr
tcp        0      0 *:1560                      *:*                         LISTEN      18711/rmngr
tcp        0      0 *:1561                      *:*                         LISTEN      18704/ragent
tcp        0      0 *:1562                      *:*                         LISTEN      18720/rphost
tcp        0      0 *:1563                      *:*                         LISTEN      18720/rphost

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

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

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

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

Установка сервера 1С Предприятие 8.2 или 8.3 на ALT Linux для документооборота

Стенд для 1С:Документооборот разворачивали двое - представитель ALT Linux и представитель 1c-kpd.

Опишу линуксовую часть.

Порядок шагов:

  • Разворачиваем сервер. Использовался сервер на 5-ой платформе, после установки дотянут до текущего p5
  • устанавливаем PostgreSQL от Etersoft: postgresql-8.3eter - установка и настройка по стандарту
  • Устанавливаем Алладиновские ключи. HASP-ключи взяты для Red Hat, usb-ключ воткнут - должен загореться после установки
  • Устанавливаем 1С 8.2.10.77 (с более старыми версиями проблема с документооборотом) взято с фтпшника компании http://1c-kpd.ru/ (нужен пароль)
  • Настраиваем apache для работы веб-клиента

Все шаги, кроме последнего достаточно тривиальны, за исключением мелочи - человек (из 1С) настраивающий сервер со стороны винды сообщил о каких-то ошибках которые лечатся запуском скрипта /opt/1C/8.2/i386/utils/config-server

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

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

Описан дефолтный вариант — подкаталог в основном сайте. В примерах используется версия сервера 1С 8.3.

Настройка проводится в четыре шага:

  1. Надо создать в домашнем каталоге пользователя usr1cv82 в случае 1С 8.2 или usr1cv8 в случае 1C 8.3 корень будущего сервера
  2. и положить в него файл-описание подключения к серверу (*.vrd),
  3. затем подключить модуль 1С к апачу
  4. и создать конфиг хоста в апаче.

Информация о модуле:

    • имя модуля: _1cws_module
    • файл модуля 1C 8.* для apache 2.2: /opt/1C/v8.*/x86_64/wsap22.so
    • файл модуля 1C 8.* для apache 2.4: /opt/1C/v8.*/x86_64/wsap24.so
    • файл модуля 1C 8.* для apache 2.0: /opt/1C/v8.*/x86_64/wsapch2.so

На 2017 год внедренцы рекомендуют использовать apache 2.2, хотя в пакете 1C_Enterprise83-ws есть модули для apache 2.0, 2.2 и 2.4.

Шаг 1. Создаем корень сервера
install -d -o usr1cv8 -g grp1cv8 /home/usr1cv8/www/DemoApp 

Это просто каталог, владельцы которого usr1cv8:grp1cv8 (или можно сделать apache2:grp1cv8 и дать права доступа владельцу только на чтение).

Надо позаботиться о том, чтобы apache2 мог его увидеть в /home/usr1cv8:

chmod 750 /home/usr1cv8
usermod -a -G grp1cv8 apache2

Остальное можно сделать автоматически разом либо вручную поэтапно. Второй способ гибче, например, можно назначить каждой информационной базе отдельное доменное имя (создать VirtualHost).

Автоматически

В главе 7 документации администратора описана команда webinst.

Используя webinst, нужно создавать файл в /etc/httpd2/conf/extra-available/ и симлинк на него в /etc/httpd2/conf/extra-enabled/. Пример для версии 8.3:

touch /etc/httpd2/conf/extra-available/1c.conf
/opt/1C/v8.3/x86_64/webinst -publish -apache22 -wsdir DemoApp -dir /home/usr1cv8/www/DemoApp -connstr "Srvr=127.0.0.1;Ref=doc_demo;" -confpath /etc/httpd2/conf/extra-available/1c.conf
ln -s ../extra-available/1c.conf /etc/httpd2/conf/extra-enabled/1c.conf 

Смотрим, что получилось:

# cat /etc/httpd2/conf/extra-enabled/1c.conf
LoadModule _1cws_module "/opt/1C/v8.3/x86_64/wsap22.so"

# 1c publication
Alias "/crm" "/home/usr1cv8/www/DemoApp/"
<Directory "/home/usr1cv8/www/DemoApp/">
    AllowOverride All
    Options None
    Order allow,deny
    Allow from all
    SetHandler 1c-application
    ManagedApplicationDescriptor "/home/usr1cv8/www/DemoApp/default.vrd"
</Directory>
# cat /home/usr1cv8/www/DemoApp/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="/DemoApp"
                ib="Srvr=127.0.0.1;Ref=doc_demo;"/> 
<pre>
===== Вручную =====

: '''Шаг 2: пишем default.vrd'''

В /home/usr1cv82/www/DemoApp/ надо создать файл default.vrd такого содержания:
<pre>
 <?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="/DemoApp"
 		ib="Srvr=192.0.2.54;Ref=doc_demo;">
 </point>

В третьей строке значение параметра "base" отражает тот факт, что /home/usr1cv8/www/DemoApp - корень веб-интерфейса информационной базы.

В четвертой строке в параметре "ib" указана строка подключения к информационной базе (connection string), в примере IP сервера — 192.0.2.54 (можно указать доменное имя интерфейса, можно localhost), база 1С называется "doc_demo". База должна быть создана в Конфигураторе.
Правильное значение connection string посмотрите в клиенте 1С внизу окна выбора информационной базы.


Шаг 3: Добавляем модуль в конфигурацию apache

Для этого в /etc/httpd2/conf/mods-available создаём файл _1cws_module.load:

echo LoadModule _1cws_module /opt/1C/v8.*/i386/wsap22.so > /etc/httpd2/conf/mods-available/_1cws_module.load

Затем включаем его в работу:

ln -s ../mods-available/_1cws_module.load /etc/httpd2/conf/mods-enabled/_1cws_module.load
Шаг 4. Конфиг хоста

Cоздаем файл /etc/httpd2/conf/include/1c.conf такого вида:

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

Включаем /etc/httpd2/conf/include/1c.conf в конфигурацию стандартного виртуального хоста:

sed 's,\(</Virt\),\tInclude /etc/httpd2/conf/include/1c.conf\n\1,' /etc/httpd2/conf/sites-available/default.conf
Проверка

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

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

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

В файле /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
 
Личные инструменты