В конце мая 2013 года компания 1С представила первый стабильный релиз платформы 1С:Предприятие версии 8.3. Главная особенность ветки 8.3 - это выпуск нативного клиента под *nix-подобные операционные системы. И вот спустя два года я решил написать новую статью посвященную этой теме. Я помню, что большая часть тех, кому была интересна моя прошлая статья просили и дальше брать в основу Ubuntu. Тем не менее, я решил взять за основу Debian 8 «Jessie». Основная причина в том, что производительность серверов 1С:Предприятие на Ubuntu оставляет желать лучшего. В то время как Debian и CentOS показывают более высокую производительность (CentOS даже опережает Debian, но я постараюсь исправить это положение). Сравнительные таблицы производительности серверов 1С:Предприятие вы можете поискать в интернете. Сам я пока ничего толкового не нашел.
Содержание
- Предисловие.
- Подготовка сервера.
- Установка PostgreSQL 9.4.
- Установка сервера 1С:Предприятие 8.3.
- Установка драйвера для аппаратной лицензии 1С (HASP).
- Установка клиента 1С:Предприятие 8.3.
- Публикация ИБ на веб-сервере Apache 2.4.
- Послесловие.
Предисловие. ↑
Новичкам в *nix рекомендую выполнять установку по порядку и согласно инструкции. Статья специально разбита на главы, чтобы читатели могли пошагово проходить процесс установки. Вопросы любителей сделать «по своему» в большинстве своем будут проигнорированы. Если же вы всё делали согласно статье, но тем не менее у вас возникла проблема, внимательно проверьте все свои действия. Скорее всего, вы допустили ошибку. В случае если проверка не выявила ошибок, то вы можете описать возникую проблему в комментариях или в теме на нашем форуме, где форумчане постараются вам помочь. При этом рекомендую подробно описывать возникшую у вас проблему.
Подготовка сервера. ↑
Основное отличие Debian от Ubuntu с которым очень часто сталкиваются пользователи Ubuntu, это отсутствие в стандартной конфигурации команды повышения привилегий sudo
. Операции требующие прав root, выполняются от суперпользователя root. Тем же кто не хочет изменять своей привычке работать с sudo
, достаточно при установке ОС не задавать пароль суперпользователю root и пакет sudo будет установлен и настроен. Для наглядности, перед каждой командой будет указан определенный символ, если это #
- значит команда выполняется от имени суперпользователя root, если символ $
- то команда выполняется от имени текущего пользователя.
1. Итак у вас имеется установленный Debian 8. Если установка только предстоит, рекомендую выбрать пункты:
- Сервер SSH
- Стандартные системные утилиты
Как это указано на скриншоте:
Остальные пункты на ваше усмотрение.
2. Сразу же поставим последние обновления, предварительно получив права root:
1 2 3 4 |
|
3. Архивы с установочными пакетами можно скачать из интернета сразу на сервер или скопировать заранее скачанные установочные пакеты в расшаренный каталог samba. Предположу, что samba настроена не у всех, потому воспользуемся USB-накопителем (флешкой). Создаем в корне флешки каталоги:
1 2 3 |
|
Раскидываем пакеты по каталогам, предварительно распаковав их.
4. Создаем директорию, к которой будем монтировать флешку:
1
|
|
5. Подключаем флешку к серверу, просматриваем как она подключилась:
1 2 3 4 5 6 7 8 9 10 11 |
|
У меня это sdb4
, теперь монтируем флешку сразу в каталог 1сinstall:
1
|
|
6. Проверяем что намонтировали:
1
|
|
Т.к. на моей флешке ничего не было кроме папок с установочными пакетами, отобразились только они:
1 2 3 |
|
ПРИМЕЧАНИЕ! Если вы ставите 1С:Предприятие на удаленную машину, то для передачи файлов можете воспользоваться утилитой SCP, которая входит в состав пакета openssh-client.
Установка PostgreSQL 9.4. ↑
Для корректной работы PostgreSQL в связке с 1С:Предприятие, необходимо провести ряд подготовительных процедур.
1. Для начала надо установить необходимые локали. Это en_US.UTF-8
и ru_RU.UTF-8
. При этом локаль ru_RU.UTF-8
должна быть выбрана по умолчанию. Отредактировать список локалей можно командой:
1
|
|
2. Затем надо установить зависимости:
1
|
|
3. К сожалению, мейнтейнеры работающие на 1С, не следят за порядком в зависимостях своих пакетов. По этой простой причине, нам надо скачать и установить пакет libicu48:
1 2 |
|
4. Так же необходимо увеличить максимальный размер сегмента памяти до 64 Мб:
1
|
|
Дабы необходимые изменения вступили в силу, вводим:
1
|
|
Тут товарищ Vasiliy P. Melnik в своем комментарии пишет, что в данной процедуре необходимости нет. Я его утверждение не проверял, но вы можете попробовать пропустить 4 пункт. А если всё таки процедура потребуется, вы можете выполнить её позже.
5. В этой статье я решил использовать версию PostgreSQL от 1С. Переходим в каталог с пакетами PostgreSQL:
1
|
|
Проверяем что есть в каталоге:
1 2 3 4 5 6 7 8 9 |
|
Всего 6 пакетов, которые и нужно установить. В каталоге addons, находятся дополнительные пакеты, их я ставить не буду.
1
|
|
После установки проверим, запустился ли сервис PostgreSQL:
1
|
|
Если пакеты были установлены правильно, то вы получите примерно следующее сообщение (выхлоп):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Если же вы получите сообщение похожее на это:
1 2 3 4 5 |
|
Нас интересует последняя строчка, где сообщается, что кластер PostgreSQL не обнаружен. Чтобы исправить эту ситуацию, достаточно просто перезапустить сервис PostgreSQL:
1
|
|
После чего снова проверьте статус сервиса. В итоге вы должны получить что-то похожее на первое сообщение.
6. После установки нужно еще немного подправить конфигурационный файл. Как ни странно PostgreSQL будучи установленным из пакетов 1С, содержит неправильные настройки для обработки экранирующих символов, и при создании базы выдает ошибку:
1
|
|
или
1
|
|
Чтобы избежать вышеуказанных ошибок нужно отредактировать настройки PostgreSQL:
1
|
|
Приведя нижеуказанные параметры к следующему виду:
1 2 3 |
|
Обновим конфигурацию, не перезапуская сервис:
1
|
|
7. Зададим пароль внутреннему пользователю PostgreSQL, предварительно авторизировавшись под системным пользователем postgres. Итак, авторизация:
1
|
|
Переход в домашний каталог текущего пользователя:
1
|
|
Смена пароля у внутреннего пользователя PostgreSQL:
1
|
|
Где -U postgres
- системный пользователь от имени которого будет запущен psql
, user postgres
- внутренний пользователь БД, ну а 123456
- произвольный пароль который будет задан внутреннему пользователю БД.
Если смена пароля прошла успешно, вы должны получить сообщение:
1
|
|
Выход из окружения системного пользователя postgres:
1
|
|
8. Напоследок зафиксируем пакеты PostgreSQL, чтобы они не обновлялись из стандартных репозиториев:
1
|
|
Если команда выполнена правильно, вы должны получить следующее сообщение:
1 2 3 4 5 6 |
|
На этом установка PostgreSQL закончена. Вопросы настройки и оптимизации будут рассмотрены в отдельных статьях.
Установка сервера 1С:Предприятие 8.3. ↑
Теперь нам предстоит установка сервера 1С:Предприятие. Как и в случае с PostgreSQL нам предстоит ряд подготовительных работ необходимых для штатного функционирования сервера 1С:Предприятие.
1. Переходим в из каталога postgres в каталог 1c:
1
|
|
2. Устанавливаем дополнительные пакеты, которые необходимы для работы сервера:
1
|
|
3. Так как я не нашел достойной альтернативы пакету ttf2pt1, который не тянет кучу зависимостей. То я буду ставить его. В репозиториях его нету, скачаем из архива Debian:
1
|
|
Докачиваем libt1-5 от которого зависит ttf2pt1:
1
|
|
Устанавливаем пакеты:
1
|
|
Кстати, жду предложений по возможной альтернативе пакету ttf2pt1.
4. Посмотрим, какие пакеты есть у нас в каталоге:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Всего 8 пакетов, из которых нам для функционирования сервера 1С:Предприятия необходимы 3 пакета: 1c-enterprise83-common, 1c-enterprise83-server, 1c-enterprise83-ws.
Небольшая таблица с пояснениями по назначению пакетов:
Название пакета | Описание пакета |
---|---|
1c_enterprise83-client… | Компоненты клиента 1С Предприятие 8.3 для Linux |
1c_enterprise83-thin-client… | Компоненты тонкого клиента 1С Предприятие 8.3 для Linux |
1c_enterprise83-common… | Общие компоненты 1С Предприятие 8.3 для Linux |
1c_enterprise83-server… | Сервер 1С Предприятие 8.2 для Linux |
1c_enterprise83-ws… | Компоненты интернет-сервисов 1С Предприятие 8.3 для Linux |
1c_enterprise83-…-nls… | Компоненты необходимые для ОС не поддерживающих кириллическую кодировку |
5. Устанавливаем необходимые пакеты:
1
|
|
6. Даем пользователю usr1cv8 и группе grp1cv8 права на установочную директорию 1С:Предприятия:
1
|
|
7. В выхлопе установщика вы можете заметить предупреждение:
1 2 3 |
|
Начиная с версий 8.3.7, данная проблема исправлена. Потому, если вышеуказанного сообщения вы не получали, можете пропустить пункты 8 и 9.
8. Сообщение описанное в пункте 7 мы получаем из-за отсутствия в скрипте запуска LSB-тегов. Ошибка не критична и никак не повлияет на работу сервера 1С:Предприятие. Но её легко можно решить, для этого добавим LSB-теги в сценарий сервиса 1С:Предприятие:
1
|
|
Находим строки:
#!/bin/bash
#------------------------------------------------------------
# 1C:Enterprise server configuration parameters
#------------------------------------------------------------
# 1C:Enterprise server keytab file.
Приводим к следующему виду:
#!/bin/bash
#------------------------------------------------------------
# 1C:Enterprise server configuration parameters
#------------------------------------------------------------
### BEGIN INIT INFO
# Provides: srv1cv83
# Required-Start: $remote_fs $network $syslog $named
# Required-Stop: $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: 1C:Enterprise 83 server.
### END INIT INFO
# 1C:Enterprise server keytab file.
После изменения сценария, запускаем:
1
|
|
9. Перезапускаем службу сервера 1С:Предприятие:
1
|
|
10. Проверяем запускаются ли при старте системы сервер 1С:Предприятие:
1
|
|
Вы должны получить примерно такое сообщение:
1 2 3 |
|
11. Так же для профилактики можно проверить, все ли процессы сервера запущены:
1
|
|
От имени пользователя usr1cv8 должно быть запущено три процесса: ragent, rmngr и rphost. После имен процессов идут номера портов, через которые они работают:
1 2 3 4 |
|
Установка драйвера для аппаратной лицензии 1С (HASP). ↑
Большая часть новичков впервые столкнувшиеся с процессом установки 1С:Предприятие не могут понять о какой лицензии, ключе, HASP идет речь. Итак, лицензия 1С необходима для запуска продуктов 1С:Предприятие. Лицензии 1С можно разделить на аппаратные и программные. Мы рассмотрим аппаратную лицензию (USB-токен)). Аппаратные ключи 1С делятся на 3 вида и их можно отличить по цвету:
- зеленый - серверный ключ 1С (сервер 1С:Предприятия),
- синий (фиолетовый) - ключ 1С, который поставляется вместе с конфигурацией и является однопользовательским,
- красный - лицензии на пользователей, данный ключ 1С может приобретаться отдельно в том случае, если у Вас уже есть в наличие какая-либо конфигурация 1С:Предприятие.
Клиентское приложение допускает использование следующих ключей HASP:
- локальный клиентский ключ серии ORGL8 на 1 пользователя,
- сетевой клиентский ключ серии ORGL8 на 5, 10, 20, 50, и 100 пользователей,
- сетевой клиентский ключ серии ORGLА на 300 пользователей,
- сетевой клиентский ключ серии ORGLВ на 500 пользователей.
Причём на одном компьютере может быть установлено не более одного ключа одной серии. Подробнее о видах лицензии и ключей вы можете прочитать здесь.
Из вышеуказанного следует - нам нужны два типа лицензий. Лицензия для сервера 1С:Предприятие и лицензия для клиента 1С:Предприятие. После того как мы выяснили какие ключи нам необходимы, можно перейти к установке драйвера. Свежий драйвер можно скачать на официальном сайте. Большинству подойдет HASP 4, его и скачивайте.
1. Как вы помните, всё необходимое я уже скачал, потому просто переходим из каталога 1с, в каталог hasp:
1
|
|
Проверим, что есть в каталоге:
1 2 3 4 |
|
Установочный пакет есть, осталось установить его:
1
|
|
2. После установки сервис не запустился, запустим его:
1
|
|
Если сервис запустился штатно, команда просто отработает не выдав сообщений. Проверить запущен ли сервис можно командой:
1
|
|
Вы должны получить сообщение:
1 2 3 4 5 6 7 8 |
|
ПРЕДУПРЕЖДЕНИЕ! Для 64-битного сервера 1С:Предприятие, нужен 64-битный серверный HASP-ключ. 32-битный серверный HASP-ключ с 64-битным сервером 1С:Предприятие работать не будет!
ПРИМЕЧАНИЕ! Сервер 1С:Предприятие под *nix-подобные операционные системы не требует наличия серверного ключа, если число пользользователей не превышает 12. В этом случае требуется наличие только клиентских лицензий. Тем не менее, согласно правилам лицензирования, организация должна приобрести серверный ключ.
На этом установка драйвера закончена.
Установка клиента 1С:Предприятие 8.3. ↑
Установка клиента.
Итак, дано: рабочая станция с Debian 8 «Jessie» + DE Cinnamon на борту. Я предпочел Cinnamon, но каждый может выбрать окружение (DE) себе по вкусу. Можно приступить к установке клиента 1С:Предприятие.
1. По уже заведенной традиции, устанавливаем дополнительные пакеты, необходимые для работы 1С:Предприятие:
1
|
|
2. На памятной флешке, имеются также пакеты клиента. Подключим флешку как указано в пунктах 4 и 5, главы Подготовка сервера и сразу перейдем в каталог с пакетами 1С:Предприятие:
1
|
|
Посмотрим, что имеется в каталоге:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
3. Есть два варианта установки клиента. Первый вариант - установка полноценного клиента (включает толстый и тонкий клиенты), второй вариант - установка тонкого клиента. В случае с установкой полноценного клиента, необходимо также устанавливать и серверную часть.
3.1. Сначала рассмотрим установку полноценного клиента:
1
|
|
После чего надо выполнить процедуры указанные в пунктах с 6 по 9, главы Установка сервера 1С:Предприятие 8.3.
3.2. Тонкий клиент, можно устанавливать на те машины, где не планируется использование толстого клиента. Преимущество тонкого клиента, это отсутствие зависимостей от компонентов сервера 1С:Предприятие, а также возможность работать через интернет. Итак, установка тонкого клиента:
1
|
|
В каких случаях нам необходим толстый клиент?
- Работа с конфигуратором,
- Создание информационных баз,
- Проведение объемных вычислений (в случае толстого клиента, все вычисления проводятся на стороне клиента).
Подробнее о тонких и толстых клиентах можно почитать здесь.
4. Теперь нам необходимо выбрать каким способом мы будем взаимодействовать с сервером. В зависимости от обстоятельств и предпочтений, вы можете установить DNS-сервер, или прописывать имя сервера на каждой клиентской машине вручную:
1
|
|
Надо добавить строку:
1
|
|
Где 192.168.1.1
- IP-адрес сервера, as1
- имя сервера, as1.nixway.loc
- имя сервера в локальном домене, его указывать не обязательно.
5. После того как вы добавили вышеуказанную строку, проверьте, доступен ли сервер по указанному имени:
1
|
|
Вы должны получить примерно такой ответ:
1 2 3 4 5 6 7 8 9 |
|
Установка клиента закончена, можно приступать к созданию информационной базы.
Создание информационной базы.
Для начала можно (но совсем необязательно) установить демонстрационную конфигурацию. Дабы продемострировать работую так называемого «Управляемого приложения». Демонстрационная конфигурация идет в комплекте с 1С:Предприятие 8.3. Установщик конфигурации представлен в виде простого скрипта. Потому, описывать процесс установки я не буду, просто выложу несколько скриншотов процесса установки:
1. Создание информационных баз на *nix-подобных ОС должно проходить из под толстого клиента. В противном случае вы рискуете получить ошибку:
Кроме вышеуказанной ошибки, встречается и другая, но уже в толстом клиенте. Когда при добавлении новой ИБ 1С:Предприятие выдает сообщение:
ИБ создается, но 1С:Предприятие некорректно обрабатывает её создание. В этом случае достаточно просто добавить ИБ в список:
Вышеуказанные ошибки будут рассмотрены в отдельной статье.
2. При первом запуске 1С:Предприятие сразу же предлагает нам добавить информационную базу (ИБ), жмем Да:
3. Выбираем пункт Создание новой информационной базы, жмем Далее >:
4. Выбраем шаблон конфигурации для создаваемой ИБ или же создаем ИБ без конфигурации, жмем Далее >:
5. Задаем имя ИБ и выбираем пункт На сервере 1С:Предприятия, жмем Далее >:
6. По порядку указываем: доменное имя или IP-адрес сервера 1С:Предприятие, имя ИБ, параметры соединения, тип СУБД, адрес сервера баз данных (БД), имя БД на сервере БД, имя пользователя сервера БД, пароль пользователя сервера БД, жмем Далее >:
7. Параметры запуска оставляем без изменений, жмем Готово:
8. Если вы всё сделали правильно, то через некоторое время ИБ будет создана и вы увидите её в списке:
9. Теперь, когда мы создали ИБ, можно её запустить. Как вы помните, я создавал ИБ из шаблона демонстрационной конфигурации. Так выглядит рабочее окно этой конфигурации:
Ну и конечно же конфигуратор:
Публикация ИБ на веб-сервере Apache 2.4. ↑
Хочу обрадовать тех, кому не хватало возможности публикации информационной базы на веб-сервере Apache. Добавление поддержки последней версии Apache, я заметил при установке 1С:Предприятие версии 8.3.8.1652. Может поддержка Apache 2.4 появилась и раньше. Но проверять мне было лень, а новостей на эту тему я не нашел. Даже на официальном сайте 1С, на данный момент устаревшая информация. Процесс публикации не изменился. Обращаю особое внимание, что процесс установки описан для Apache не ниже 2.4.
Создаем директорию для vrd-файла:
1
|
|
А также файл конфигурации Apache:
1
|
|
Переходим в каталог со утилитой публикации веб-клиента:
1
|
|
Запускаем утилиту:
1
|
|
Где /var/www/ib/ibname
- директория где будет создан vrd-файл, ibname
- имя ИБ, as1.nixway.loc
- адрес сервера 1С:Предпрятие, а /etc/apache2/conf-available/ibname.conf
- путь до конфигурационного файла Apache.
Подключаем конфигурацию:
1
|
|
Перечитываем конфигурацию Apache:
1
|
|
Если процедура публикации была проведена корректно, ИБ будет доступна по адресу:
1
|
|
Послесловие ↑
Прошу в комментариях задавать вопросы только по статье. Если же вы найдете в статье ошибку или у вас есть предложения, просьбы, вопросы выходящие за рамки статьи, можете оставлять их на нашем форуме, в специально созданной теме.
Напоминаю копипастерам, использование прямой ссылки на оригинальную статью обязательно.
Статья обновлена 10 августа 2016 года.