• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
+380 (44) 364 05 71

«1С:Предприятие» одна из самых распространенных программ в бухгалтерском учете на территории бывшего СССР. Рабочий сервер, входящий в состав 32-разрядного или 64-разрядного кластера серверов «1С:Предприятие», должен удовлетворять требованиям:

  • Операционная система Windows XP Service Pack 2 и выше или Microsoft Windows Server 2003 и выше, один из поддерживаемых дистрибутивов Linux;
  • Процессор Intel Pentium/Xeon 2400 МГц и выше, желательно использование многопроцессорных или многоядерных машин, т. к. это положительно сказывается на пропускной способности кластера серверов «1С:Предприятие».
  • Оперативная память не менее 4 Гбайт.

Обычно установку выполняют на Windows и используют базы данных MSSQL. Такой вариант инсталляция достаточно простой, не требующий больших знаний в системном администрировании. Но у него есть два существенных минуса:

  1. Высокая стоимость лицензии Windows и Microsoft SQL Server

  2. Отсутствие гибкости, которую дает Linux.

Поэтому мы решили рассказать Вам о том как установить «1С:Предприятие» на Linux сервер.

Требования к программному обеспечению Linux сервера для 1С:

  • PostgreSQL 8.1 и выше;
  • UnixOdbc версии 2.2.11 и выше для использования внешних источников данных на веб-сервере «1С:Предприятие».
  • Для работы под управлением ОС Linux необходимо наличие установленных библиотек:
    • Webkitgtx 1.2.5 и выше;
    • ImageMagick 6.2.8 и выше;
    • Freetype 2.1.9 и выше;
    • Libgsf 1.10.1 и выше;
    • Glib 2.124 и выше;
    • Kerberos 1.4.2 и выше;
    • GSS-API Kerberos 1.4.2 и выше;
    • Microsoft Core Fonts;
    • UnixODBC 2.2.11 и выше для использования внешних источников данных на сервере «1С:Предприятие».

Подготовка к настройке 1С на Ubuntu server

Скачиваем необходимый пакет с сайта 1С https://portal.1c.ru/

Для этого вводим наши логин и пароль в форме, после нажатия в правом верхнем углу кнопки «Войти»

Вход на портале 1С

После чего попадаем на страницу приведённую на скриншоте ниже

Портал 1С

Нажимаем «1С:Обновление программ» затем «Скачать обновления программ», после этого попадаем на страницу загрузки доступных нам, для загрузки, пакетов.

Загрузка пакетов 1С

Настройка PostgreSQL для 1С Linux

В начале нужно установить необходимые локали и определить локаль по умолчанию. Локали определяют используемые в системе языки и т.д..

Локаль по умолчанию должна совпадать с языком базы данных, которая будет создана сервером 1С при создании информационной базы.

sudo dpkg-reconfigure locales

 

Выбор языка

Выбираем локаль по умолчанию

Выбор локали по умолчанию

Пытаемся установить libicu*

 

sudo apt-get install libicu57

 

Если получаем ошибку E: Package 'libicu57' has no installation candidate

Выполняем

 

wget http://launchpadlibrarian.net/317614660/libicu57_57.1-6_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu60_60.2-3ubuntu3_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu63_63.2-2_amd64.deb

 

Затем

 

sudo dpkg -i libicu*
apt --fix-broken install

Установка libicu*

Начинаем процесс установки (под root пользователем)

 

apt install -y wget gnupg2 || apt install -y gnupg

wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add -

echo deb http://repo.postgrespro.ru/1c-archive/pg1c-11.1/debian stretch main >
/etc/apt/sources.list.d/postgrespro-1c.list

apt update -y
apt install -y postgrespro-1c-11-server

 

Cоздаём и инициализируем кластера СУБД

/opt/pgpro/1c-11/bin/pg-setup initdb

 

Получаем ответ Initializing database ... OK

Активируем службу в системе

 

/opt/pgpro/1c-11/bin/pg-setup service enable

 

После этого службу нужно запустить

 

service postgrespro-1c-11 start

 

Проверяем статус службы

 

service postgrespro-1c-11 status

 

Проверка статуса службы

Задаём пароль внутреннему пользователю PostgreSQL (Обязательно !!!)

Вводим

 

su postgres

 

Переходим в домашний каталог пользователя

 

cd ~

 

После этого выполняем команду приведённую ниже

 

/opt/pgpro/1c-11/bin/psql -U postgres -c "alter user postgres with password 'Ваш_пароль';"

 

где -U postgres - системный пользователь от имени которого будет запущен PostgreSQL, user postgres - внутренний пользователь БД. Ваш_пароль - пароль который мы задаем внутреннему пользователю БД.

Вводим описанную выше команду, если в ответ получили ALTER ROLE - Всё ОК.

Выполняем

 

exit

 

Напоследок зафиксируем пакеты PostgreSQL, чтобы они не обновлялись

 

apt-mark hold libpq5 postgrespro*

 

Для разнесения сервера 1С и сервера баз данных на два различных физических сервера

1. По умолчанию, PostgreSQL настроен на подключение только с локального хоста (localhost) по порту 5432. Поэтому необходимо в файле конфигурации postgresql.conf указать адрес, на котором будет приниматься соединения

 

nano /var/lib/pgpro/1c-11/data/postgresql.conf
listen_addresses = `Ваш_IP_адрес`

 

2. Второй момент на который необходимо обратить внимание, это правила авторизации пользователей к базам данных и правила разрешающие подключения к этим базам "из вне". Есть файл конфигурации клиентской аутентификации pg_hba.conf.

Есть строки

 

# IPv4 local connections:

 

host    all             all             127.0.0.1/32            md5

 

В нем необходимо разрешить предоставлять доступ ко всем БД, и пользователям с адреса сервера 1С: Предприятия (если он стоит отдельно) к примеру 111.222.333.444

 

# IPv4 local connections:

host    all             all             127.0.0.1/32            md5

host    all             all             111.222.333.444/32            md5

Перезапускаем PostgreSQL

 

sudo sservice postgrespro-1c-11 restart

 

Если сервер 1С уже установлен конектимся к базе используя следующие данные:

  • Сервер баз данных - IP адрес сервера Postgresql
  • Тип СУБД - Postgresql
  • Пользователь сервера БД - postgres и пароль тот, который был назначен ранее.

Подключение к базу данных

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

Устанавливаем дополнительные пакеты, которые необходимы для работы сервера:

 

apt install -y imagemagick libglib2.0-0 libgsf-1-114 ttf-mscorefonts-installer t1utils unixodbc

 

Принимаем соглашение

Приняте соглашения

Затем скачиваем и устанавливаем ttf2pt1_3.4.4-1.4_amd64.deb и libt1-5_5.1.2-3.6_amd64.deb

 

dpkg -i ttf2pt1*.deb libt1*.deb

 

Устанавливаем непосредственно сервер 1С

 

sudo dpkg -i 1c-enterprise83-common_*.deb
sudo dpkg -i 1c-enterprise83-common-nls_*.deb
sudo dpkg -i 1c-enterprise83-server_*.deb
sudo dpkg -i 1c-enterprise83-server-nls_*.deb
sudo dpkg -i 1c-enterprise83-ws_*.deb
sudo dpkg -i 1c-enterprise83-ws-nls_*.deb

 

Рекурсивно изменим владельца каталога /opt/1C

 

chown -R usr1cv8:grp1cv8 /opt/1C

 

И запускаем сервер

 

service srv1cv83 start

 

Запуск 1С сервера

Если после перезагрузки сервер не стартует автоматом, то необходимо ввести команду

 

sudo systemctl enable srv1cv83

 

Установка 32-битного 1С Сервера 8.3

Включаем поддержку архитектуры i386 и обновляем список пакетов:

 

sudo dpkg --add-architecture i386
sudo apt-get update

 

Устанавливаем необходимые зависимости в архитектуре i386:

 

sudo apt-get install imagemagick:i386
sudo apt-get install unixodbc:i386
sudo apt-get install ttf-mscorefonts-installer

 

(в процессе установки необходимо принять условия лицензионного соглашения)

Скачиваем версию i386 библиотеки libgsf-1-114 и устанавливаем ее именно в такой последовательности:

 

wget http://ftp.us.debian.org/debian/pool/main/libg/libgsf/libgsf-1-common_1.14.36-1_all.deb
wget http://ftp.us.debian.org/debian/pool/main/libg/libgsf/libgsf-1-114_1.14.36-1_i386.deb
sudo dpkg -i libgsf-1-common_1.14.36-1_all.deb
sudo dpkg -i libgsf-1-114_1.14.36-1_i386.deb

 

Установку сервера производим по примеру приведённому выше.

Создание базы 1С cli , bash , без gui , без графики и mmc консоли

Для администрирования сервера 1С без привлечения оснастки Windows можно использовать консольную утилиты ras и rac, выполнив команду:

 

/opt/1C/v8.3/x86_64/ras —daemon cluster

 

Для работы в 1С нам необходима информационная база. Для ее создания необходимо запустить кластером серверов 1С на Linux. Для этого переходим в каталог платформы:

 

cd /opt/1C/v8.3/x86_64/

 

запустим кластер серверов:

 

/opt/1C/v8.3/x86_64/ras —daemon cluster

 

Для создания базы данных нам требуется идентификатор кластера. Его можно получить, введя команду:

 

/opt/1C/v8.3/x86_64/rac cluster list

 

cluster : 05f1e14b-arae-13d8-af56-00271d10140a

host : srv-db

port : 1541

name : «Локальный кластер»

expiration-timeout : 0

lifetime-limit : 0

max-memory-size : 0

max-memory-time-limit : 0

security-level : 0

session-fault-tolerance-level : 0

load-balancing-mode : performance

errors-count-threshold : 0

kill-problem-processes : 0

 

Проверить перечень созданных баз можно командой:

 

/opt/1C/v8.3/x86_64/rac infobase --cluster=05f1e14b-arae-13d8-af56-00271d10140a
summary list

 

Добавим администратора кластера:

 

./rac cluster admin —cluster=CLUSTER_UID register —name=admin —pwd=Pa$$w0rD
—auth=pwd
./rac agent admin register —name=admin —pwd=Pa$$w0rD —auth=pwd

 

проверка пароля

 

./rac infobase —cluster= 05f1e14b-arae-13d8-af56-00271d10140a —cluster-user=admin —
cluster-pwd=Pa$$w0rD summary list

 

Ошибка операции администрирования Администратор кластера не аутентифицирован

Добавим базу:

 

./rac infobase create —cluster=CLUSTER_UID —create-database —name=demo —
dbms=PostgreSQL —db-server=localhost —db-name=demo —locale=ru —db-user=postgres
—db-pwd=Pa$$w0rD —cluster-user=admin —cluster-pwd=Pa$$W0rD —license-
distribution=allow

 

/opt/1C/v8.3/x86_64/rac infobase —
cluster=<ИдентификаторВашегоКластераСерверов> create —create-database —
name=<ИмяИнформационнойБазы> —dbms=<ТипСУБД> —db-
server=<ИмяСервераБазДанных> —db-name=<ИмяБазыДанных> —locale=ru —db-
user=<ИмяАдминистратора> —db-pwd=<ПарольАдминистратора> —license-
distribution=allow

 

./rac infobase create —cluster=68cfa0a1- arae-15d6-af63-00271d10140a —create-database
—name=demo —dbms=PostgreSQL —db-server=localhost —db-name=demo —locale=ru
—db-user=postgres —db-pwd=password —cluster-user=admin —cluster-pwd=Pa$$w0rD —
license-distribution=allow

 

На эту команду должен быть получен ответ в виде идентификатора новой базы данных 1С.

Ошибка операции администрирования

Ошибка СУБД:

ОШИБКА: тип «mvarchar» не существует

LINE 1: create table Config (FileName mvarchar(128) not null, Creati…

Выполните

 

pg_drop ИМЯ_БАЗЫ.

 

затем заново pg_create

Эту ошибку вероятнее всего выдает когда база создана в неправильной кодировке locale-a.

Теперь можно подключиться к созданной базе 1С, указав имя сервера и базы данных.

Графическая оболочка для работы с кластером 1С под Linux

https://nuk-svk.ru 1C Rac GUI это графическая оболочка для утилиты управления кластером серверов 1С.

Для работы требуется Tcl/Tk не ниже 8.6 версии и пакет 1c-server куда входит утилита rac

https://github.com/arkuznetsov/irac

 

sudo apt-get install tk

 

Установка Apache2

Если у вас отсутствует DNS-сервер, который будет резолвить имена, то нужно прописать имя сервера в хосты на клиенте:

 

nano /etc/hosts

 

xxx.xxx.xxx.xxx servername

Непосредственно установка Apache

 

apt install apache2

 

Проверить версию можно либо до установки apt show apache2 или после установки apache2 -v

Установка apache

Настройка веб-доступа

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

 

service apache2 stop

 

создать папки под базы, в которых будет лежать конфигурационный файл default.vrd:

 

mkdir /mnt/www/

 

Опубликовываем базы на веб-сервере

 

/opt/1C/v8.3/x86_64/webinst - -wsdir  -dir
/mnt/www/ -connstr "Srvr=;Ref=;"
-confPath /etc/apache2/apache2.conf

 

где:

apacheVer – используемая версия apache

serverAddr – адрес сервера

baseFolderName – имя папки под базу

baseWebName – веб-имя базы, вводимое в адресной строке

base1CName – имя базы на сервере 1С

Пример:

 

/opt/1C/v8.3/x86_64/webinst -apache24 -wsdir TestBase -dir /mnt/www/TestBase -connstr 
"Srvr=localhost;Ref=TestBase;" -confPath /etc/apache2/apache2.conf

 

После выполнения команды в /etc/apache2/apache2.conf добавится строка:

LoadModule _1cws_module "/opt/1C/v8.3/x86_64/wsap24.so"

Запускаем apache и перезапускаем 1С

 

service apache2 start
service srv1cv83 restart

 

В файлах default.vrd может понадобиться настроить список используемых веб-сервисов.

Возможные ошибки:

Ошибка:

apache2: Syntax error on line 240 of /etc/apache2/apache2.conf: Cannot load

/opt/1C/v8.3/x86_64/wsap22.so into server: /opt/1C/v8.3/x86_64/wsap22.so: undefined

symbol: ap_rputs

Решение:

Используется не та версия apache (например, стоит apache24, а опубликована база с параметром -apache22)

Ошибка в браузере:

Ошибка веб-сервиса Error loading component pack

Решение:

Установлены не все либы 1С для apache

Выводы по установке сервиса 1С: Предприятие под Linux

Установка 1с под линукс не такая простая как на Windows. Однако это позволяет сэкономить немалые средства не нарушая закон о защите авторских прав на программное обеспечение. Кроме этого Вы получаете всю гибкость, которую дает ОС Linux: создание отказоустойчивых кластеров, удобное резервное копирование, виртуализация. Дата-центр FREEhost.UA предлагает услуги по аренде выделенных серверов и виртуальных серверов с полной поддержкой. Размещая сервер 1С в дата-центре, а не у себя в офисе Вы получаете целый ряд преимуществ:

  1. Гарантированное электропитание и доступ сервера к Интернет
  2. Ответственность за работу оборудования несем мы
  3. Работать с сервером 1С можно удаленно, не обязательно находится в офисе
  4. Автоматическое создание резервных копий
  5. Круглосуточная техническая поддержка

 

Дата: 23.12.2019
Автор: Евгений

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
Спасибо, что выбираете FREEhost.UA