Запуск комплексу 1С:Предприятие під ОС Linux
В понеділок вдалося запустити сабжевий пакет. Група товаришів попросила
розказати і показати, як це зробити. Роблю це тут. Увага! Збережіть копію
бази даних пакету 1С:Предприятие, перед тим, як робити наступні кроки! На всякий
пожежний випадок.
1. Встановлюємо Linux :). Якщо в дистрибутиві присутні установочні пакети wine,
то не ставимо їх - рекомендується встановлювати самий свіжий стабільний білд вайну,
типу, щоб не було гемору, та й взагалі...
2. Встановлюємо wine. Качнути його можна тут,
документацію на приблуду можна прочитати тут.
3. Запускаємо wine. Після першого запуску в домашній папці користувача створюються
вайнові папки, там саме розташовується вміст віртуального диску C: та гілки віртуального
реєстру.
4. Запускаємо winecfg.
Це утиліта налаштовування wine. На відміну від попередніх версій вайну, де потрібно
було абсолютно все прописувати в конфігураційному файлі, тут можна поконфігурувати
за допомогою гуєвого інтерфейсу. В розділі Graphics краще вимкнути пункт "Allow
the window manager to control the windows". Я поясню пізніше, для чого це потрібно,
а поки закриваємо конфігуратор вайну. Я в настройках за умовчанням встановив
емуляцію Windows 98, але це не настільки важливо - яку версію віндів емулювати.
Відмінностей в працездатності я не помітив :).
5. Встановлюємо DCOM98. Завантажити його можна з сайту дрібном'яких, набравши в
тамтешньому рядку пошуку заповітні неукраїнські букви і цифри. Закидуємо його в наш
віртуальний диск C:, який фізично, за умовчанням, розташовується за адресою
/home/ім'я_юзера/.wine/drive_c.
Стандартна установка дкома нічого не дає, з'являється повідомлення про те, що дком вже
встановлений (або що на системах NT він не встановлюється, якщо емулюється Windows NT4,
Windows2000, WindowsXP або Windows 2003 Server). Запускаємо в терміналі наступну
команду: wine c:\\DCOM98.EXE /C /T:c:\\temp /Q
Ця тарабарщина означає, що ми просто розпаковуємо вміст DCOM98.EXE, який по суті є
архівом. Розпаковується все в папку c:\temp (віртуальну, звичайно ж), куди і спрямовуємо
свої стопи.
При запуску команд, в яких присутні шляхи до файлів без лапок,
необхідно писати подвійний зворотній слеш (\\). Так треба. Якщо шлях вказується
з лапками, то зворотній слеш вже одинарний: wine "c:\DCOM98.EXE".
6. Всі дллки знайдені в c:\temp копіюємо і вставляємо за адресою с:\windows\system32
(звичайно ж, цей шлях також віртуальний). На різноманітні запитання відповідаємо, так,
замінити існуючі файли на нові.
7. Ліземо в конфігуратор вайну. На першій вкладці додаємо додаток DCOM.EXE:
Виділивши цей додаток в утвореному списку на першій вкладці, рухаємся до другої вкладки
- бібліотеки (Libraries). Додаємо для цього додатку бібліотеку ole32.dll . Вписуємо
просто "ole32", без розширення.
Така модель використання бібліотек (рідна, вбудована) нам підходить. Вайн лише
емулює роботу системних бібліотек. Іноді виходить дуже добре, іноді погано, а іноді
зовсім не виходить. Прописування бібліотек в конфігураторі дозволяє вайну
використовувати при запуску додатку або власні вайновські бібліотеки, або оригінальні
віндові, які доводиться вручну копіювати з встановленої вінди або ще звідки доведеться.
В першому випадку з авторськими правами та іншою лабудою проблем немає, тому що
вайновські бібліотеки, як і сам вайн, розповсюджується по ліцензії GPL. Детальніше
про заміну динамічних бібліотек читайте в документації на офіційному сайті вайну.
8. Запускаємо в терміналі wine c:\\DCOM98.EXE /Q
9. Підготовча частина завершена, приступаємо безпосередньо до установки 1С:Предприятие.
Запускаємо wine "Шлях до дистрибутиву 1С\setup.exe".
Встановлення одинески відбувається абсолютно так саме, як і під віндами.
Бажано уникати в емульованих програмах використання файлів та папок, які містять в
назвах пропуски або символи кирилиці.
10. Запускаємо патч, який ламає HASP захист :). На жаль, реальний HASP ключ для
1С:Предприятие я бачив один чи лва рази в житті, довкола всі юзають зламані проги.
За відсутності оригінального ключа запуск одинесини з легальним ключем піл Лінуксом
не перевірявся, хоча в народу з цього питання є напрацювання. Потрібен патч, який
переписує тільки екзешник, інші, що працюють з сервісами, реєстром та емуляцією ключа,
працювати не будуть.
11. На цьому етапі, запуск нашого бухгалтерського мега-комплексу дає якісь результати:
Правда, далі переписування баз справа не йде.
Потрібно з цим якось боротися ©
12. Помилка стається через те, що прога не використовує необхідні динамічні бібліотеки.
Цей етап покликаний це виправити. Ліземо в конфігуратор вайну. Додаємо там наш додаток:
Прописуємо для нього динамічні бібліотеки:
Товариші радять ще прописувати і використовувати msvcrt.dll і/або msvcrt40.dll, їх
доведеться діставати з встановленної вінди. В мене запустилась без використовування
цих бібліотек, але є приклади, коли без них не запускається.
13. На цьому етапі наш рідний додаток запускається без викидання страшного вікна
про контейнер і контенти. Він вже викидає інше вікно, більш знайоме бухгалтерам і
збоченцям від компутеризму ;)
На цьому етапі я поясню, для чого ми в конфігураторі не дозволили віконному менеджеру
керувати вікнами вайну. Через сплеш-заставку одинески (червоно-оранжево-жовту з терезами,
калькулятором і логотипом 1С) у випадку керування вікнами віконним менеджером, віконце
авторизації опинялося під заставкою, і справа далі не рухалася - для користувача все
зависало на рядку "Завантаження конфігураційної інформації...". Можна
пропатчити екзешник одинески, щоб вона взагалі не викидала сплеш-заставку, інше питання
- а чи треба? Якщо хочеться оформлення одинесних вікон в стилі кде/гнома - на здоров'я,
hex редактор в руки :).
14. Без сумніву, при першому запуску 1С:Предприятие видасть повідомлення "Порядок
сортування, встановлений для бази даних, відрізняється від системного!". Тиснемо OK
і йдемо в конфігуратор поточної бази. В пункті "Вікна" - "Панель вікон"
вимикаємо показ панелі (через цю панель, програма вилітає дуже навіть добре). В пункті
"Адміністрування" вибираємо "Кодова сторінка таблиць ІБ".
Встановлюємо "+Поточне системне налаштування":
Погоджуємся з заміною кодової сторінки бази. Нагадую про необхідність резервного
бекапа бази перед подібними маніпуляціями.
15. Запускаємо наше 1С:Предприятие. Одразу вимикаємо в пункті "Вікна"
відображення панель вікон. Нібито те, що нам потрібно:
Необхідно звернути увагу на права доступу, які виставлені для робочих папок. Для
встановлення прав на повний доступ до папок і файлів, для всіх на диску С:, потрібно
виконати в консолі наступну команду: chmod 777 -R -c
/home/ім'я_юзера/.wine/drive_c
Також буває, що при запуску
1С:Предприятие з'являється ось така тарабарщина:
Можна спробувати виправити це, для цього потрібно залізти в редактор віртуального
реєстру (там є і такий! :) ), набравши в консолі команду regedit
Міняємо значення строкової одиниці
Codepages на 1251,866. Якщо вийде :).
На цьому закінчу. Іноді в запущеній програмі може пропадати стандартне меню (Файл,
Правка, тощо). Лікувати це не брався, та й навряд чи візьмусь в найближчий час.
Проблема запуску мега-комплексу під Лінуксом стоїть давно, у товаришів з Росії є
напрацювання з цього приводу, є навіть рішення від самої контори 1С (небезкоштовне,
звичайно). Всю потрібну інформацію запросто можна взнати з усіляких гугелів і яндексів.
Апдейт від 15 березня 2008р.: Камради, рідненьні, на жаль в мене
навряд чи вийде відповідати на виникаючі запитання. Пост був написаний більше року
назад, з тих пір я навіть лінукс ні разу не запустив, не кажучи вже про експерименти
з емуляціями. Тому велике прохання: якщо хтось знайшов рішення описаної в коментах
проблеми, опишіть його тут, будь-ласка. Дякую!
Професор Андернакіс (http://gloomka.livejournal.com) @ 2007-02-21
|