Запуск «1С Підприємство» у Linux за допомогою WINE@Etersoft

Серія контенту:
Цей контент є частиною # із серії # статей:
Цей контент є частиною серії:
Слідкуйте за виходом нових статей цієї серії.
WINE@Etersoft - це програмний продукт на основі вільного проекту Wine, що дозволяє запускати Windows-орієнтовані програми на операційних системах сімейства GNU/Linux. Насамперед WINE@Etersoft орієнтований на такі програми для бізнесу, необхідні українським компаніям, як «1С:Підприємство», «Консультант Плюс», «Гарант», «КОМПАС-3D». У цій статті дано докладну інструкцію із запуску «1С:Підприємство 8.1» в Mandriva Linux 2010.2.
Автоматизація обліку за допомогою «1С:Підприємство» традиційно є стандартом де-факто для більшості українських компаній. Відсутність повноцінної Linux-версії системи довгий час була чи не основною перешкодою для тих, хто був готовий перейти на вільне ПЗ. Підтримка роботи в Linux через веб-інтерфейс у версії 8.2 — безумовно, важливий крок з боку розробників «1С:Підприємство», що свідчить про зростання інтересу до вільних рішень в Україні. Однак веб-клієнту поки що далеко за продуктивністю до стандартного режиму роботи. До того ж, багато організацій не поспішають впроваджувати останню версію «1С: Підприємство».
У відповідь на запити компаній, які хотіли б перейти на Linux і продовжувати використовувати "1С: Підприємство", було створено програмний продукт "WINE@Etersoft". Він розробляється з 2005 року петербурзькою компанією Etersoft. З того часу на підтримку WINE@Etersoft було включено багато інших програм, необхідних українським підприємствам. Але завдання запуску «1С: Підприємство» в Linux, як і раніше, залишається найбільш затребуваним.
Устатті розглянуто процес запуску «1С: Підприємство 8.1» у Mandriva Linux 2010.2 за допомогою WINE@Etersoft Network 1.0.12
Про технологію WINE@Etersoft
WINE@Etersoft є середовищем для запуску Windows-додатків у Unix-подібних системах. Це альтернативна реалізація функцій Win32 API.
Слід зазначити, що WINE (Wine Is Not Emulator) не є емулятором операційної системи. Він не створює ізольованого середовища для виконання та не забезпечує доступ до низькорівневих системних ресурсів. Завдання WINE полягає в тому, щоб, з одного боку, надати Windows-програмі WinAPI стандартний системний інтерфейс операційних систем Windows, а з іншого боку, транслювати запити Windows-програми у відповідні системні виклики (Unix API). Таким чином, WINE - це своєрідна «прошарку» сумісності між Windows-програмами та хост-системою. WINE працює на різних Unix-системах: GNU/Linux, FreeBSD, Sun Solaris, MacOS.
Продукт WINE@Etersoft заснований на вільному проекті Wine та складається з відкритої та закритої частини. Саме в закритій реалізовані ті можливості, які забезпечують повноцінну роботу з «1С:Підприємство» в Linuх та відрізняють його від звичайного Wine. Це підтримка ключів захисту, драйверів пристроїв і робота в розрахованому на багато користувачів режимі.
Встановлення WINE@Etersoft
Встановлення пакетів
Дистрибутив WINE@Etersoft є набором rpm-пакетів, до яких входять відкрита і закрита частина WINE@Etersoft, модулі etercifs і haspd, пакет зі шрифтами. Пакет etercifs знадобиться для спільної роботи з файлами за протоколом CIFS, пакет haspd забезпечить роботу мережевих ключів захисту. Основну ж роботу із запуску 1С та інших win-програм виконують wine-etersoft та wine-etersoft-network.
Встановлювати пакети можна будь-яким звичним способом встановлення rpm-пакетів, наприклад через менеджер пакетів або за допомогою командного рядка.
Перед встановленням варто переконатися, чи не встановлені в системі інші версії wine - WINE@Etersoft з ними не сумісний і навіть якщо встановиться, працювати коректно не буде. Якщо пакети з іншими версіями wine виявились, їх потрібно видалити.
Варто відзначити, що такі пакети, як libkwineffects і docs-wine-intro, видаляти не потрібно - вони випадково потрапляють під маску wine, а на працездатність програм не впливають.
Встановлення нових пакетів може бути здійснено однією командою rpm -Uvh:
Після інсталяції пакетів потрібно скопіювати файл ліцензії wine-etersoft.lic, який постачається разом із пакетами, в директорію /etc/wine для того, щоб усі користувачі могли користуватися WINE@Etersoft. Інший варіант: пізніше копіювати wine-etersoft.lic у директорію
/.wine кожному користувачеві, який працюватиме з windows-додатками. Коректність встановлення файлу ліцензії може бути перевірена командою wine --version.
Створення оточення
Для того щоб користувач міг встановити програму, йому потрібно ініціалізувати wine-оточення. Користувальницьке оточення знаходиться в директорії
/.wine/ у домашній директорії кожного користувача. Якщо від попередніх версій залишилося старе оточення, його потрібно видалити (або перемістити, щоб не втратити інформацію):
Початкова ініціалізація WINE@Etersoft виконується командою wine без параметрів і коректно протікає лише за умови відсутності користувача директорії
/.wine. Процес створення оточення супроводжується графічною заставкою.
Створення WINE-оточення.


Після завершення ініціалізаціїWINE@Etersoft готовий для встановлення та запуску Windows-програм.
Налаштування ключів захисту
Зазвичай конфігурації «1С: Підприємство» захищаються ключами HASP HL, підтримка яких реалізована у WINE@Etersoft у повному обсязі. Інші ключі захисту теж працюють, але їх налаштування може дещо відрізнятися, тому вважатимемо їх винятком і не розглядатимемо в рамках цієї статті.
Ключі HASP за інтерфейсом підключення можна розділити на USB та LPT. На щастя, ключі LPT зараз вже використовуються досить рідко, тому все менше доводиться побоюватися, що на комп'ютері, що настроюється, не виявиться інтерфейсу LPT або драйвер на запрацює на нестандартному ядрі. З USB-ключами HASP все набагато простіше, вони майже гарантують користувачеві, що ліцензійна 1С запускатиметься в Linux.
Візуально різні типи ключів можна розрізнити за кольором або за нанесеним на них маркуванням:
- локальні LPT-ключі – білого кольору;
- мережеві LPT-ключі – червоного кольору;
- локальні USB-ключі – фіолетового кольору (H4 M1 ORGL8);
- однокористувацький USB-ключ - синього кольору (H4 B1 ORGL8);
- мережеві USB-ключі – червоного кольору (H4 NET5 ORGL8- після слова NET зазначено кількість ліцензій);
- USB-ключ 32-бітного сервера 1С: Підприємства 8 є локальним і має фіолетовий колір (напис H4M1 ENSR8);
- USB-ключ 64-бітного сервера 1С: Підприємства 8 є локальним і має фіолетовий колір (напис H4P1 ENSR8).
Налаштування ключа мережі
Використання мережного ключа передбачає налаштування 1С на звернення до менеджера ліцензій, що функціонує в мережі. Менеджер ліцензій може розташовуватися на будь-якій машині в мережі під керуванням Windows або Linux, причому звернення до ключа має бути мережним навітьтому випадку, якщо ключ встановлений локально в комп'ютер із програмою, що запускається.
Настроювання 1С для використання мережного ключа
Для спрощення налаштування nethasp.ini WINE@Etersoft містить утиліту, яка вносить потрібні зміни за однією командою користувача:
Команда повинна бути запущена в директорії, в якій буде налаштований файл nethasp.ini.
Налаштування менеджера ліцензій
Менеджер ліцензій може бути встановлений на будь-який комп'ютер. Якщо на цьому комп'ютері встановлена ОС Windows, то встановлення системи захисту зведеться до запуску штатного інсталятора, що постачається 1С. Нас більше цікавить запуск менеджера ліцензій на ОС Linux, у разі — на Mandriva 2010.2.
Мережевий менеджер ліцензій (HASP License Manager) постачається у пакеті haspd. Пакет haspd встановлюється зазвичай на той комп'ютер, на який встановлено ключ. Перевірити, що всі компоненти драйвера запущені та працюють можна командою:
Якщо з'являється попередження про те, що модуль ядра не завантажений (kernel module aksparlnx is not loaded), це свідчить про те, що для поточного ядра не вдалося автоматично підібрати драйвер і потрібно складання модуля ядра. Це актуально лише для LPT-ключів. Якщо використовується USB-ключ, на таке попередження можна не звертати уваги.
Складання модуля ядра запускається командою "service haspd build" і може вимагати встановлення заголовних файлів ядра (пакет kernel-source-stripped).
Налаштування локального ключа
Підтримка драйверів для локальних ключів захисту вже вбудована у WINE@Etersoft, але вимкнена за промовчанням. Справа в тому, що на завантаження кожного драйвера йде до декількох секунд, а різноманіття драйверів зробить перший запуск Wine занадто довгим, при тому, що потрібно всьогоодин ключ захисту або ключі (в інших програмах) зовсім не використовуються.
Якщо потрібно запустити програму, захищену локальним HASP HL, потрібно спочатку увімкнути завантаження потрібного драйвера в налаштуваннях WINE@Etersoft. Для цього запускаємо менеджер налаштування winecfg та переходимо на вкладку «Ключі захисту». У списку драйверів вибираємо рядок «HASP HL», натискаємо кнопку «Завантажувати» і застосовуємо зміни. Слід враховувати, що під час перезапуску WINE-оточення всі відкриті через WINE@Etersoft програми будуть примусово завершені.
Вибір ключа захисту.


Успішність завантаження драйвера можна перевірити, повторно запустивши winecfg. Якщо все пройшло успішно, навпаки «HASP HL» будуть значення «Завантажувати» і «ОК». 1С тепер побачить ключ і запуститься.
Збільшення ліміту на відкриті файли
Для роботи з більшими обсягами інформації (велика база даних або відкриття одночасно кількох копій 1С з різними базами) може знадобитися збільшення ліміту на відкриті файли для одного процесу. За умовчанням у системі він дорівнює 1024 (можна перевірити командою ulimit -n), що може не дозволити користувачеві відкрити другу копію 1С. Як правило, для нормальної роботи має вистачати розширення ліміту до 5-10 тисяч файлів на один процес.
Щоб ліміт застосовувався при реєстрації користувачів у системі, у файлі /etc/pam.d/system-auth має бути рядок:
Зазвичай вона вже є у системі.
Щоб ліміт застосовувався при вході через ssh в системі, у файлі /etc/pam.d/sshd має бути рядок:
Встановлення та запуск «1С: Підприємство»
Дистрибутив 1С потрібно відкрити з диска або скопіювати його в оточення WINE@Etersoft
/wine_c. Запуск майстра установки здійснюється подвійним кліком файлу setup.exe або виконаноюу терміналі командою "wine setup.exe". З'явиться вікно інсталятора, знайоме кожному, хто встановлював 1С в Windows.
Установка "1С: Підприємство" у WINE@Etersoft.


Подальший сценарій установки зводиться до звичайної установки 1С і немає ніякої специфіки, пов'язаної з Linux. В результаті меню графічного середовища поповнюється пунктами "1С Підприємство", а на робочому столі користувача з'являється ярлик для запуску програми.
Якщо налаштування WINE@Etersoft було правильним, то встановлення «1С: Підприємство 8.1» не повинно викликати проблем. З ярлика на робочому столі користувач легко запустить програму. Далі потрібно вибрати розташування бази або створити нову, і 1С готова до роботи.
Зовнішній вигляд 1С Підприємство, запущеного під WINE@Etersoft в ОС GNU/Linux Mandriva 2010.2, нічим не відрізняється від роботи його під ОС Windows.
Програма "1С: Підприємство", запущена під WINE@Etersoft.


Висновок
Поки операційна система Windows домінує на ринку, і розробники програм орієнтуються саме на неї, Wine є цінною підмогою для компаній, які вже сьогодні хочуть перейти на Linux. У WINE@Etersoft реалізовані функції, що дозволяють повноцінно працювати з такими українськими програмами для бізнесу, як «1С:Підприємство» «КонсультантПлюс», «Гарант», «КОМПАС-3D» та ін. користувача. Інструкція із запуску 1С в Linux, що міститься в статті, покликана зробити цей процес ще більш простим і прозорим.