Терминальный сервер 1С под Linux
Создаём терминальный сервер 1C под Ubuntu Linux. 1С официально предоставляет пакеты rpm и поэтому наилучший вариант для терминального сервера — это rpm дистрибутивы Linux, например CentOS. Данная статья призвана помочь тем, кто по ряду причин использует дистрибутивы Linux, основанные на пакете deb.
Терминальный сервер позволит запускать 1С множеству пользователей, которые будут использовать базу 1С локально, чем достигнеться большая скорость работы 1С и безопасность.
Терминальный сервер 1С под Linux дешевле терминального сервера 1С под MS Windows, из-за дороговизны последней и её клиентских и терминальных лицензий.
Вышла 1С с полной поддержкой Linux и данная статья перестала быть актуальной.
Схема терминального сервера 1C под Linux.
Установка FreeNX.
Добавить репозиторий FreeNX. Читаем и пользуемся FreeNX. Кратко так:
sudo nano /etc/apt/sources.list
Заменить VERSION на имя своего дистрибутива Ubuntu.
deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu VERSION main
добавляем ключ 2a8e3034d018a4ce, если со временем ключ измениться, то apt-get update напомнит вам об этом
sudo apt-key adv —recv-keys —keyserver keyserver.ubuntu.com 2a8e3034d018a4ce
sudo apt-get update
sudo apt-get install freenx
Настройка SSH.
Нужно сменить дефолтный порт 22 на другой, например 8888 в целях дополнительной безопасности.
Читаем дальше FreeNX. Кратко так
sudo nano /etc/ssh/sshd_config
меняем Port 22 на Port 8888 и рестартуем ssh
/etc/init.d/ssh restart
Настройка FreeNX.
Указываем FreeNX использовать порт 8888 вместо 22
sudo nano /etc/nxserver/node.conf . Находим SSHD_PORT=22 и меняем на SSHD_PORT=8888 и убираем комментарий #
Убираем комментарий у параметра ENABLE_PASSDB_AUTHENTICATION и меняем 0 на 1
ENABLE_PASSDB_AUTHENTICATION=»1″ . Этим мы разрешаем аутентификацию при помощи базы паролей nxserver.
Изменяем параметр ENABLE_SHOW_RUNNING_SESSIONS с 1 на 0 и убираем комментарий #.
ENABLE_SHOW_RUNNING_SESSIONS=»0″ . При этом будет автоматом запускаться новый сеанс, а при наличии приостановленных сессий — будет выводиться окошко со списком этих самых сессий. После изменений перезапускаем службу nxserver sudo nxserver —restart
Добавление пользователей.
Нужно добавить системных пользователей с помощью adduser buh1 и терминальных пользователей в базу nxserver с помощью sudo nxserver —adduser buh1 . Чтобы не было проблем, лучше чтобы имена и пароли совпадали! Например,
#adduser buh1
…. вбили пароль pass1
#sudo nxserver —adduser buh1
…. вбили пароль pass1
Cменить пароль системному пользователю можно с помощью passwd, например passwd buh1 . Терминальному пользователю можно сменить пароль так, nxserver —passwd buh1 . Следить за одинаковостью паролей!
Установка wine@Etersoft.
Ставить нужно пакеты wine*.deb и libwine*.deb от EterSoft. Так же необходима реализация CIFS (протокол виндовых шар) etercifs*.deb, при смене ядер убунту, нужна переустановка пакета etercifs*.deb, так как DKMS там не используется.
Настройка wine@Etersoft.
В этом месте много читать отсюда etersoft.ru/products/wine/manual/
Прежде всего потребуется определить пользователя, который будет администратором WINE. Этого пользователя нужно добавить в группу wineadmin (такая группа создаётся при установке WINE).
Технически в группу wineadmin могут входить несколько пользователей. В этом случае все они смогут равноправно изменять общее win-окружение. Хорошим решением будет создать отдельную учётную запись, которая будет играть роль администратора WINE.
При работе нескольких администраторов с общим win-окружением следует избегать одновременного изменения данных в нём (установки/удаления программ и т. п.). Это может привести к возникновению конфликтов и ошибок в реестре win-окружения.
После того как администратор WINE определён, следует создать каталог, который будет играть роль общего win-окружения. Рекомендуется в качестве общего каталога использовать /var/lib/wine/default. При установке пакета wine сразу создаётся /var/lib/wine с необходимыми правами (root:wineadmin rw-rw-r—), позволяющими администратору WINE создавать там каталоги.
Подготовка административной системы выполняется командой wine —admin /путь/к/общему/каталогу. Если на момент выполнения этой команды указанного каталога ещё не существует, он будет создан. Если выполнить эту команду без указания каталога, будет использован каталог по умолчанию /var/lib/wine/default.
После настройки среды через wine —admin администратор устанавливает необходимые программы обычным способом. Чтобы пользователи по умолчанию подключались к общему win-окружению при первом запуске, следует воспользоваться настройками в файле /etc/wine/config:
ATTACH_MODE=»yes» # включает режим общего win-окружения
WINEADMIN=»default» # путь к общему win-окружению
Подробно о каталоге с базами 1С.
Читать об этом etersoft.ru/products/wine/manual/. Пример привожу для каталога /1c/bases. Права нужно выставить следующие:
#chmod 2770 /1c/bases
Чтобы все создаваемые в нём файлы принадлежали той же группе, что и каталог, а не группе создавшего файл пользователя. Владельца и группу можно выставить так
#chown -R vasilisc:1c /1c/bases/
Группа 1с — это созданная в /etc/group группа, в которую включены все пользователи, которые будут запускать 1с в терминале.
Настройка Samba и CIFS от Etersoft.
Читать etersoft.ru/products/wine/manual/. Кратко все сводится к тому, что пользователи в терминале будут работать с БД 1С через CIFS, то есть как бы через сеть, хотя базы лежат на этом же компьютере. Только таким способом блокировки будут нормально работать. Необходимо для работы CIFS поставить etercifs_*.deb.
Оптимальные настройки Самбы в /etc/samba/smb.conf
kernel oplocks = no
use sendfile = yes
log level = 0
Папка, расшаренная в доступ по сети, должна быть описана примерно так
[1c_bases]
path = /1c
public = yes
force user = vasilisc
force group = 1c
writeable = yes
guest ok = yes
Параметры force* заставляют самбу создавать и читать файлы от заданного пользователя. Терминальные пользователи должны юзать базы через CIFS и для этого нужно каталог, расшаренный самбой, примонтировать в каталог и использовать этот каталог как хранилище 1С. Делаем это примерно так mount -t cifs //192.168.0.120/1c_bases /1c_cifs -o noperm,user=vasilisc,forcedemand,direct
Подробнее о монтировании папки в локальный каталог для терминальных пользователей читать etersoft.ru/products/wine/manual/. Параметры forcedemand, direct ОБЯЗАТЕЛЬНЫ для корректной работы блокировок.
Проверка работоспособности 1С под wine@etersoft
Проверена работа под wine@etersoft следующих компонент:
1. USB сканер штрих-кодов
2. печать в терминале на USB принтере
3. шрифт, изображающий штрих-коды
4. компонент для 1С — Библиотечный модуль печати налоговых документов с двухмерных штриховым кодом PDF417.
Настройка Xfce в NX.
Можно заменить среду на легковесный Xfce, чтобы меньше занимать ресурсы терминального сервера. Для этого выставить в свойствах соединения Custom и далее exec xfce4-session . KDE и Gnome выставляются там же с помощью соответствующих пунктов.
Изображение иллюстрирует работу в 1С (файловый режим) в терминале под управлением Linux, терминальная сессия запущена из ОС MS Windows XP. Можно запустить терминальную сессию под Linux и не тратить деньги на рабочих местах.
Рассмотреть другие схемы запуска 1C под Linux и цены можно в статье «1С под Linux»
1С:Предприятие 8.3 на Linux
Установим и настроим 1С:Предприятие 8.3 на OC Debian. Работать программа будет на свободном терминальном сервере XRDP для удобного подключения с любой системы. Прощай популярный нелегальный перевод систем Windows в терминальный сервер.
Введение
Произведем установку и настройку программы «1С:Предприятие 8.3» c конфигурацией «Бухгалтерия предприятия (базовая)» с программной и аппаратной лицензией. Установка будет производится на подготовленный сервер терминалов работающий под управлением XRDP в операционной системе Debian 8.
В системе Debian 9 все настраивается аналогичным образом. Единственное что необходимо это выбрать правильный пакет для HASP.
Многие конторы занимающиеся 1С будут советовать вам приобретать для работы в системе именно систему Windows обосновывая это большей надежностью и удобством. Имейте в виду что при продаже Windows продавец, согласно политике компании, получает приличное вознаграждение что вызывает у многих буйное желание продать побольше товаров МайкраСофака. Вам ведь никто не скажет что в системе Linux люди не используют антивирусы 🙂 там вирусы не живут.
Все действия производятся с учетом настройки сервера терминалов рассмотренной в статье «XRDP терминальный сервер Linux«.
Платформа и конфигурация 1С:Предприятие для Linux
В документах, которые вы получили после приобретения программного продукта семейства 1С, вы найдете регистрационные данные которые необходимы для регистрации на портале поддержки 1C:Портал поддержки. После регистрации и активирования своего продукта вы получите доступ для скачивания всего необходимого.
Иногда компании, в которых вы приобретаете продукт, может зарегистрировать продукт за вас. Уточните этот момент перед тем как регистрироваться самим.
Различие Базовой и Проф конфигурации
К выборе версии надо подходить очень аккуратно и не идти на развод торгующих компаний на подписку ИТС.
Компании обслуживающие 1С заинтересованы склонить вас на подписку и получать ежемесячный доход ничего не делая.
Рассмотрим кратко основные отличия:
- Базовая версия — при этом выборе вы можете вести только одну организацию в одной базе. Можно таких баз вести сколько угодно но для каждой организации будет своя база. Плюс в том что вы всегда сможете сами обновляться с официального сайта поддержки не прибегая к помощи сторонних специалистов.
Если вы не планируйте вносить изменения в конфигурацию и пользоваться проверенной и стабильно работающей версией то это именно то что вам надо.
- ПРОФ версия — как только вы перешли на эту версию про обновления можете забыть так как они будут доступны только при подписке ИТС. Появится возможность вносить изменения в конфигурацию и вести несколько фирм в одной базе но надо ли вам это решайте сами.
Самое главное имейте в виду что при переходе на ПРОФ вы полностью зависите от той компании в которой оформили подписку ИТС и от тех специалистов которые будут работать с вашей программой. Компаний много и тут важно выбрать хорошую. Лучше если это будет по рекомендации людей которым вы доверяете.
Вот вопрос-ответ службы поддержки 1С на два моих вопроса.
Версию ПРОФ в отличии от БАЗОВОЙ можно обновлять только при активной подписке на ИТС? — Да.
В моем случае для тестирования без приобретения подписки ИТС я не смогу обновлять верию ПРОФ легальными способами? — Да.
В практике сталкивался с тем что иногда компания сидит в старой версии программы (например 8.1) и хотят перейти и обновится до новой версии 8.3 но продавец у которого они приобретали продукт говорит что надо покупать новую версию. Какое было у них удивление когда я обновлял и ставил им последнюю версию и показывал как надо обновляться. Конечно я не затрагиваю момент обновление конфигурации с обновлением всех данных хотя и это при грамотном подходе возможно сделать с сохранением всех основных данных.
Программная и аппаратная лицензия 1С:Предприятие
Это пожалуй один из важных моментов которые нужно учесть сразу. Программная лицензия стоит дешевле но вызывает кучу проблем при смене оборудования. Не скрою что отдел лицензирование всегда идёт на встречу и может предоставить даже большее количество активаций при определенных условиях, но это не всегда удобно. Использование USB ключей всё упрощает и развязывает руки при обновлении оборудования или оптимизации работы с 1С.
В практике был случай когда компания приобрела программную лицензию на 5 пользователей и активировало её не для сервера а для каждого пользовательского компьютера. По началу все было нормально но когда база увеличилась начались проблемы со скоростью работы и даже использование скоростного диска SSD и перевода сети на 1 Gbit не сильно улучшило ситуацию.
Варианты разворачивания сети 1С:Предприятие
Все хотят работать в программе 1С быстро как на предприятии так и дома. Все это можно оптимально настроить разными способами с учетом требований эксплуатирующей организации.
Существует два вида работы базы данных:
- Файловая база данных — самый простой вариант и подходит идеально для небольших организаций. Этот вариант мы и рассмотрим в этой статье.
- База данных SQL — более сложный вариант и ориентирован на большое количество пользователей. При небольшом количестве пользователей нет смысла использовать такой вариант. Для работы будет нужна серверная лицензия которая стоит в районе 80 000 рублей.
Внимание!
Сервер 1С:Предприятия 8. под Linux может запуститься и без лицензии, при этом он позволяет иметь в кластере только один рабочий процесс, который допускает не более 12 клиентских соединений. Однако, такая работа сервера не дает права использования программного обеспечения сервера 1С:Предприятия без покупки продукта «1С:Предприятие 8. Лицензия на сервер». Об этом сказано в лицензионном соглашении любой основной поставки 1С:Предприятия.
Оптимальное использование файловой базы данных 1C:Предприятие
Когда вы используйте файловую базу данных расположенную в локальной сети и клиенты подключаются скорость работы в программе зависит от скорости локальной сети и от мощности самого компьютера. Для небольших баз этот вариант приемлем но очень быстро базы увеличиваются и работа в программе становится все медленней и медленней за исключением компьютера на котором расположена сама база.
Существует два варианта улучшения скорости работы в файловой базе данных:
- Использование локальной сети 1 Gbit и диска SSD для базы данных — на какой то момент это улучшит положение но как показала практика не на долго. Очень быстро пользователи привыкают к улучшению скорости и начинаются опять жалобы на зависания в работе.
- Использование терминального сервера — при этом варианте в организацию приобретается один мощный компьютер на котором устанавливается программа и все пользователи удалено подключаются к компьютеру использую свой профиль. Получится что на одном компьютере будет одновременно сидеть несколько пользователей не видя друг друга. По сети передается только картинка а вся работа производится на сервере. Возможно настроить удаленный доступ из интернета и тогда избранные пользователи смогут используя медленный интернет спокойно работать в программе с домашнего компьютера.
Конечно вы можете приобрести серверную версию Windows так как только там легально можно использовать терминальный режим. Некоторые по многочисленным советам в сети переводят обычные версии Windows в терминальный режим используя нелегальные варианты. Мой выбор пал но терминальный сервер Linux который удовлетворил все мои пожелания и требования.
Установка 1С Предприятие 8.3 на Linux
Пошагово пройдем путь установки программы на систему Debian 8.
Предварительная подготовка
Создадим папки на сервере куда разместим все необходимые файлы для установки платформы,программного обеспечения для работы с Hasp ключами USB и для баз данных программы:
Установим пакеты которые необходимы для установки и корректной работы программы:
Изменим файл /etc/hosts для правильной работы с базами PostgreSQL если нам потребуется:
Установка 1С:Предприятие 8.3
Скачиваем с сайта поддержки 1С два необходимых архива:
- Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем
- Клиент 1С:Предприятия (64-bit) для DEB-based Linux-систем
Распаковываем архивы и кладём всё что там есть в папку /root/1c/deb:
Пакеты с thin — это тонкий клиент. Нам он не нужен и можно удалить эти пакеты.
Пакеты nls нужно использовать в случае использования языков кроме русского.
Удалив всё лишнее, запустим установку:
Работа с сервером 1С:Предприятие в системе Linux
Программа установлена осталось проверить некоторые моменты.
Установим необходимый пакет:
Должны быть открыты 3 порта! Если открыт будет только один создать базу PostgreSQL не удастся из за ошибки в соединении с сервером базы данных!
Проверим всели процессы сервиса запущены:
Все стартовало и работает как надо. Команды управления сервером 1С:Предприятие:
Создание файловой базы данных 1C:Предприятие
При первом запуске вылезет сообщение о необходимости установки шрифтов. В моем случае все шрифты были и отображаются корректно.
В Linux для создания баз из шаблона вначале необходимо установить шаблон в необходимую папку а потом указать в настройке откуда брать шаблоны.
Для этих действий необходимо чтобы в системе была установлена Wine. К сожалению без этого нельзя запустить файлы exe. Других способов установки базы из шаблона в системе Linux я не нашел.
В моем случае я скопировал папку с базой в нужное место и дал необходимые права:
Права надо давать только после того как копируйте все необходимые базы 1С!
Активирование программной лицензии 1С:Предприятие
В активировании программной лицензии есть один нюанс. Если вы запустите программу она напишет что необходимо активировать и вы начнете вводить пин код то он окажется на 1 знак больше чем требуемое количество.
Для активации обнопользовательской программной лицензии необходимо запустить программу 1С:Предприятие под пользователем root и только тогда при активации появится необходимое поле.
Установка HASP для работы с USB ключом
Программное обеспечение для работы с USB ключом будем использовать от компании Etersoft. Посмотрим какие последние версии для Debiam 8 есть на сайте перейдя по ссылке ftp://ftp.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Debian/8/ В моем случае последняя версия haspd_7.40-eter10debian_amd64.deb.
Для Debian 9 выберите пакет для этой системы.
Перейдем в папку, скачаем туда пакет:
Запустим и проверим статус:
Все хорошо. Осталось подключить USB ключ или как в нашем случае пробросить его в системе Proxmox до нужной виртуальной машины.
Проброс USB устройства в системе виртуализации Proxmox
Рассказано для 4 версии Proxmox в 5 всё делается в веб интерфейсе!
Более подробно о вариантах проброса USB устройств в системе Proxmox вы можете узнать из статьи «USB проброс в Proxmox«.
Выполним проброс USB устройства с ключом от 1С:Предприятие 8, согласно статьи указанной выше.
Все действия на сервере Proxmox!
Видим что шина 2 и порт 2. Пропишем в параметры виртуальной машины:
После перезагрузки сервера виртуализации Proxmox устройство будет работать в нужной виртуальной системе.
Проблемы со шрифтами
Сразу не заметил проблему со шрифтами при экспорте в pdf файл. Часть текста обрезалась и информация была не полной. Можно ставить пакеты со шрифтами но я вычислил, что достаточно иметь шрифты по пути /usr/share/fonts/msttcorefonts.
Создадим нужную папку:
И скопируйте туда шрифты которые можете скачать msttcorefonts.tar
Уменьшение нагрузки на сервер 1C:Предприятие
Очень рекомендую сразу отключить проверку на обновление системы в настройках программы. Отключить можно в разделе Администрирование — Интернет-поддержка пользователей. Обновлять спокойней и удобней через конфигуратор.
Обновление платформы 1С:Предприятие в Linux
Обновление производится по принципу установки программы пройденной в статье выше. Скачиваем новые пакеты и заново устанавливаем.
Обновление базовой конфигурации 1C:Предприятие в Linux
Обновление для ПРОФ это совсем другая песня.
Обновлять конфигурацию можно двумя способами:
- Автоматическое обновление — в режиме конфигуратора базы. Конфигурация — Обновить конфигурацию.. — Поиск доступных обновлений указываем наш логин и пароль от личного кабинета пользователя и обновляемся.
- Ручное обновление — вначале скачиваем все необходимые обновления в зависимости от версий обновления в личном кабинете и дальше в конфигураторе базы. Конфигурация — Обновить конфигурацию.. — Выбор файла обновление
Результат
После всех выполненных действий у нас будет работать терминальный сервер в котором удобно и конформно работать с программным комплексом 1С:Предприятие 8 для пользователей и администраторов. Лично для меня это развязало руки от привязки к компьютеру куда я установил программу и активировал программный ключ. В следующих статьях на тему 1С расскажу как я настроил резервное копирование файловых баз даныx и произведу установку базы на PostgreSQL c публикацией на Web сервере.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.