Статьи

Облік обладнання з OCS Inventory NG і GLPI

  1. Можливості OCS Inventory NG і GLPI
  2. Установка OCS Inventory в Ubuntu
  3. локалізація
  4. установка агента
  5. установка GLPI

Стаття написана для журналу

Сьогодні в організації будь-якого розміру досить багато комп'ютерної техніки та іншого обладнання. Облік якого, а також інших пов'язаних витрат, часто входить в обов'язки адміністратора. Застосування спеціалізованих систем може значно спростити цю задачу. У статті розглянемо рішення OCS Inventory NG і GLPI, які є хорошою альтернативою пропрієтарним продуктам.

Можливості OCS Inventory NG і GLPI

Система (Gestion Libre de Parc Informatique) крім завдань з обліку комп'ютерів і в тих, що ходять в їх склад комплектуючих, дозволяє інвентаризувати інше обладнання включаючи витратні матеріали (наприклад картриджі), а також організувати службу технічної підтримки автоматизуючи обробку звернень користувачів. Тепер користувач замість того, щоб бігти або дзвонити адміну, заповнює зайшовши за адресою ресурсу заявку. Звернення обробляються з урахуванням їх важливості або в порядку черговості. Адміністратор виграє в двійні - всі звернення документуються, і можна спокійно відзвітувати перед начальством про проделаной роботі і витрачений час, користувачі з цієї ж причини перестануть звертатися по дрібницях. Не кажучи вже про те, що дзвінки зазвичай відволікають від виконання поточної роботи. Також з його допомогою можна сформувати базу знань, яка буде складатися із заміток, статей і ЧаВО, вести облік постачальників, договорів. Доступна велика кількість звітів (за договорами, фінансова, за рік) і статистик (за заявками, обладнання, елементів).
Підтримується синхронізація календаря по протоколам Ical, Webcal.
Функціональність GLPI можна розширити за допомогою великого набору плагінів від сторонніх розробників!
Обидві системи русифіковані (з деякими застереженнями) і поширюються за ліцензією GNU GPL.
У GLPI, як і в Kwok Information Server спочатку всі дані вводяться вручну і зберігаються в базу даних MySQL. Потім адміністратор за допомогою веб-форми може відібрати будь-яку потрібну йому інформацію. Починаючи з версії 0.65 GLPI підтримує синхронізацію даних з базами OCSNG, причому для цього не потрібно ніяких додаткових модулів. Хоча якщо в мережі вже є сервер Nagios або Cacti, то дані про комп'ютерах і іншому устаткуванні можна імпортувати і від туди.
Основним плюсом OCS Inventory NG є те, що для збору інформації про встановлений обладнанні з клієнтських комп'ютерів і серверів використовується програма-агент. Всі зібрані дані, агенти відсилають на сервер управління (management server), у вигляді XML потоку стисненого за допомогою Zlib, для передачі використовується стандартний протокол HTTP / HTTPS. Сервер OCSNG складається з 4 компонентів, які можуть бути встановлені на одному або декількох комп'ютерах:

  • база даних - використовується для зберігання інформації, підтримується MySQL від 4.1;
  • служба зв'язку - забезпечує зв'язок по протоколу HTTP між сервером бази даних і програмами-агентами, потрібно Apache Web Server 1.3.X / 2.X з інтегрованим Perl (в Debian / Ubuntu пакет libapache-dbi-perl);
  • служба розгортання - призначений для зберігання інсталяційних файлів програм-агентів, підходить будь-який веб-сервер з підтримкою SSL;
  • консоль управління - перегляд зібраних даних в браузері, потрібно веб-сервер з підтримкою PHP (з активованими ZIP і GD).

Серверна частина OCSNG може бути встановлена ​​на комп'ютер працює під управлінням Windows 2000 Professional / Server, XP Professional Edition і 2003, а також Linux, FreeBSD, OpenBSD, NetBSD, Solaris, IBM AIX і MacOS X. Агент доступний для кліенскіх і серверних версій Windows від 95 до Server 2008 R2, а також перерахованих Linux (2.4 / 2.6, x86, x86_64 / AMD64, Sparc64, ARM, PowerPC), MacOS X (10.3 - 10,5), FreeBSD / OpenBSD / NetBSD (x86 / Sparc), Solaris 8, 9, 10 (x86 / Sparc), IBM AIX (5.1 - 5.3) і HP-UX.
Слід зазначити, що одним з недоліків, як даного проекту, так і проекту GLPI є мала кількість документації. Хоча, розуміючи суть процесу, розібратися з усіма нюансами досить просто.

Установка OCS Inventory в Ubuntu

В середині квітня, після більш ніж року розробки, вийшла нова версія 1.02 OCSNG, про яку й піде мова далі. Пакет з OCSNG мається на репозитариях багатьох дистрибутивів. Для прикладу в якості сервера і клієнта виберемо Ubuntu 8.04 LTS. Перевіряємо, що є в репозитарії Ubuntu.

$ Sudo apt-cache search ocsinventory ocsinventory-reports - Hardware and software inventory tool (Administration Console) ocsinventory-server - Hardware and software inventory tool (Communication Server) ocsinventory-agent - Hardware and software inventory tool (client)

Хоча це не найактуальніша версія на даний момент:

$ Sudo apt-cache show ocsinventory-server | grep -i version Version: 1.01-3 $ sudo apt-cache show ocsinventory-agent | grep -i version Version: 1: 0.0.8-1

Тому будемо встановлювати, використовуючи вихідні тексти. В залежності пакету "ocsinventory-server" отриманих за допомогою "sudo apt-cache depends ocsinventory-server", зазначений Apache2 і деякі модулі Perl, утиліта для зміни файлів налаштувань ucf і dbconfig-common. Пакет MySQL вказаний як необов'язкових залежностей, тому його встановлюємо окремо.

$ Sudo apt-get install mysql-server

команда:

$ Sudo apt-get build-dep ocsinventory-server

В даному випадку марна, тому встановлюємо все що необхідно вручну:

$ Sudo apt-get install libapache2-mod-perl2 libdbi-perl libapache-dbi-perl libdbd-mysql-perl libsoap-lite-perl libxml-simple-perl libnet-ip-perl libcompress-zlib-perl php5-gd

Беремо з сайту проекту OCSNG архів OCSNG_UNIX_SERVER-1.02.tar.gz і встановлюємо:

$ Tar xzfv OCSNG_UNIX_SERVER-1.02.tar.gz $ cd ./OCSNG_UNIX_SERVER-1.02/ $ sudo ./setup.sh

По ходу установки слід відповісти на ряд стандартних запитань: розташування сервера баз даних, що виконується і конфігураційного файлу веб-сервера, користувач, від імені якого запускається веб-сервер і так далі. У більшості випадків скрипт сам знаходить все необхідне і досить просто підтвердити параметр. Єдине з чим він не розібрався це з користувачем і групою від імені, яких запускається Apache. Тому замість запропонованого
[$ {APACHE_RUN_USER}] вказуємо www-data.
Далі проводиться перевірка встановлених модулів Perl. І в разі якщо потрібний не буде знайдений, видається відповідне повідомлення. Так в залежності Ubuntu не вказано модуль XML :: Entities.

Сhecking for XML :: Entities PERL module ... *** Warning: PERL module XML :: Entities is not installed!

В репозитарії пакета забезпечує функції XML :: Entities немає, тому його слід встановити самостійно з CPAN.

$ Sudo cpan -i XML :: Entities

І повторюємо установку. Після закінчення скрипт запропонує інсталювати консоль адміністрування.
В процесі установки в каталозі /etc/apache2/conf.d/ будуть створені конфігураційні файли для веб-сервера - ocsinventory-server.conf і ocsinventory-reports.conf.
Самі PHP скрипти забезпечують функції OCSNG будуть скопійовані в / usr / share / ocsinventory-reports / ocsreports і підключені до веб-сервера з використанням директиви Alias:

$ Cat ocsinventory-reports.conf | grep -i alias # Alias ​​used to put Administration Server static page (typically PHP) outside Alias ​​/ ocsreports / usr / share / ocsinventory-reports / ocsreports # Alias ​​to put Deployement package files outside Apache document root directory Alias ​​/ download / var / lib / ocsinventory-reports / download

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

$ Cat /etc/logrotate.d/ocsinventory-server # Rotate OCS Inventory NG Communication server logs daily # Save 7 days old logs in compressed mode /var/log/ocsinventory-server/*.log {daily rotate 7 compress missingok}

Після закінчення слід перезапустити веб-сервер.

$ Sudo /etc/init.d/apache2 force-reload

Деякі пакети, поширювані за допомогою OCSNG, можуть мати розмір більше 8 Мб, тому щоб не було проблем з їх завантаженням слід встановити більше значення змінних post_max_size і upload_max_filesize в файлі /etc/php5/apache2/php.ini наприклад в 10 Мб (за замовчуванням - 8 і 2 Мб). Цих же установки слід змінити в ocsinventory-reports.conf:

php_value post_max_size 10m php_value upload_max_filesize 10m

Набираємо в браузері http: //localhost/ocsreports/install.php і у вікні вводимо логін і пароль для доступу до MySQL. За замовчуванням в процесі установки для доступу до бази ocsweb буде створена обліковий запис "ocs" з паролем "ocs". Якщо тільки доступ до бази не обмежений локальною системою, то в цілях безпеки пароль слід змінити.

$ Mysql -uroot -prootsecret mysql> UPDATE mysql.user SET Password = PASSWORD ( 'ocspasswd') WHERE User = 'ocs'; mysql> FLUSH PRIVILEGES; mysql> exit

Нове значення пароля слудет прописати в файлі /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php:

$ _SESSION [ "PSWD_BASE"] = "ocspasswd"

І в ocsinventory-server.conf:

PerlSetVar OCS_DB_PWD ocspasswd

локалізація

Переходимо на сторінку http: // localhost / ocsreports /, для реєстрації використовуємо логін "admin" з паролем "admin". Клацнувши тут же по прапору, можна активувати російську мову інтерфейсу, але відразу після установки це призвело до появи незрозумілими символами. Єдиним матеріалом по локалізації інтерфейсу OCS Inventory є стаття Євгена Бражко (http://eugene-online.blogspot.com/2008/04/ocs-inventory.html), але вона відноситься до версії 1.02RC1, що вийшла в березні 2008 року і багато питання які в ній описані, в поточній версії вже вирішені. Так аналіз HTML коду сторінки показав, що вона видається належним кодуванням:

Інтерфейс локалізується за допомогою мовного файлу russian.txt розташованого в / usr / share / ocsinventory-reports / ocsreports / languages. В меню "Configurations" є окремий пункт "Language file" дозволяє його редагувати. Але відкривши файл russian.txt в текстовому редакторі підтримує СР1251 виявляємо тільки набір незрозумілими символами. Висновок команди file:

$ File russian.txt russian.txt: UTF-8 Unicode English text

Задає ще більше питань. При цьому:

$ File english.txt english.txt: ASCII English text

А перший рядок файлу, явно вказує на потрібне кодування.

$ Head -n 1 russian.txt 0 windows-1251

З цього робимо висновок - щось не те з самим файлом, тому беремо аналогічний з RC1 або іншого джерела , І підміняємо його, не забувши встановити потрібні права доступу.

$ Sudo chown root: www-data russian.txt $ Sudo chown root: www-data russian Файл локалізації OCSNG вимагає заміни

Після цього всі написи виводяться російською.
Щоб коректно виводилися назви програм встановлених на Windows системах, слід в файлі /usr/share/ocsinventory-reports/ocsreports/preferences.php встановити в "1" значення «UTF8_DEGREE»:

define ( "UTF8_DEGREE", 1); // 0 For non utf8 database, 1 for utf8

Далі в файлі machine.php, який знаходиться в цьому ж каталозі правимо функцію print_softwares. Після установки вона матиме такий вигляд:

echo "$ td3" .htmlentities (textDecode ($ item-> PUBLISHER)). "$ td3" .htmlentities (textDecode ($ item-> NAME)). "$ td3" .textDecode ($ item-> VERSION). " $ td3 ". (htmlentities (textDecode ($ item-> COMMENTS))? htmlentities (textDecode ($ item-> COMMENTS)):" N / A ")." ";

Міняємо на:

echo "$ td3" .textDecode ($ item-> PUBLISHER). "$ td3" .textDecode ($ item-> NAME). "$ td3" .textDecode ($ item-> VERSION). "$ td3". (htmlentities (textDecode ($ item-> COMMENTS))? textDecode ($ item-> COMMENTS): "N / A"). "";

Після цього список програм встановлених на вашому комп'ютері буде виводиться коректно. Сторінка в PDF створювана за допомогою кнопки «Надрукувати цю сторінку», яка розташована в самому низу, також виглядала коректно. Хоча в загальному списку ПО як і раніше буде не читається текст.

установка агента

Агент для Windows написаний на C ++, його можна встановити вручну, за допомогою logon скрипта або правил GPO. Агент для Linux написаний на Perl і С. Для його установки буде потрібно наявність деяких модулів Perl (XML і Zlib) і dmidecode (забезпечує збір даних з BIOS про обладнання у відповідності зі стандартами SMBIOS / DMI). У Linux агент встановлюється вручну. Спочатку розглянемо цей варіант.
Якщо клієнт встановлюється на тому ж комп'ютері, що і сервер практично всі необхідні пакети для задоволення залежностей вже будуть. Інакше встановлюємо:

$ Sudo apt-get install libcompress-zlib-perl libnet-ip-perl libnet-ssleay-perl libwww-perl libxml-simple-perl po-debconf ucf dmidecode pciutils

Далі завантажуємо і ставимо агента:

$ Tar xzvf OCSNG_UNIX_AGENT-1.02.tar.gz $ cd Ocsinventory-Agent-1.0.1 $ perl Makefile.PL $ make $ sudo make install

Після введення останньої команди надійде запит на настройку агента.

Do you want to configure the agent Please enter 'y' or 'n'?> [Y]

Відзначаємо "y" і за допомогою цифрових клавіш відповідаємо на питання, де повинен розташовуватися конфігураційний файл:

Where do you want to write the configuration file? 0 -> / etc / ocsinventory 1 -> / usr / local / etc / ocsinventory 2 -> / etc / ocsinventory-agent

Далі вказуємо адресу або ім'я сервера, створюємо тег (з його допомогою можна зібрати системи в цільову групу, наприклад, за принципом розміщення) для агента, активуємо завдання для cron, каталог для зберігання файлів і так далі. Після закінчення видається запит на відсилання зібраних даних про комп'ютер на сервер:

Do you want to send an inventory of this machine? Please enter 'y' or 'n'?> [Y] [info] Accountinfo file does not exist. I create an empty one. -> Success!

У підсумку в / var / lib / ocsinventory-agent буде створений підкаталог з файлами містять поточну конфігурацію комп'ютера. Наприклад, в ocsinv.adm міститься тег і назва системи під яким вона буде видна в консолі управління.

$ Cat /var/lib/ocsinventory-agent/http\:__localhost_ocsinventory/ocsinv.adm TAGUbuntu

Практично відразу після установки агента відомості про нову систему з'являться в консолі управління у вкладці "Все комп'ютери".
При виникненні проблем можна запустити агента в режимі налагодження:

$ Ocsinventory-agent -l / tmp -debug --server http: // localhost / ocsinventory

За замовчуванням у вкладці "Все комп'ютери" виводяться 7 характеристик клієнтських машин, але за допомогою списку "Add column" можна додати ще до 23 поля. Хоча в деяких випадках помічені помилки у визначенні параметрів. Так на системі з такими характеристиками:

$ Dmesg | grep -i processor [97.725563] powernow-k8: Found 1 AMD Athlon (tm) 64 X2 Dual Core Processor 3600+ processors (2 cpu cores) (version 2.20.00) [0.000000] Detected 2010.408 MHz processor.

В консолі OCS Inventory було виведено - 1000 Мгц, але при необхідності дані можна скоректировать вручну. З різних причин в базу комп'ютер може бути занесений кілька разів, для видалення дублікатів існує однойменна вкладка в якій однакові системи можна відібрати за кількома параметрами (ім'я, МАС-адреса, серійний номер).
Поточна версія агента для Windows 4.0.5.4, архів OCSNG_WINDOWS_AGENT_1.02.zip з установочними файлами можна скачати з сайту проекту. Судячи з усього, в ньому вже виправлена ​​помилка, яка призводила до того, що російські букви, починаючи з 'х' (0xF4) замінялися англійським іксом. У всякому разі, на тестових системах все працювало правильно. Як варіант можна використовувати спеціальну збірку (версія агента 4.0.4.9).
Найпростішим варіантом установки є запуск виконуваного файлу OcsAgentSetup.exe в цьому випадку буде проведена стандартна установка, після закінчення якої агент буде прописаний в якості сервісу. На останньому етапі вказуємо ім'я або IP-адреса OCSNG сервера і встановлюємо прапорець «Immediatly launch inventory», щоб відразу ж відправити звіт.
Всі настройки будуть збережені у файлі service.ini, каталогу в який встановлений агент.
У Vista слід відкрити його і додати параметр / DEBUG до ладу запуску:

Miscellaneous = /SERVER:192.168.0.10 / PNUM: 80 / DEBUG

При зміні обладнання або ПЗ, агента викликати примусово, набравши в командному рядку:

> "C: \ Program Files \ OCS Inventory Agent \ OCSInventory.exe" / SERVER: ocsng_server / PNUM: 80 / NOW

Також агента (файл ocsagent.exe є zip архівом) можна імпортувати в базу OCSNG, вибравши в вкладці Агент і вказавши на розташування файлу. У цьому випадку він буде доступний з будь-якого комп'ютера мережі.

У цьому випадку він буде доступний з будь-якого комп'ютера мережі

Після установки агентів дані автоматично з'являються в консолі управління OCSNG

Крім функцій мережевої інвентаризації OCSNG має можливість розгортання пакетів і запуску команд записаних у файлі (наприклад bat / vbs) на клієнтських комп'ютерах (крої Vista), інформація про яких знаходиться в інвентаризаційної системі. При необхідності установки однієї програми на велику кількість систем така функціональність дуже виручає.
Для початку пакет потрібно створити. Переходимо в Deployment - Build і заповнюємо поля New package building. Назва пакета повинно бути унікальним і бажано відображати його призначення. Параметр Priority визначає порядок розміщення пакетів. Що власне робити з пакетом визначає поле Action. Тут три можливих значення:

  • Store - копіювати на цільову систему;
  • Execute - копіювати і виконати з командою;
  • Launch - копіювати і запустити.

Параметри в User notifications дозволяють вивести відповідне попередження користувачеві, дозволити йому скасування виконання завдання. Створений пакет копіюється в каталог / var / lib / ocsinventory-reports / download / timestamp
При цьому timestamp виходить унікальним.

$ Ls / var / lib / ocsinventory-reports / download / 1241705351 1241722723 $ ls 1241722723 1241722723-1 info

Файл info містить настройки пакета, а 1241722723-1 є власне програмою.
Переходимо в Deployment - Activate вибираємо потрібний пакет і натискаємо посилання Activate. Вводимо в вікні адресу виду https: // server / download / при цьому timestamp до URL буде додано автоматично, натискаємо "Відправити". У відповідь повинні отримати повідомлення:

Package activated, it can now be deployed.

Тепер вибираємо комп'ютер, на яких хочемо встановити пакет, переходимо в меню "Customization", в самому низу вибираємо посилання "add package", вказуємо на пакет і натискаємо в поле "Affect". Підтверджуємо свій вибір. У Customization з'явиться інформація про стан завдання, а в таблиці в Activate буде виводитися статистика.
За замовчуванням агент підключається до сервера раз на добу, тоді і буде проведена установка. Можна прискорити цей процес, викликавши підключення примусово, як це показано вище. Після підключення агента до сервера стан пакета повинно змінитися з WAITING_NOTIFICATIONS на NOTIFIED, а потім Success. Пакет буде збережений в каталозі C: ​​\ Program Files \ OCS Inventory Agent \ download \ TIMESTAMP. А все пов'язані повідомлення можна знайти в файлі download.log.
Крім видачі інформації про "своєму" комп'ютері агенти в різних подсетях сканують мережу в пошуках MAC адрес належать інших систем. Така функція називається "IP discovery" і дозволяє знаходити інші пристрої, на яких не можна встановити агента (наприклад, свічі, принтери і так далі).

Така функція називається IP discovery і дозволяє знаходити інші пристрої, на яких не можна встановити агента (наприклад, свічі, принтери і так далі)

Після всіх правок інформація про встановлений ПО на кирилиці виводиться коректно

установка GLPI

Установка GLPI досить проста. У репозитариях дистрибутивів потрібний пакет є, але його версія зазвичай сильно відстає.

$ Sudo apt-cache search glpi glpi - IT and Asset management software $ sudo apt-cache show glpi | grep -i version Version: 0.68.3.2-1

Актуальною на момент написання статті є версія 0.71.5 вийшла в січні 2009 року. Крім цього на сторінці завантаження доступний предреліз 0.72-RC2 і зріз CVS архіву. Для установки просто розпаковуємо скачаний архів в кореневу папку веб-сервера:

$ Sudo tar xzvf glpi-0.71.5.tar.gz -C / var / www $ cd / var / www / glpi

Встановлюємо для деяких каталогів власника і групу-власника.

$ Sudo chown www-data: www-data config files files / * inc

Далі набираємо в браузері http: // localhost / glpi вибираємо мову (в списку є російська), приймаємо умови GPL, і слідуємо вказівкам майстра установки. Найголовніший етап "Перевірка оточення на сумісність з GLPI", де слід уважно прочитати і виконати всі рекомендації.
Наприклад, за вказівкою майстра, параметр memory_limit в php.ini слід встановити в значення більше 32.

$ Grep -i memory_limit /etc/php5/apache2/php.ini memory_limit = 128M

Виконуємо всі вимоги, перевіряємо повторно і якщо все нормально натискаємо Continue.

Виконуємо всі вимоги, перевіряємо повторно і якщо все нормально натискаємо Continue

При установці GLPI слід виконати всі рекомендації програми

Тепер власне установка - вводимо дані для доступу до MySQL, назва бази даних і все.
Щоб GLPI автоматично перевіряв пошту, відправляв повідомлення слід створити завдання для користувача від імені якого працює веб-сервер (потрібен пакет php5-cli):

$ Sudo crontab -u www-data -e * / 5 * * * * / usr / bin / php5 /var/www/glpi/front/cron.php &> / dev / null

За замовчуванням в GLPI створюється чотири облікових записи з різними правами і можливостями (через дріб вказаний пароль):

  • glpi / glpi - адміністратор;
  • tech / tech - технічний фахівець;
  • normal / normal - звичайна обліковий запис (можливість перегляду даних);
  • post-only / post-only - тільки виконати сервісне обслуговування;

GLPI підтримує імпорт облікових даних з AD або інший LDAP.
Реєструємося в системі як glpi. Для локалізації інтерфейсу в "Setting - Select Language" вибираємо російську мову, після цього все нові облікові записи будуть використовувати за замовчуванням вибрана мова. Нові користувачі додаються в однойменній вкладці, там кілька некоректний переклад. Так логіну відповідає поле «Ім'я користувача», це іноді збиває з пантелику. Щоб не було плутанини можна змінити значення в файлі /var/www/glpi/locales/ru_RU.php:

$ LANG [ "setup"] [18] = "Ім'я користувача";

Далі переходимо в "Установки (Setup) - Загальні (General setup)" і встановлюємо "Активувати режим OCSNG (Activate OCSNG mode)" в "Так". Після цього з'явиться нова вкладка "Режим OCSNG" (OCSNG Mode). Якщо OCSNG і MySQL встановлені на локальній машині, то дані для підключення до OCSNG будуть знайдені автоматично. Інакше необхідно буде заповнити інформацію про сервер OCSNG вручну.

Інакше необхідно буде заповнити інформацію про сервер OCSNG вручну

Вікно активації режиму OCSNG

За замовчуванням синхронізується тільки частина параметрів, щоб в базу даних GLPI були перенесені і компоненти комп'ютерів, слід дозволити їх синхронізацію, встановивши прапорець навпроти потрібного в положення "Глобальний імпорт".
Крім цього у вкладці "Інструменти" з'явиться пункт "OCSNG" за допомогою наявних тут посилань можна робити синхронізацію й імпортування комп'ютерів між OCSNG і GLPI.
Отримані дані з'являються у вкладці Устаткування. Тут кілька підпунктів перехід до деяких з них дозволяє отримати список деяких компонентів входять до комп'ютер (Монітори, Принтери), окремого обладнання (Картриджі, Телефони), а також ПО. Імпортовані комп'ютери доступні в однойменному пункті. Вибравши комп'ютер або пристрій ми отримуємо доступ до 12 вкладках, в яких можна переглянути і скоригувати дані про обладнання, зіставити відповідального, переглянути заявки, додати замітки, зробити позначку про видачу у тимчасове користування, переглянути історію і так далі. На жаль на даний момент список імпортованих з OCSNG компонентів комп'ютера написаний російською виводиться нечитабельним текстом.
Користувачів GLPI можна об'єднати в групи, крім цього існує більш глобальне поняття - Організація. Відразу після установки створюється «Основна організація» в яку і будуть включені всі компоненти. Передбачено створення інших організацій з встановленням підпорядкованості між ними (структури). Але робота з організаціями реалізована незручно, так перенесення техніки в іншу організацію ускладнений і незручний. Передбачено експорт даних в PDF, CVS і SLK (Symbolic Link).
За замовчуванням при експорті в PDF замість російських букв виводяться знаки питань, це відбувається з двох причин: стандартна функція експортує дані в кодуванні ISO-8859-1, яку і підтримує буде використовуватися під шрифт. Підказка була знайдена на. Замінюємо в скрипті /var/www/glpi/inc/export.function.php виклик функції utf8_decode на utf8_decode_cyr.

$ Sudo perl -p -i -e 's / utf8_decode / utf8_decode_cyr / g' export.function.php inc / export.function.php:

І додаємо в export.function.php опис самої функції utf8_decode_cyr.

function utf8_decode_cyr ($ value) {return iconv ( "UTF-8", "Windows-1251", $ value); }

Тепер шрифт. За замовчуванням для експорту використовується шрифт Helvetica, його б я і рекомендував залишити. Якщо замінити шрифт іншим, його ім'я доведеться правити не тільки в двох місцях файлу export.function.php.

$ Cat export.function.php | grep -i selectFont $ pdf-> selectFont (GLPI_ROOT. "/ lib / ezpdf / fonts / Helvetica.afm");

Але і в 2 файлах знаходяться в lib / ezpdf.

Тепер шрифт. Для конвертації TTF шрифту в Postscript type 1 буде потрібно утиліта ttf2pt1.

$ Sudo apt-get install ttf2pt1

Запускаємо.

$ Ttf2pt1 -l cyrillic -A Helvetica.ttf Helvetica

Тепер копіюємо файли замість старих, не забувши підправити права.

$ Sudo cp -v Helvetica * / var / www / glpi / lib / ezpdf / fonts / `Helvetica.afm '->` /var/www/glpi/lib/ezpdf/fonts/Helvetica.afm' `Helvetica.t1a ' -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.t1a '` Helvetica.ttf' -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.ttf '

Виправлений варіант шрифтів .
Після цього PDF буде виводиться коректно.

Після цього PDF буде виводиться коректно

Файл PDF згенерований в OCSNG з інформацією про систему

Установка плагінів для GLPI проводиться простий розпакуванням в підкаталог glpi / plugins, після чого плагін буде доступний для настройки в меню "Установки - Додатки". З сайту проекту можна завантажити приблизно 50 найрізноманітніших плагінів.

Інтерфейси як OCSNG, так і GLPI досить прості для освоєння, досить витратити півгодини і ви будете добре орієнтуватися. На жаль, до кінця питання локалізації так і не вирішено. Так для Windows в OCSNG неправильно відображаються кириличні назви встановлених програм і компонентів обладнання. Обговорення всіх питань по локалізації можна знайти на форумах проекту і OPENNET, деяким вони допомагають у деяких не виходить все вирішити.

Htmlentities (textDecode ($ item-> COMMENTS))?
Htmlentities (textDecode ($ item-> COMMENTS))?
Do you want to configure the agent Please enter 'y' or 'n'?
Please enter 'y' or 'n'?

Новости