загальні слова
Є така база, правова база даних КонсультантПлюс. кожен IT-фахівець знає цей твір російської комп'ютерної думки і напевно встановлював не раз. Звичайно, можна користуватися тільки online-версією цієї чудової правової бази даних. але навіщо? Адже є можливість отримати цю комп'ютерну програму на руки, підписавши договір з регіональним представником (регіональним інформаційним центром) і виплачуючи невеликі гроші. Саме від них, від регіональних представників, можна отримати чарівний файл-демон ліцензування conslin. який дозволяє провести-таки реєстрацію правової бази даних КонсультантПлюс (адже ми ж користуємося тільки легальним програмним забезпеченням, чи не так?) і файл з інструкцією по установці: linux.rtf. Немає впевненості в тому, що файл з інструкцією по установці можна публікувати публічно, так як в ньому не вказані умови його поширення, але там досить банальні речі, крім деяких секретних елементів, які включені в межах розумного цитування в цю інструкцію.
Початкова установка
Просто ставимо з mini.iso систему Ubuntu Linux 12.04, куди доустанавливать тільки найпотрібніші нам компоненти. Де взяти mini.iso? Звичайно ж тут:
Установка проста і не хитромудро. Мінімальна система, без будь-яких сторонніх сервісів. Єдине, що важливо, по закінченню установки необхідно вибрати з величезного сховища вільного програмного забезпечення саме ті пакети, які вам дійсно знадобляться:
openssh-server - для віддаленого доступу до операційної системи.
wine - той самий неемулятор Wine Is Not Emulator. який дозволить нам запускати на сервері нерідні для Linux, виконані файли системи КонсультантПлюс з метою реєстрації цього програмного продукту, реєстрації робочих станцій, оновлення правової бази даних КонсультантПлюс.
xvfb - ще одна програма неемуляціі, це справжнісінький X-сервер, але вміє працювати без пристроїв відображення і пристроїв введення-виведення. Здавалося б, навіщо таке потрібно? А ось потрібно, наприклад, зараз, коли немає необхідності ставити справжній X-сервер на постійну основу, а лише користуватися ним спорадично. Адже все ж знають, що, за рідкісними винятками, сервер з X-сервер - зовсім ніякий не сервер.
Такі сервіси, як правова база даних КонсультантПлюс. зручно тримати на сервері віртуальних машин з урахуванням реального промислового гипервизора Kernel-based Virtual Machine (KVM). Для створення образу жорсткого диска віртуальної машини рекомендується 10-гігабайтний "гумовий" образ qcow2 або qed (який вміє розширювати свій розмір, залежно від наповнення даними, але можна зробити і фіксованого обсягу), який по-справжньому займає на сервері віртуальних машин спочатку трохи більше 1 гігабайта. Файли ж правової бази даних не рекомендується, а обов'язково слід розмістити на "гумовому" розділі з максимальним об'ємом не менше 30 гігабайт. що випливає з практики використання, коли спочатку обсяг всіх файлів становив близько 9 гігабайт. а після року роботи системи - близько 14 гігабайт. враховуючи, що підключені тільки федеральні бази законодавства без галузевих варіантів і регіонального законодавства. Оперативної пам'яті віртуальної машини для звичайної роботи системи КонсультантПлюс досить 256 мегабайт. але, з'ясувалося, що для оновлення системи необхідно не менше 512 мегабайт. так як при нестачі пам'яті моторошний комплекс з wine і cons.exe вивалюється в переповнення стека. Всі зазначені вище показники застосовні і до реального апаратного забезпечення (за винятком "гумовий" розділів і неможливості збільшити оперативну пам'ять оперативно).
попередні дії
Створюємо розділ на диску для файлів системи КонсультантПлюс за допомогою програми fdisk (де X - буква диска):
Форматуємо розділ, створюючи на на нашому диску для файлів системи КонсультантПлюс файлову систему ext4 (де X - буква диска, а Y - цифра розділу):
Створюємо точку монтування (підключення) файлової системи:
Монтуємо (підключаємо) в нашу систему розділ диска в підготовлену нами вище директорію через файл опису точок монтування fstab:
прописуючи в ньому запис монтування розділу диска:
73bec7a9-a1d0-5c3f-9244-0cde01363eb4 - приклад UUID розділу диска для монтування;
/ Var / lib / cons - точка монтування (підключення) розділу диска
ext4 - тип файлової системи, який ми вказали при форматуванні підключається розділу
relatime, nodiratime, commit = 120 - параметри, що прискорюють роботу файлової системи, шляхом зменшення частоти записи на диск службової інформації.
0 - параметр, щоб розділ не оброблявся програмою dump, яка за замовчуванням і не встановлена
2 - параметр, який змушувати fsck перевіряти розділ останнім (можна поставити 0, щоб взагалі не перевіряти, але навіщо?)
Застосовуємо внесені зміни:
Якщо диск віртуальний, то застосовуємо ще й додаткові настройки для прискорення диска (це можна зробити навіть в діючій системі, на "ходу"):
де додаємо через sudo -s те, що наш диск не крутиться і може використовувати будь-який ядро процесора для потік введення-виведення, адже у нас одне ядро в віртуальній машині і вибирати власне нема з чого (X - буква диска):
Зазначені вище параметри просто застосувати і в сесії "суперкористувача" через:
але робити це буде тільки до перезавантаження.
Створюємо осмислене ім'я користувача, від якого у нас буде працювати головний користувач КонсультантПлюс і власне будуть запускатися фонові процеси обслуговування:
Створюємо ім'я користувача, від якого у нас буде працювати всі інші користувачі бази даних і у яких будуть права тільки на читання загального ресурсу samba4:
Підготовка директорії з базою даних
Будь-яким чином отримуємо доступ до дистрибутива і копіюємо вміст диска КонсультантПлюс в заздалегідь підготовлену директорію / var / lib / cons (яка є, як ми пам'ятаємо, коренем спеціального розділу диска або окремого диска для файлів правової системи КонсультантПлюс):
Надаємо всі файли в директорії / var / lib / cons користувачеві і групі cons:
Дізнаємося одну з таємниць спільноти КонсультантПлюс. яка була почерпнута в секретному linux.rtf. Директорія ADM повинна мати атрибути rwxrwsr-x. тобто для користувача читання-запис-доступ і для групи читання-запис-доступ + SGID (біт показує, що створювані в директорії файли будуть належати тій же групі, що і каталог, а не групі користувача, який створює в директорії файл):
Що ж лежить і буде лежати в директорії / var / lib / cons / ADM. Так там же:
Обидва файли мають права rwxrwxr-x (775). Якщо права будуть іншими, то на клієнтських машинах буде помилка про зайнятість системи КонсультантПлюс якимись іншими користувачами. Буває, коли некоректно проходять операції оновлення, переиндексации, додавання нових клієнтських комп'ютерів, права збиваються на rwx-- (700)
Для можливості запуску cons.exe на клієнтських комп'ютерах в неLinux-системах чомусь довелося виставляти права rwxr-xr-x (755). а було rwxr-x- (750):
Підготовка загального ресурсу SAMBA4
Редагуємо файл настройки SAMBA /etc/samba/smb.conf:
Закоментіруйте непотрібні нам секції:
Прописуємо секцію загального ресурсу SAMBA:
Створюємо користувачів ресурсу SAMBA:
Включаємо користувачів ресурсу SAMBA:
Реєстрація комплекту і клієнтських комп'ютерів
Копіюємо секретний демон ліцензування conslin в сервер, зазвичай в директорію / usr / local / bin / і прописуємо запуск його при старті сервера в /etc/rc.local до команди exit 0:
Можна звичайно зробити демон /etc/init.d/conslin. але ... чи варто напружуватися? Пам'ятаємо, що обов'язковий для того, щоб conslin виконувався при старті в тлі і завантаження тривала далі, а то хіба мало що, це ж злісний пропріетарний модуль, що там всередині - невідомо, зависнути він може в будь-який момент і робити може що завгодно, хоча є інформація, може працювати по півроку і проблем не створювати (тьху-тьху). При старті демон conslin відкриває TCP-порт 3333 на всіх мережеві інтерфейси сервера.
Підключаємося з Вашого комп'ютера адміністратора віддалено з прокинув Х-сесії на сервер для реєстрації комплекту:
Дзвонимо або пишемо регіонального представника КонсультантПлюс. говоримо отримані цифри від програми, пишемо в завантаживши вікно цифри від представника, радіємо реєстрації.
Підключаємося віддалено з Вашого комп'ютера адміністратора з прокинув X-сесії на сервер з базою даних для реєстрації клієнтських комп'ютерів:
/ Adm - запуск в режимі адміністрування;
/ Linux - запуск на Linux-системі.
Програмна оболонка КонсультантПлюс завантажується і ми йдемо в Меню / Сервіс / Реєстрація станцій.
Запускаємо на клієнтському комп'ютері cons.exe. так само йдемо в меню Меню / Сервіс / Реєстрація станцій.
Що можна робити вручну?
Всі ці дії робляться візуально на комп'ютері адміністратора, використовуючи його X-сервер, але виконуються на сервері.
Оновлювати базу даних через локальну директорію для оновлень (якщо у вас все дуже погано з Інтернетом):
Оновлювати базу даних через мережу Інтернет:
Тестувати базу даних на несправності і помилки:
Індексувати файли бази даних (це необхідно, коли втрачається можливість натискати на посилання в програмі, пишеться фальшиве вообщене про те. Що нібито "в даному комплекті не зареєстрована ця можливість"):
Створюємо скрипт автоматичного оновлення
Створюємо файл /usr/local/bin/cons-update.sh наступного змісту:
Не забуваємо зробити його виконуваним:
щоб скрипт став виконуваним. І зробити через sudo crontab -e запис:
щоб база оновлювалася один раз в тиждень, а саме в понеділок, в 6 OMST (UTC + 7) або 3 MSK (UTC + 4) годин. Час і період підказали співробітники регіонального інформаційного центру КонсультантПлюс. кажуть, що навантаження на сервера з оновленнями мінімальна в цей час, а частіше робити оновлення не має сенсу.
У процесі підготовки скрипта була розкрита таємниця, що виявляється, насправді, vr. res файл - виконуваний і його можна запускати через wine. І він теж буде працювати. Але зловживати цим не треба, так як він постійно оновлюється і його версії тихесенько ростуть.
Ось так ось нескладно і нехитро ми отримали практично автономну правову базу КонсультантПлюс в Ubuntu Linux 12.04, яка сама оновлюється і працює без участі людини. Підключатися до бази можна як з Linux-клієнтів, так і з інших операційних систем, просто стартуючи виконуваний файл cons.exe.