Подписывайтесь на Telegram канал!

Установим и настроим 1С:Предприятие 8.3 на OC Astra Linux. Работать программа может на свободном терминальном сервере XRDP для удобного подключения по протоколу RDP.  Из всех вариантов этот вариант меня порадовала больше всего.

Введение

Произведём установку и настройку программы «1С:Предприятие 8.3» c конфигурацией «Бухгалтерия предприятия (базовая)» с программной и аппаратной лицензией. Установка будет производиться на сервер работающий под управлением Astra Linux Common Edition 2.12.44. Сделаем удаленный доступ с помощью XRDP который позволит одновременно сидеть на сервере нескольким пользователям по протоколу RDP.

Требования, которые предъявляет разработчик к системам на которых может работать их продукты, вы можете найти на странице Системные требования «1С:Предприятия 8».

После установки программы, в справке по пути: «1С:Предприятие» — «Работа пользователя» — «Особенности работы в Linux», можно ознакомиться с нюансами работы системы.

Многие компании, занимающиеся 1С, будут советовать вам приобрести для работы в системе именно систему Windows, обосновывая это большей надежностью и удобством. Имейте в виду, что при продаже Windows продавец, согласно политике компании, получает приличное вознаграждение, что вызывает у многих естественное желание продать побольше. В ряде случаев действительно придется использовать систему Windows, но не факт, что она подойдёт именно вам.

Платформа и конфигурация 1С:Предприятие для Linux

В документах, которые вы получили после приобретения программного продукта семейства 1С, вы найдете регистрационные данные которые необходимы для регистрации на портале поддержки 1C:Портал поддержки. После регистрации и активации своего продукта, вы получите доступ для скачивания всего необходимого.

Иногда компании, в которых вы приобретаете продукт, может зарегистрировать продукт за вас. Уточните этот момент перед тем, как зарегистрируетесь сами.

Различие Базовой и Проф конфигурации

К выбору версии надо подходить очень аккуратно и четко понимать, что и в каком виде нужно именно вам. Не стоит идти на уловки компаний — дилеров, не спешить с приобретением ПРОФ версии и подписки ИТС.

Рассмотрим кратко основные отличия:

  • Базовая версия — при этом выборе вы можете вести только одну организацию в одной базе. Таких баз можно вести сколько угодно, но для каждой организации будет своя база. Плюс заключается в том, что вы всегда сможете сами обновляться с официального сайта поддержки, не прибегая к помощи сторонних специалистов. Но есть и минус — работать сможет только один пользователь. Ни о какой совместной работе в базе нескольких человек, не может быть и речи.

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

  • ПРОФ версия — как только вы перешли на эту версию, обновления будут доступны только при подписке ИТС. Появится возможность вносить изменения в конфигурацию, работать нескольким пользователям и вести несколько фирм в одной базе.

Важно иметь в виду, что при переходе на ПРОФ версию, вы полностью будете зависеть от той компании, в которой оформили подписку ИТС. Таких компаний много, важно выбрать хорошую и надёжную. Лучше, если эту компанию вам порекомендуют те, которым вы доверяете.

Вот вопрос-ответ службы поддержки 1С на два моих вопроса.

Версию ПРОФ в отличии от БАЗОВОЙ можно обновлять только при активной подписке на ИТС? — Да.

В моем случае, для тестирования без приобретения подписки ИТС, я не смогу обновлять версию ПРОФ легальными способами? — Да.

В практике мне приходилось сталкиваться с тем, что иногда компания использует старую версию программы (например 8.1) и хочет перейти и обновиться до новой версии 8.3, но продавец у которого они приобретали продукт говорит, что надо купить новую версию. Каково же было их удивление, когда я обновлял им программу до последней версии и показывал, как надо обновляться в дальнейшем.

Программная и аппаратная лицензия 1С:Предприятие

Это, пожалуй, один из самых важных моментов, который нужно учесть сразу. Программная лицензия стоит дешевле, но вызывает много проблем при смене оборудования. Как правило, отдел лицензирования всегда идёт на встречу и может предоставить даже большее количество активаций при определенных условиях, но это не всегда удобно. Использование USB ключей всё упрощает и развязывает руки при обновлении оборудования.

В практике встречался случай, когда компания приобрела программную лицензию на 5 пользователей и активировала её не для сервера, а для каждого пользовательского компьютера. Поначалу все было нормально, но когда база увеличилась, начались проблемы со скоростью. Использование скоростного диска SSD и перевода сети на 1 Gbit сильно улучшило ситуацию.

Варианты разворачивания сети 1С:Предприятие

Все хотят работать в программе 1С быстро, как на предприятии, так и дома. Все это возможно оптимально настроить различными способами.

Существует два вида работы базы данных:

  1. Файловая база данных — самый простой вариант и подходит для небольших организаций идеально. Этот вариант мы и рассмотрим в данной статье.
  2. База данных SQL — более сложный вариант и ориентирован на большое количество пользователей. При небольшом количестве пользователей нет смысла использовать такой вариант. Для работы будет нужна серверная лицензия, она стоит около 80 000 рублей.

Внимание!
Сервер 1С:Предприятия 8.3 под Linux может запуститься и без лицензии, при этом он позволяет иметь в кластере только один рабочий процесс, который допускает не более 12 клиентских соединений. Однако такая работа сервера не дает права использования программного обеспечения сервера 1С:Предприятия без покупки продукта «1С:Предприятие 8.3 Лицензия на сервер». Об этом сказано в лицензионном соглашении любой основной поставки 1С:Предприятия.

Оптимальное использование файловой базы данных 1C:Предприятие

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

Существует два варианта улучшения скорости работы в файловой базе данных:

  • Использование локальной сети 1 Gbit и диска SSD для базы данных — на какой-то момент это улучшит положение, но как показывает практика -ненадолго.
  • Использование терминального сервера — при таком варианте приобретается один мощный компьютер, на котором устанавливается программа, а все пользователи удалено подключаются к компьютеру используя свой профиль. Получится, что на одном компьютере будет одновременно несколько пользователей, не видя друг друга. По сети передается только картинка, а вся работа производится на сервере. Можно настроить удаленный доступ из интернета, и тогда избранные пользователи смогут используя медленный интернет спокойно работать в программе с домашнего компьютера.

Конечно, вы можете приобрести серверную версию Windows, так как только там легально можно использовать терминальный режим. Некоторые, по многочисленным советам в сети, переводят обычные версии Windows в терминальный режим, используя нелегальные варианты. Мой выбор — терминальный сервер Linux, который удовлетворил все мои требования и пожелания.

Установка терминального сервера XRDP

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

apt install xrdp xorgxrdp

Проверяем статус:

# systemctl status xrdp
 xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-04-19 20:59:44 MSK; 2min 27s ago
      Docs: man:xrdp(8)
            man:xrdp.ini(5)
 Main PID: 2443 (xrdp)
   CGroup: /system.slice/xrdp.service
           └─2443 /usr/sbin/xrdp --nodaemon

апр 19 20:59:44 1c systemd[1]: Starting xrdp daemon...
апр 19 20:59:44 1c systemd[1]: Started xrdp daemon.
апр 19 20:59:44 1c xrdp[2443]: [INFO ] starting xrdp with pid 2443
апр 19 20:59:44 1c xrdp[2443]: [INFO ] address [0.0.0.0] port [3389] mode 1
апр 19 20:59:44 1c xrdp[2443]: [INFO ] listening to port 3389 on 0.0.0.0
апр 19 20:59:44 1c xrdp[2443]: [INFO ] xrdp_listen_pp done

Всё работает и добавлено на автозагрузку при запуске системы.

Используя протокол RDP подключаемся к серверу и работаем.

Так быстро я еще никогда не разворачивал XRDP. Всё работает из коробки и не требует никаких дополнительных действий.

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

Пошагово пройдем путь установки программы на систему Astra Linux.

Предварительная подготовка

Для установки необходимо в консоли зайти под пользователем root:

sevo44@orel-astra:~$ su -
Пароль: 
root@orel-astra:~#

В случае если вы забыли пароль или его просто нет, необходимо выполнить в консоли команду которая создаст новый пароль:

passwd root

Создадим папки на сервере, в которую разместим файлы для установки платформы, программного обеспечения для работы с Hasp ключами USB и папку баз данных:

mkdir /root/srv1cv83-install
mkdir /home/base1c

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

apt install libwebkitgtk-3.0.0 imagemagick unixodbc libgsf-bin t1utils

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

Скачиваем с сайта поддержки 1С  «Технологическая платформа 1С:Предприятия (64-bit) для Linux».

1С:Предприятие 8.3 на Astra Linux #1

Распаковываем архив в папку srv1cv83-install с помощью консоли:

cd /root/srv1cv83-install 
tar xvzf server64_8_3_20_1789.tar.gz 
ls
= вывод команды =
LibericaJDK-8-9-10-licenses.pdf Liberica-Notice.txt setup-full-8.3.20.1789-x86_64.run server64_8_3_20_1789.tar.gz

Запускаем установку:

./setup-full-8.3.20.1789-x86_64.run

1С:Предприятие 8.3 на Astra Linux #2

1С:Предприятие 8.3 на Astra Linux #3

1С:Предприятие 8.3 на Astra Linux #4

1С:Предприятие 8.3 на Astra Linux #5

1С:Предприятие 8.3 на Astra Linux #6

1С:Предприятие 8.3 на Astra Linux #7

Работа с 1С:Предприятие в системе Linux

Проверим какие процессы запущены:

ps aux|grep 1c
= вывод команды =
root 3391 0.0 0.0 12788 932 pts/0 S+ 01:02 0:00 grep 1c

= вывод команды ! при запущенной программе =
root 3399 15.3 4.6 635036 146160 ? Ssl 01:04 0:01 /opt/1cv8/x86_64/8.3.20.1789/1cv8s
root 3432 0.0 0.0 12788 932 pts/0 S+ 01:04 0:00 grep 1c

Активирование программной лицензии 1С:Предприятие

В активировании программной лицензии есть один нюанс. Когда вы запустите программу, она сообщит вам о необходимости её активировать, если вы начнете вводить пин-код ,то он окажется на 1 знак больше, чем требуемое количество.

Для активации однопользовательской программной лицензии, необходимо запустить программу 1С:Предприятие под пользователем root, только тогда при активации появится необходимое поле.

Установка HASP для работы с USB ключом

Программное обеспечение для работы с USB ключом будем использовать от компании Etersoft.

Смотрим какая есть последняя версия на сайте и скачиваем последнюю.

Перейдем в папку и скачаем туда пакет:

cd /root/srv1cv83-install
wget http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/AstraLinux/orel/haspd_8.23-eter2astra_amd64.deb

Установим:

dpkg -i haspd_*.deb 
= вывод команды =
Выбор ранее невыбранного пакета haspd.
(Чтение базы данных … на данный момент установлено 217439 файлов и каталогов.)
Подготовка к распаковке haspd_8.23-eter2astra_amd64.deb …
Распаковывается haspd (8.23-eter2astra) …
Настраивается пакет haspd (8.23-eter2astra) …
Обрабатываются триггеры для systemd (232-25+deb9u12astra.ce9) …

Запустим и проверим статус:

service haspd start
service haspd status
= вывод команды =
 haspd.service - LSB: Hasp keys support
   Loaded: loaded (/etc/init.d/haspd; generated; vendor preset: enabled)
   Active: active (running) since Tue 2022-04-19 01:12:33 MSK; 9s ago
      Docs: man:systemd-sysv-generator(8)
  Process: 3629 ExecStart=/etc/init.d/haspd start (code=exited, status=0/SUCCESS)
    Tasks: 10 (limit: 4915)
  CGroup: /system.slice/haspd.service
          ├─3634 aksusbd
          └─3645 hasplmd -s

апр 19 01:12:33 orel-astra systemd[1]: Starting LSB: Hasp keys support...
апр 19 01:12:33 orel-astra aksusbd[3634]: loaded, daemon version: 8.23.1.119312, key API (USB) version: 3
апр 19 01:12:33 orel-astra haspd[3629]: Running aksusbd... [ DONE ]
апр 19 01:12:33 orel-astra hasplmd[3645]: HASP LM v25.2.1.119312 loaded
апр 19 01:12:33 orel-astra haspd[3629]: Running hasplmd... [ DONE ]
апр 19 01:12:33 orel-astra systemd[1]: Started LSB: Hasp keys support.

Все хорошо. Осталось подключить USB ключ.

В системе Proxmox проброс нужного порта в виртуальную машину делается очень просто:

1С:Предприятие 8.3 на Astra Linux #usb1

1С:Предприятие 8.3 на Astra Linux #usb2

1С:Предприятие 8.3 на Astra Linux #usb3

Для проверки работы ключа откроем браузер по ссылке http://127.0.0.1:1947 и смотрим появление нашего ключа в списке:

1С:Предприятие 8.3 на Astra Linux #8

Создание файловой базы данных 1C:Предприятие

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

Для этих действий необходимо чтобы в системе была установлена Wine. К сожалению, без этого нельзя запустить файлы exe. Других способов установки базы из шаблона в системе Linux я не нашел.

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

chmod -R 777 /home/base1c

Права надо выдавать только после того, как скопируете все необходимые базы 1С!

Запуск 1C:Предприятие

В меню появилась ссылка на запуск программы:

1С:Предприятие 8.3 на Astra Linux #9

При первом запуске появляется сообщение о необходимости установки шрифтов. В моем случае все шрифты уже были и отображались корректно, но при сохранении документов в PDF были проблемы с отображением шрифтов.

1С:Предприятие 8.3 на Astra Linux #10

Переходим в необходимое место и смотрим информацию которая там указывается.

1С:Предприятие 8.3 на Astra Linux #11

Проблемы со шрифтами

Не сразу заметил проблему со шрифтами при экспорте в pdf файл. Часть текста обрезалась, и информация была не полной. Можно ставить пакеты со шрифтами, но достаточно иметь шрифты по пути /usr/share/fonts/msttcorefonts.

Скачиваем и распаковываем архив в нужное место под пользователем root:

cd /usr/share/fonts
wget https://sevo44.ru/sevo44/download/msttcorefonts.tar.gz
tar xvzf msttcorefonts.tar.gz

Можно установить специальный пакет, который установит необходимые шрифты:

wget https://download.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.1.4/fonts/x86_64/AstraLinux/orel/fonts-ttf-ms_1.0-eter4astra_all.deb
dpkg -i fonts-ttf-ms_1.0-eter4astra_all.deb

Какой вариант выбрать, решать вам. Надеюсь, разработчики рано или поздно для версии Linux перестанут использовать эти шрифты.

Вот так это выглядит, когда мы еще не установили необходимые шрифты:

1С:Предприятие 8.3 на Astra Linux #12

С установленными шрифтами видно, что шрифт стал другой, но это малозаметно:

1С:Предприятие 8.3 на Astra Linux #13

Обновление платформы 1С:Предприятие в Linux

Обновление производится по тому же принципу установки программы, описанному выше. Скачиваем новые пакеты и заново устанавливаем.

Обновление базовой конфигурации 1C:Предприятие в Linux

Обновление для ПРОФ — это совсем другая история.

Обновлять конфигурацию необходимо в режиме конфигуратора базы. Конфигурация — Обновить конфигурацию — Поиск доступных обновлений указываем наш логин и пароль от личного кабинета пользователя, и обновляемся.

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

Резервное копирование

Механизм резервного копирования в самой программе не работает.

Общий план резервного копирования следующий:

  • Останавливаем все запущенные процессы 1С;
  • Делаем резервную копию методом архивирования папки с базой.

Обычно я держу на сервере только 3 последние резервных копии, так как другой сервер забирает резервные копии и хранит их за гораздо больший период.

Смотрим, какие процессы запущены

ps aux|grep 1cv8
= вывод команды =
sevo44 1626 105 45.3 3634576 1825392 ? Sl 10:10 14:38 /opt/1cv8/x86_64/8.3.20.1789/1cv8c ENTERPRISE /IBName"Информационная база" /AppAutoCheckMode
root 1801 0.0 0.0 12788 968 pts/0 S+ 10:23 0:00 grep 1cv8

Создадим необходимые папки:

mkdir /root/{bin,backup1c}

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

vim /root/bin/backup1c.sh
= необходимый код =
#!/bin/sh
# Дата в формате 2015-09-29_04-10
date_time=`date +"%Y-%m-%d_%H-%M"`
# Путь сохранения копии
bk_dir='/root/backup1c'

# Вначале смотрим в Диспетчер задач название приложения
# затем смотрим вывод -> ps aux | grep 1cv8c
# Выполняем команду, которая завершит все процессы
# Если не писать никакого сигнала, то команда выполнит
# SIGTERM - немедленно завершает процесс, но обрабатывается программой,
# поэтому позволяет ей завершить дочерние процессы и освободить все ресурсы.
# killall - завершит все имеющиеся процессы с таким именем

# Закрываем 1с
killall 1cv8c

# Создаем файл с датой создания базы
echo `date +"%Y-%m-%d_%H-%M"` > /root/backup1c/timestamp

# Создаем базу через 10 секунд
sleep 10
/bin/tar -cvzf $bk_dir/dolotov1cbase_$date_time.tar.gz /home/base1c/dolotov1cbase/*
# Удаляем копии старше 3-x дней
/usr/bin/find $bk_dir -type f -mtime +1 -exec rm {} \;

После создания скрипта делаем его исполнительным:

chmod +x /root/bin/backup1c.sh

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

sh /root/bin/backup1c.sh
= вывод команды =
/bin/tar: Удаляется начальный `/' из имен объектов
/home/base1c/dolotov1cbase/1CHelpIndex/
/home/base1c/dolotov1cbase/1CHelpIndex/userVocabulary_ru.bin
/home/base1c/dolotov1cbase/1CHelpIndex/userDocs_ru.bin
/home/base1c/dolotov1cbase/1CHelpIndex/userPostings_ru.bin
/home/base1c/dolotov1cbase/1Cv8.1CD
/home/base1c/dolotov1cbase/1Cv8.1CD.cfl
/home/base1c/dolotov1cbase/1Cv8.1CL
/home/base1c/dolotov1cbase/1Cv8.1CL.cfl
/home/base1c/dolotov1cbase/1Cv8.cgr.cfl
/home/base1c/dolotov1cbase/1Cv8FTxt/
/home/base1c/dolotov1cbase/1Cv8FTxt/checkoutReasonProtect.dat
/home/base1c/dolotov1cbase/1Cv8FTxt/checkout.dat
/home/base1c/dolotov1cbase/1Cv8FTxt/checkoutReasonFile.dat
/home/base1c/dolotov1cbase/1Cv8IntegSrvc/
/home/base1c/dolotov1cbase/1Cv8IntegSrvc/exec.lck.cfl
/home/base1c/dolotov1cbase/1Cv8JobScheduler/
/home/base1c/dolotov1cbase/1Cv8JobScheduler/exec.lck.cfl
/home/base1c/dolotov1cbase/1Cv8JobScheduler/jobs.dat
/home/base1c/dolotov1cbase/1Cv8JobScheduler/jobs.dat.cfl
/home/base1c/dolotov1cbase/1Cv8JobScheduler/exec.lck
/home/base1c/dolotov1cbase/1Cv8Log/
/home/base1c/dolotov1cbase/1Cv8Log/1Cv8.lgd
/home/base1c/dolotov1cbase/1Cv8Temp/
/home/base1c/dolotov1cbase/1Cv8tmp.1CD
/home/base1c/dolotov1cbase/1Cv8tmp.1CD.cfl
/home/base1c/dolotov1cbase/1Cv8tmp.1CL
/home/base1c/dolotov1cbase/1Cv8tmp.1CL.cfl
/home/base1c/dolotov1cbase/default.vrd
/home/base1c/dolotov1cbase/logcfg.xml

После успешной проверки добавляем скрипт на автоматическое выполнение по расписанию.

Открываем необходимый файл и добавляем нужный код:

vim /etc/crontab
= необходимый код =
### Backup1С
# ежедневно в 3 часа
00 3 * * * root /root/bin/backup1c.sh >/dev/null 2>&1

Согласно команде каждый день в 3:00 будет выполняться скрипт для создания ежедневного бэкапа.

Заключение

Установку и настройку 1С:Предприятие я выполнял на разных системах, но установка на Astra Linux была самая простая. Настройка терминального сервера XRDP для подключения пользователей по протоколу RDP оказалась беспроблемной, так как всё заработало без дополнительного вмешательства в настройку.

Может быть в системе Astra Linux из коробки и не так много программ в репозиториях, но то, что они все работают и стабильные — это факт. Графическая оболочку Fly, которая используется только в этом дистрибутиве, очень хорошо сделана, и все продумано максимально, но самое главное в этом то, что куда бы я не заходил, всё работает и нет ошибок.

Считаю, что использование Astra Linux под 1C:Предприятие — самый лучший вариант.

Понравилась статья? Поделитесь ей с друзьями!
Пожалуйста, оставляйте свои комментарии

Читая их я получаю информацию которая позволяет мне улучшить качество написания статей. Кроме того, оставляя комментарии вы помогаете сайту получить более высокий рейтинг у поисковых систем. Давайте общаться.

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания применять.