Инвентаризация компьютеров в сети не вставая со стула или OCS Inventory + GLPI

    Всем доброго времени суток!


    Как видно из заголовка, речь пойдет о двух программах:
    1. Open Computers and Software Inventory
    OCS-Inventory основан на распределяемых модулях, устанавливаемых на инвентаризируемые машины, которые отсылают подробную информацию о системе, подключенных устройствах и установленном ПО в выделенную базу данных.
    Поддерживаются следующие OS: Microsoft Windows, Linux, *BSD, Sun Solaris, IBM AIX, HP-UX, MacOS X

    2. GPLI — Guestion Libre de Parc Informatique
    Проект предназначен для работы с базой данных IT и телекоммуникационного оборудования, установленного на предприятии. Также имеется возможность ведения учета расходных материалов и организации службы технической поддержки по расписанию и по заявкам пользователей.

    На просторах сети интернет достаточно много информации о настройке данной связки, но мне не встретилось ни одного подробного how to, где были бы решены все вопросы с локализацией. Поэтому я изложу компиляцию найденых решений и собственных доработок.

    Итак, начнем!


    Установка OCS Inventory.
    Версия OCS: Ver. 1.3.2
    В качестве серверной ОС для сбора данных у меня будет выступать ОС FreeBSD. Я не буду описывать установку и настройку LAMP(в данном случае FAMP =)). Будем исходить из того, что это у вас уже настроено.
    Перед тем как начать установку и настройку OCS Inventory, проверьте установленны ли следующие порты
    /usr/ports/www/mod_perl2
    /usr/ports/sysutils/logrotate
    /usr/ports/lang/perl

    В конфиге apache должна быть строка
    LoadModule perl_module libexec/apache22/mod_perl.so
    Проверьте установленны ли следующие модули perl
    Apache::DBI -- 1.08
    BSD::Resource -- 1.2904
    Bundle::NetSNMP -- ???
    Class::Inspector -- 1.24
    Compress::Raw::Bzip2 -- 2.030
    Compress::Raw::Zlib -- 2.030
    DBD::mysql -- 4.017
    DBI -- 1.613
    Digest::SHA1 -- 2.13
    ExtUtils::MakeMaker -- undef
    HTML::Parser -- 3.68
    HTML::Tagset -- 3.20
    IO::Compress -- ???
    LWP -- 5.836
    Locale::gettext -- 1.05
    Net::IP -- 1.25
    Perl -- 5.8.9
    SOAP::Lite -- 0.712
    Storable -- 2.21
    Task::Weaken -- 1.03
    URI -- 1.55
    XML::Entities -- 1.0000
    XML::Parser -- 2.36
    XML::Simple -- 2.18
    mod_perl2 -- 2.000004

    для этого достаточно запустить вот такой скрипт
    #!/usr/local/bin/perl
    use ExtUtils::Installed;
    my $instmod = ExtUtils::Installed->new();
    foreach my $module ($instmod->modules()) {
    my $version = $instmod->version($module) || "???";
    print "$module -- $version\n";
    }

    Если что-то из приведенного списка у вас отсутствует, то установите коммандой
    #cpan -e ModulName

    1. Качаем пропатченый сервер

    OCSNG в UTF8. Спасибо некоему linvinus!
    Автор патча сделал для нас все что нужно, нам лишь осталось исправить небольшой недочет. Открываем архив, находим там файл /ocsinventory-server-1.3.2/ocsreports/languages/russian.txt, меняем в первой строке windows-1251 на utf8 и сохраняем в кодировке UTF8. Тарбол с исправленным russian.txt можно взять здесь

    2. Распаковывыем архив в папку на сервере(у меня это /usr/local/www/ocs/).

    #tar -xf OCSNG_UNIX_SERVER-1.3.2-linvinus-with-utf8_patch.tar.gz

    3. Создадим директорию для logrotate

    #mkdir /etc/logrotate.d

    4. Изменяем владельца папки

    # chown -R www:www /usr/local/www/ocs/

    5. Далее переходим в папку и запускаем setup.sh

    #sh setup.sh

    +----------------------------------------------------------+
    | |
    | Welcome to OCS Inventory NG Management server setup ! |
    | |
    +----------------------------------------------------------+

    CAUTION: If upgrading Communication server from OCS Inventory NG 1.0 RC2 and
    previous, please remove any Apache configuration for Communication Server!

    Do you wish to continue ([y]/n)?
    Assuming Communication server 1.0 RC2 or previous is not installed
    on this computer.

    Starting OCS Inventory NG Management server setup from folder /usr/local/www/ocs
    Storing log in file /usr/local/www/ocs/ocs_server_setup.log

    +----------------------------------------------------------+
    | Checking for database server properties... |
    +----------------------------------------------------------+

    Your MySQL client seems to be part of MySQL version 5.1.
    Your computer seems to be running MySQL 4.1 or higher, good ;-)

    Which host is running database server [localhost] ?
    OK, database server is running on host localhost ;-)

    On which port is running database server [3306] ?
    OK, database server is running on port 3306 ;-)

    +----------------------------------------------------------+
    | Checking for Apache web server daemon... |
    +----------------------------------------------------------+

    Where is Apache daemon binary [/usr/local/sbin/httpd] ?
    OK, using Apache daemon /usr/local/sbin/httpd ;-)

    +----------------------------------------------------------+
    | Checking for Apache main configuration file... |
    +----------------------------------------------------------+

    Where is Apache main configuration file [/usr/local/etc/apache22/httpd.conf] ?
    OK, using Apache main configuration file /usr/local/etc/apache22/httpd.conf ;-)

    +----------------------------------------------------------+
    | Checking for Apache user account... |
    +----------------------------------------------------------+

    Which user account is running Apache web server [User] ?www
    OK, Apache is running under user account www ;-)

    +----------------------------------------------------------+
    | Checking for Apache group... |
    +----------------------------------------------------------+

    Which user group is running Apache web server [www] ?www
    OK, Apache is running under users group www ;-)

    +----------------------------------------------------------+
    | Checking for Apache Include configuration directory... |
    +----------------------------------------------------------+

    Setup found Apache Include configuration directory in
    .
    Setup will put OCS Inventory NG Apache configuration in this directory.
    Where is Apache Include configuration directory [] ?/usr/local/etc/apache22/Includes
    OK, Apache Include configuration directory /usr/local/etc/apache22/Includes found ;-)

    +----------------------------------------------------------+
    | Checking for PERL Interpreter... |
    +----------------------------------------------------------+

    Found PERL Intrepreter at </usr/bin/perl> ;-)
    Where is PERL Intrepreter binary [/usr/bin/perl] ?
    OK, using PERL Intrepreter /usr/bin/perl ;-)

    Do you wish to setup Communication server on this computer ([y]/n)?

    +----------------------------------------------------------+
    | Checking for Make utility... |
    +----------------------------------------------------------+

    OK, Make utility found at </usr/bin/make> ;-)

    +----------------------------------------------------------+
    | Checking for Apache mod_perl version... |
    +----------------------------------------------------------+

    Checking for Apache mod_perl version 1.99_22 or higher
    Found that mod_perl version 1.99_22 or higher is available.
    OK, Apache is using mod_perl version 1.99_22 or higher ;-)

    +----------------------------------------------------------+
    | Checking for Communication server log directory... |
    +----------------------------------------------------------+

    Communication server can create detailled logs. This logs can be enabled
    by setting interger value of LOGLEVEL to 1 in Administration console
    menu Configuration.
    Where to put Communication server log directory [/var/log/ocsinventory-server] ?
    OK, Communication server will put logs into directory /var/log/ocsinventory-server ;-)

    +----------------------------------------------------------+
    | Checking for required Perl Modules... |
    +----------------------------------------------------------+

    Checking for DBI PERL module...
    Found that PERL module DBI is available.
    Checking for Apache::DBI PERL module...
    Found that PERL module Apache::DBI is available.
    Checking for DBD::mysql PERL module...
    Found that PERL module DBD::mysql is available.
    Checking for Compress::Zlib PERL module...
    Found that PERL module Compress::Zlib is available.
    Checking for XML::Simple PERL module...
    Found that PERL module XML::Simple is available.
    Checking for Net::IP PERL module...
    Found that PERL module Net::IP is available.

    +----------------------------------------------------------+
    | Checking for optional Perl Modules... |
    +----------------------------------------------------------+

    Checking for SOAP::Lite PERL module...
    Found that PERL module SOAP::Lite is available.
    Checking for XML::Entities PERL module...
    Found that PERL module XML::Entities is available.

    +----------------------------------------------------------+
    | OK, looks good ;-) |
    | |
    | Configuring Communication server Perl modules... |
    +----------------------------------------------------------+

    Writing Makefile for Apache::Ocsinventory

    +----------------------------------------------------------+
    | OK, looks good ;-) |
    | |
    | Preparing Communication server Perl modules... |
    +----------------------------------------------------------+

    +----------------------------------------------------------+
    | OK, prepare finshed ;-) |
    | |
    | Installing Communication server Perl modules... |
    +----------------------------------------------------------+

    +----------------------------------------------------------+
    | OK, Communication server Perl modules install finished;-)|
    | |
    | Creating Communication server log directory... |
    +----------------------------------------------------------+

    Creating Communication server log directory /var/log/ocsinventory-server.

    Fixing Communication server log directory files permissions.
    Configuring logrotate for Communication server.
    /usr/local/www/ocs
    Removing old communication server logrotate file /etc/logrotate.d/ocsinventory-NG
    Writing communication server logrotate to file /etc/logrotate.d/ocsinventory-server

    +----------------------------------------------------------+
    | OK, Communication server log directory created ;-) |
    | |
    | Now configuring Apache web server... |
    +----------------------------------------------------------+

    To ensure Apache loads mod_perl before OCS Inventory NG Communication Server,
    Setup can name Communication Server Apache configuration file
    'z-ocsinventory-server.conf' instead of 'ocsinventory-server.conf'.
    Do you allow Setup renaming Communication Server Apache configuration file
    to 'z-ocsinventory-server.conf' ([y]/n) ?y
    OK, using 'z-ocsinventory-server.conf' as Communication Server Apache configuration file
    Removing old communication server configuration to file /usr/local/etc/apache22/Includes/ocsinventory.conf
    Writing communication server configuration to file /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf

    +----------------------------------------------------------+
    | OK, Communication server setup sucessfully finished ;-) |
    | |
    | Please, review /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
    | to ensure all is good. Then restart Apache daemon. |
    +----------------------------------------------------------+

    Do you wish to setup Administration Server (Web Administration Console)
    on this computer ([y]/n)?n

    Setup has created a log file /usr/local/www/ocs/ocs_server_setup.log. Please, save this file.
    If you encounter error while running OCS Inventory NG Management server,
    we can ask you to show us his content !

    DON'T FORGET TO RESTART APACHE DAEMON !

    Enjoy OCS Inventory NG ;-)

    6. Создадим файл виртуалхоста

    #ee /usr/local/etc/apache22/Includes/ocs.conf
    <VirtualHost *:80>
    ServerAdmin webmaster@domen.ru
    DocumentRoot /usr/local/www/ocs/ocsreports
    ServerName ocs.domen.ru
    ServerAlias www.ocs.domen.ru
    ErrorLog "|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-error_log.%Y-%m-%d-%H_%M_%S 86400"
    CustomLog "|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-access_log.%Y-%m-%d-%H_%M_%S 86400" common

    <Directory />
    Order deny,allow
    Allow from 192.168.0.0/16
    Options Indexes FollowSymLinks
    DirectoryIndex index.php
    AllowOverride Options
    php_flag file_uploads on


    7. Подключимся к mysql и создадим пользователя с нужными правами

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 3495
    Server version: 5.1.41 FreeBSD port: mysql-server-5.1.41

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    mysql> GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'localhost' IDENTIFIED BY 'ocs';


    8. Мы почти у цели, открываем наш любимый фаерфокс браузер и вводим

    http: // ip_address/ocsreports
    В строке «Nombre del servidor» вводим localhost
    image

    жмем «Отправить запрос»
    image
    Кликаем по ссылке
    image

    Выбираем флаг нашей Родины и вводим admin/admin

    image

    9. Проверяем работоспособность нашего OCSNG сервера

    Для того чтобы к нам на сервер приходили отчеты о хардверной начинке компьютеров и установленном ПО необходимо установить агента на компьютеры нашей сети. Для этого вновь идем на ftp linvinus'а и качаем пропатченный агент.
    На сервере выполняем комманду
    tail -F /var/log/httpd/http.ocs.domen.ru-error_log.2010-09-14-00_00_00
    и переходим к установке агента. В процессе установки нам будет предложенно указать сервер для сбора данных
    image
    не забудьте поставить галочку как на скриншоте, для того чтобы после установки агент послал информацию серверу
    Если в логе мы видим ругань подобную этой
    [Tue Sep 14 19:16:34 2010] [error] [client 192.168.254.2] Can't call method "rollback" on an undefined value at /usr/local/lib/perl5/site_perl/5.8.9/Apache/Ocsinventory/Server/System.pm line 265.\n
    то необходимо проверить правильность установок подключения к mysql в файле
    /usr/local/www/ocs/ocsreports/dbconfig.inc.php
    и в
    /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
    Если все в порядке, то в веб интерфейсе OCS появится новая запись, примерно как на скриншоте =)
    image

    10. Последним штрихом будет развертка агента в сети средствами Active Directory.

    В вики OCS есть скрипт который нуждается лишь в небольшом исправлении в соответствии с реалиями вашей сети.
    @echo off

    REM *********** Declare variables *********************************************
    REM *********** Adjust to your situation **************************************
    SET Version=4061.1
    REM имя или IP сервера где установлен OCSNG
    SET Server=ocs.domen.ru
    REM путь к папке на расшареном ресурсе, который доступен всем компьютерам домена
    SET SetupPath=\\dc\shareUstPril

    REM *********** Install if agent isn't found **********************************
    IF EXIST "%PROGRAMFILES%\OCS Inventory agent\OCSInventory.exe" GOTO update
    :install
    %SetupPath%\OcsAgentSetup.exe /S /SERVER:%Server% /NP /DEBUG
    GOTO version

    :update
    REM *********** Update agent if %Version%.txt isn't found *********************
    IF EXIST "%PROGRAMFILES%\OCS Inventory agent\%Version%.txt" GOTO end
    :upgrade
    %SetupPath%\OcsAgentSetup.exe /S /SERVER:%Server% /NP /UPGRADE /DEBUG

    :version
    cd /D "%PROGRAMFILES%\OCS Inventory agent\"
    echo pwouet > %Version%.txt

    :end
    REM *********** Cleanup variables *********************************************
    SET Version=
    SET Server=
    SET SetupPath=

    Сохраняем как install_ocs_agent.bat и настраиваем GPO соответствующим образом.
    На этом с OCS закончим. Стоит лишь отметить что данные от агентов приходят с рандомной задержкой, поэтому после окончания настройки пройдет достаточно много времени перед тем как вы получите данные от всех компьютеров.

    Установка GLPI.
    Версия GLPI: glpi-0.72.4_1
    1. Установим GLPI из портов.

    make -c /usr/ports/www/glpi install clean
    После чего создаем алиас или виртуалхост(кому как нравится) в апаче. У меня это алиас
    Alias /glpi "/usr/local/www/glpi"
    <Directory "/usr/local/www/glpi">
    Options Indexes FollowSymlinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from 192.168.0.0/16


    *Почему-то закрывающая "/Directory" не отобразилась, поэтому если копипастите будьте внимательны =)

    2.Создадим пользователя в mysql с необходимыми правами

    mysql> grant all privileges on glpi.* to 'glpi'@'localhost' identified by 'password_ololo';

    3. Идем на http:// domen.ru/glpi и следуем по шагам мастера установки

    image
    image
    image
    image
    image
    image
    image
    image
    image

    3.Немного поправим исходники GLPI

    Правим файл
    /usr/local/www/glpi/inc/ocsng.class.php
    Находим класс
    class DBocs extends DBmysql
    и меняем строку
    $this->dbenc="latin1";
    на
    $this->dbenc="utf8";

    4. Устанавливаем плагин для импорта из OCS

    OCS Import

    Плагин нужно распаковать в папку
    /usr/local/www/glpi/plugins/

    После чего перейти в веб интерфейсе GLPI
    # Основная панель >
    # Установки >
    # Дополнения
    Жмем «Установить», затем «Включить»

    Далее отправляемся в
    # Основная панель >
    # Установки >
    # Общие
    # Ограничения
    «Активировать режим OCSNG » — Да

    теперь
    # Основная панель >
    # Установки >
    # Режим OCSNG
    Устанавливаем опции
    image

    # Основная панель >
    # Инструментарий >
    # OCSNG
    # Импортирование новых компьютеров
    Делаем импорт и вуаля =)
    image

    И в заключение экспорт в pdf на русском


    1. Заменяем все вызовы utf8_decode на utf8_decode_cyr
    #sed -e 's/utf8_decode/utf8_decode_cyr/g' /usr/local/www/glpi/inc/export.function.php > /usr/local/www/glpi/inc/export.function.php.new
    #mv /usr/local/www/glpi/inc/export.function.php.new /usr/local/www/glpi/inc/export.function.php


    2. Добавляем в /var/www/glpi/inc/export.function.php функцию
    function utf8_decode_cyr($value){
    return iconv("UTF-8","Windows-1251",$value);
    }


    3. Качаем набор шрифтов по cсылке

    4. Складываем файлы из архива в /usr/local/www/glpi/lib/ezpdf/fonts/
    Теперь pdf экспортируется как надо
    image

    Фуууухххх… управились!
    Все, связка OCS + GLPI установлена и настроена.
    Мне лишь осталось поблагодарить за помощь и поддержку камрада Pascal с форума системных администраторов UNIX и перечислить используемые источники информации =)

    1. www.tux.in.ua/articles/1500
    2. forums.ocsinventory-ng.org/viewtopic.php?id=4104

    ps
    У GLPI есть еще масса интересных функций, но в рамки данной заметки они ни как не попадают.
    Если у кого то будут траблы с установкой — жду в каментах, чем смогу, как говорится.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 28
    • +2
      В последних версиях glpi, OCS import встроен, плагин не нужен.
      • 0
        Недавно поднимал данную связку. Этот мануал мог сэкономить мне пару дней:)

        1 ) в качестве агента можно использовать fusion-inventory fusioninventory.org/
        из плюсов которого UTF-8 + поддержка современного железа + можно настроить агента на сбор данных с сетевых устройств
        для плагина fusioninventory-glpi.
        2) с модулем pdf поступаем так же как с export.function.php

        • 0
          Обязательно посмотрю в сторону fusion-inventory, спасибо.
          • 0
            У фьюжина есть один минус — он очень долго собирает информацию (около 5 минут), мы запускаем агент GPO скриптами (абсолютно не вижу смысла ставить как сервис) и тогда это критично + авторы OCS-NG обещали выпустить в ближайшие дни полностью переписанный агент под win.
            • 0
              Спасибо, не знал про него. Смотрю он значительно превосхотит OCS-Inventory :)
            • 0
              Вы знаете, пока(пришла инфа о ~50 компьютерах) я агентом OCS-NG доволен чуть менне чем полностью.
              • 0
                сложновато, длинно, нет гибкости. после этого checkcfg.narod.ru/, по крайне мере в виндовой среде, совершенно неактуально.
                • 0
                  Какой инструмент использовать каждый рещает сам ;)
                  К тому же функионал GLPI практически не раскрыт, а там, поверьте много интересного.
                  Длинно, хм… делал дома по своему же мануалу, на настройку ушло что-то около часа.
                  Нет гибкости, не понял что вы имеете ввиду.
                  OCSNG сервер есть и для Windows.
                  • 0
                    пробежал по диагонали по предложенной вами ссылке…
                    Убедился еще раз что выбрал правильные инструменты.
                    • 0
                      Для винды некоторое время checkcfg был чуть ли не единственным бесплатным софтом в своей категии (если не ошибаюсь, конечно). Какое-то время сам его юзал… Но когда перешел на никсы, узнал про GLPI и OCS и перешел на них, в чем ни капли не жалею :)
                  • +1
                    В ubuntu нужно ставить пакет:
                    apt-get install libxml-sax-expat-incremental-perl
                    а то ошибка в логах при запуске агента:
                    Couldn't open encmap utf8.enc:\nNo such file or directory\n at /usr/lib/perl5/XML/Parser.pm line 187\n

                    • +2
                      Давно использую GLPI, очень доволен этой системой. Связка OCS не раз экономила мои время и силы :)

                      Кстати, попробуйте плагин Network Architecture, который генерит графическое представление сети. В связке с OCS это отличная штуковина получается.
                      • 0
                        Благодарю за совет, обязательно попробую.
                        • 0
                          А нет ли плагина, чтобы нарисовать план офиса, расставив там компьютеры? Например, как в Visio.

                          (до этого юзал монструозную связку из Visio + Excel + AD для рисования схемы и инвентаризации)

                          Заранее, благодарю!
                    • 0
                      Скачал клиент 2005-го года. Какой смог найти. Поставил пакет libxml-sax-expat-incremental-perl. Это не помогло… в логах на сервер та же ошибка. Не подскажете где взять рабочий клиент под Ubuntu 10.04, на сервере стоит Ubuntu 8.04
                      • 0
                        Я на своем рабочем компьютере ставил коммандой
                        sudo aptitude install ocsinventory-agent
                        Версия
                        dpkg -l |grep ocs
                        ii ocsinventory-agent 2:1.1.1-2 Hardware and software inventory tool (client

                        • 0
                          Большое спасибо, таким образом получилось.
                      • 0
                        OpenAudit еще можно посмотреть, менее монтсроообразен чем вышеприведённое ПО
                        • 0
                          Спасибо за подробный мануал.
                          На днях вышел релиз-кандидат OCS: 2.0 rc1.

                          Из заявленных основных изменений:
                          — поддержка UTF8;
                          — переписанная веб-консоль;
                          — упрощение работы с плагинами;
                          — добавление поддержки SNMP;
                          — поддержка систем Microsoft веток 6.x 32- и 64-разрядных (Windows Server 2008, Windows7, Vista).
                          • 0
                            После праздников будем посмотреть =)
                            • 0
                              У меня агент OCS-NG-Windows-Agent-2.0RC1 при попытке отправить данные падает с ошибкой:
                              Ошибка приложения ocsinventory.exe, версия 2.0.0.8, модуль msvcr90.dll, версия 9.0.30729.4148, адрес 0x00058289.

                              С сервером проблем пока не заметил. Устанавливал на ubuntu server по этому мануалу.
                              • 0
                                Не знаю как в том мануале, но я писал
                                Для того чтобы к нам на сервер приходили отчеты о хардверной начинке компьютеров и установленном ПО необходимо установить агента на компьютеры нашей сети. Для этого вновь идем на ftp linvinus'а и качаем пропатченный агент.
                                • 0
                                  Добрый день! Не могу скачать ни клиент, ни сервер по ссылка с linvinus.ru. Нет доступа к указанному фтп. Не могли бы Вы выложить куда-то в другое место эти материалы?
                            • 0
                              После установки агента в его логе остается следующее

                              http://server/ocsinventory/deploy/label>...ERROR: HTTP status code 404


                              Чтение мануалы и форумы говорят о необходимости установить mod_perl для apache.
                              Установка данного модуля не помогает, ошибка остается.
                              • 0
                                Чтение мануалов и форумов конечно
                              • +1
                                Спасибо, благодаря данной статье узнал про эту систему.
                                Поставил последнюю версию OCS Inventory 2.0.2 с официального сайта, но в ней описанные здесь методы для UTF-8 не работают.
                                Для начала, выполнил скрипт в MySQL wiki.ocsinventory-ng.org/index.php/Howtos:Migrate_your_OCS_database_to_UTF8

                                сохранил текст скрипта в файл utf.sql, ввёл в консоли:

                                mysql -u root -p
                                USE ocsweb;
                                source utf.sql
                                exit

                                Не полегчало )

                                Нашёл на форуме сайта вариант решения forums.ocsinventory-ng.org/viewtopic.php?pid=43927#p43927

                                В файлах (Ubuntu server 10.04.3)

                                /usr/share/ocsinventory-reports/ocsreports/require/function_table_html.php
                                /usr/share/ocsinventory-reports/ocsreports/require/function_machine.php
                                /usr/share/ocsinventory-reports/ocsreports/plugins/main_sections/ms_all_soft/ms_all_soft.php
                                /usr/share/ocsinventory-reports/ocsreports/backend/require/lib/phpcas/client.ph
                                /usr/share/ocsinventory-reports/ocsreports/backend/require/lib/phpcas/CAS.php

                                все вхождения

                                htmlentities($*);

                                переделал в

                                htmlentities($*,ENT_COMPAT | ENT_HTML401,«UTF-8»);

                                Помогло.

                                С экспортом в pdf и GLPI пока не разбирался…
                                • 0
                                  Рад что моя статья полезна.
                                  Я уже давно не использую описаное в статье ПО(новое место работы), если у вас будут вопросы, можете задать их здесь

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.