«1С:Предприятие» одна из самых распространенных программ в бухгалтерском учете на территории бывшего СССР. Рабочий сервер, входящий в состав 32-разрядного или 64-разрядного кластера серверов «1С:Предприятие», должен удовлетворять требованиям:
- Операционная система Windows XP Service Pack 2 и выше или Microsoft Windows Server 2003 и выше, один из поддерживаемых дистрибутивов Linux;
- Процессор Intel Pentium/Xeon 2400 МГц и выше, желательно использование многопроцессорных или многоядерных машин, т. к. это положительно сказывается на пропускной способности кластера серверов «1С:Предприятие».
- Оперативная память не менее 4 Гбайт.
Обычно установку выполняют на Windows и используют базы данных MSSQL. Такой вариант инсталляция достаточно простой, не требующий больших знаний в системном администрировании. Но у него есть два существенных минуса:
-
Высокая стоимость лицензии Windows и Microsoft SQL Server
-
Отсутствие гибкости, которую дает 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С:Обновление программ» затем «Скачать обновления программ», после этого попадаем на страницу загрузки доступных нам, для загрузки, пакетов.
Настройка 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
Начинаем процесс установки (под 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
Если после перезагрузки сервер не стартует автоматом, то необходимо ввести команду
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
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С можно удаленно, не обязательно находится в офисе
- Автоматическое создание резервных копий
- Круглосуточная техническая поддержка
Дата: 23.12.2019 Автор: Сергей
|
Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:
comments powered by Disqus