Package deployment

Содержание:

А также

Упомянем еще о некоторых моментах, касающихся GLPI.

Отчеты

Позволяют увидеть все, что происходит в системе, получить статистику и информацию по инвентаризации. Для открытия кликаем по Инструменты — Отчет — выбираем необходимый тип отчета.

Также, возможности отчетов можно расширить с помощью плагинов, например, Reports.

Онлайн тестирование

Перед установкой портала, можно протестировать его возможности на официальном демо-портале — demo.glpi-project.org.

Аналоги GLPI

  1. OTRS.
  2. OCS Inventory (инвентаризация), однако, эти две системы, не редко, настраивают вместе, так как их возможности дополняют друг друга.
  3. osTicket.

Установка и настройка стека LAMP в Linux

GLPI это обычное веб приложение с базой данных, поэтому на сервере нужно развернуть LAMP стек (в данной статье GLPI будет установлен на apache, но возможна также установка на nginx).

Совет. В этом примере мы покажем, как установить GLPI на Ubuntu. Однако инструкция полностью подходит для развертывания GLPI на любом другом дистрибутиве Linux. Например, для CentOS используйте пакетный менеджер yum, вместо apt (или dnf в CentOS 8).

Создайте новую mysql базу данных (можно использовать и mariadb) и пользователя для GLPI:

Скачайте и распакуйте дистрибутив GLPI:

Примечание. На момент написания этой статьи, последняя версия GLPI была 9.4.5. Чтобы скачать последнюю версию, перейдите на GitHub https://github.com/glpi-project/glpi/releases/ и выберите последний релиз.

Скопируйте GLPI в веб директорию:

Совет. Довольно часто при развертывании GLPI встречаются ошибки, связанные со стандартными настройками PHP, поэтому рекомендуем сразу увеличчить лимиты для PHP. Вставьте следующие параметры в конец файла /etc/php/7.2/apache2/php.ini:

max_execution_time = 120
memory_limit = 512M
post_max_size = 80M
upload_max_filesize = 80M

Создайте файл виртуал хоста:

И вставляем следующую конфигурацию Virtual Host:

<VirtualHost *:80>
  ServerName glpi.local
  DocumentRoot /var/www/glpi
  <Directory /var/www/glpi>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    AuthType Basic
  </Directory>
  LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
  CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
  ErrorLog ${APACHE_LOG_DIR}/glpi_error.log
</VirtualHost>

Активируйте виртуалхост:

Проверьте, что виртуалхост активен.

Откройте браузер и переходим по URL адресу, который вы указали в виртуал хосте. В моём случае это .

Перед вами должно появится окно веб-установщика GLPI.

Server execution

Module activation

In order to assign a network discovery task to an agent, the network discovery
module needs first to be activated for this agent, as this is not the default.

Multiple agents

  1. from the FusionInventory plugin welcome screen, select the General >
    General configuration menu item
  2. select the Agents modules tab

You can then either activate the module for any number of agents, and even
configure it to be activated by default, as illustrated by the following
screenshot.

Single agent

  1. from the FusionInventory plugin welcome screen, select the General >
    Agents management menu item
  2. select the specific agent in the list
  3. select the Agents modules tab

You can then activate the network discovery module for this agent, as
illustrated by the following screenshot.

Target network creation

You now have to define an IP range item, corresponding to the the network to be
scanned:

  1. from the FusionInventory plugin welcome screen, select the Networking > IP
    ranges menu item

You can then create a new item, as illustrated by the following screenshot.

If you want to associate SNMP credentials to this network, for probing SNMP
devices during discovery, you have to use the Associated SNMP authentication
tab. Warning: each associated credential implies one additional authentication
attempt, and another network timeout penalty if not successful. See
for details.

Task creation

You now have to define a task, including a network discovery type job:

  1. from the FusionInventory plugin welcome screen, select the Tasks > Task
    management menu item
  2. create a new task, with an arbitrary name (for instance, discovery task), in
    active state, and save it
  3. select Jobs configuration tab
  4. create a new job, with an arbitrary name (for instance, discovery job),
    using network discovery as module method, and save it
  5. configure this job by assigning it a target (the IP range item create
    previously) and an actor (the elected agent), and update the current
    configuration

Results analysis

Devices matching import rules should be immediatly added to the list of known
assets. Others are kept in a list of ignored devices, where they can be
manually reviewed and imported if suitable:

  1. from the FusionInventory plugin welcome screen, select the Rules >
    Ignored import device menu item

Установка плагинов

Функциональные возможности программы значительно расширяются за счет плагинов. Рассмотрим установку некоторых из них.

Принцип установки плагинов

Установка плагинов в GLPI выполняется по следующему алгоритму:

  1. Скачиваем плагин, версия которого совместима с установленной версией GLPI.
  2. Распаковываем скачанный архив в каталог plugins, который находится в каталоге с glpi.
  3. Заходим на портал, переходим в Настройки — Плагины. Находим нужный плагин — кликаем напротив него по Установить и затем Включить.

FusionInventory (инвентаризация ИТ-оборудования)

Устанавливаем bzip2:

yum install bzip2

Переходим на страницу загрузки плагина https://github.com/fusioninventory/fusioninventory-for-glpi/releases и копируем ссылку на последнюю версию релиза «Release FusionInventory for GLPI».

Скачиваем плагин:

wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.3%2B1.1/fusioninventory-9.3.1.1.tar.bz2

Распаковываем его в папку с плагинами GLPI:

tar -xvjf fusioninventory-*.tar.bz2 -C /var/www/glpi/plugins/

Заходим на портал GLPI — Настройки — Плагины. В списке плагинов должен появиться FusionInventory — необходимо его установить, затем включить:

Reports (отчеты)

Переходим на страницу загрузки плагина — forge.glpi-project.org/projects/reports/files. Копируем ссылку на подходящую версию (внимательно смотрим наличие поддержки установленной версии GLPI). После скачиваем на сервер плагин:

wget https://forge.glpi-project.org/attachments/download/2246/glpi-plugin-reports-1.11.3.tar.gz

Распаковываем плагин:

tar -xvzf glpi-plugin-reports-*.tar.gz -C /var/www/glpi/plugins/

На портале переходим в Настройки — Плагины — напротив Reports кликаем Установить и Включить.

Barcode (генератор баркодов)

Копируем ссылку на плагин — github.com/pluginsGLPI/barcode/releases. Распаковываем:

tar -xvjf glpi-barcode-*.tar.bz2 -C /var/www/glpi/plugins/

Заходим в управление плагинами на портале и устанавливаем Barcode.

Archires (визуализация топологии сетевой инфраструктуры)

Ход установки аналогичный — скачиваем:

wget https://forge.glpi-project.org/attachments/download/2235/glpi-archires-2.5.1.tar.gz

Распаковываем:

tar -xvzf glpi-archires-*.tar.gz -C /var/www/glpi/plugins/

Устанавливаем через портал.

TelegramBot

Скачиваем (github.com/pluginsGLPI/telegrambot/releases):

wget https://github.com/pluginsGLPI/telegrambot/releases/download/2.0.0/glpi-telegrambot-2.0.0.tar.bz2

Распаковываем:

tar -xvjf glpi-telegrambot-*.tar.bz2 -C /var/www/glpi/plugins/

Устанавливаем через портал.

OCS Inventory

Скачиваем (github.com/pluginsGLPI/ocsinventoryng/releases):

wget https://github.com/pluginsGLPI/ocsinventoryng/releases/download/1.5.0/glpi-ocsinventoryng-1.5.0.tar.gz

Распаковываем:

tar -xvzf glpi-ocsinventoryng-*.tar.gz -C /var/www/glpi/plugins/

Устанавливаем через портал.

Установка MariaDB

По умолчанию, в CentOS устанавливается mariadb версии 5. Это ранняя версия и она не подходит для последних версий GLPI.

Ниже мы увидим инструкцию по добавлению репозитория в CentOS и установке СУБД:

Согласно инструкции, добавим репозиторий:

vi /etc/yum.repos.d/mariadb-10.repo

name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Обновим пакеты:

yum update

Устанавливаем СУБД командой:

yum install mariadb-server

Запускаем сервер баз данных:

systemctl enable mariadb

systemctl start mariadb

Задаем пароль для суперпользователя СУБД:

mysqladmin -u root password

Устанавливаем модули php для работы с MariaDB:

yum —enablerepo=remi-php72 install php-mysql php-mysqli

Перезапускаем apache:

systemctl restart httpd

Открываем нашу страницу с phpinfo — мы должны найти информацию поддержке MySQL:

I. Présentation

Fusion Inventory est une application réputée pour faciliter l’inventaire d’un parc informatique, mais pour remonter les informations liées à vos postes de travail et serveurs, un agent Fusion Inventory doit être installé et configuré. Pour réaliser cette opération, vous pouvez l’inclure dans votre master de déploiement pour vos futurs postes ou mises à jour, mais si vous souhaitez l’installer sur un parc existant, le déploiement par GPO est possible (bien que ce ne soit pas la seule possibilité).

Dans cette optique, sur le site de Fusion Inventory, on retrouve divers éléments utiles :

  • L’exécutable de l’agent Fusion Inventory — Télécharger
  • Un fichier ADMX pour configurer l’agent dans une GPO — Télécharger ADMX — Télécharger ADML
  • Un script VBS pour exécuter une installation silencieuse de l’agent — Télécharger

Profitez des liens que j’ai placé ci-dessus pour récupérer les éléments si besoin, sachant qu’il s’agit de l’agent Fusion Inventory 2.5, la plus récente à ce jour.

J’en profite aussi pour vous proposer mon script PowerShell pour l’installation de Fusion Inventory, basé sur le même principe que celui en VBS : PowerShell Fusion Inventory

Pour revenir sur le script VBS, au total j’en ai trouvé 3 différents sur le site de Fusion Inventory, rien ne vous empêche de créer le votre… — Voici le lien vers le deux autres si vous voulez :

  • Fusion Inventory VBS
  • Fusion Inventory VBS by ZenAdm

Защищенное соединение (https)

Для настройки https нам нужен сертификат. Его можно создать с помощью внутреннего центра сертификации, купить, получить бесплатно у Let’s Encrypt или, в качестве тестового варианта, создать самозаверенный сертификат командами:

mkdir /etc/httpd/ssl/

openssl req -new -x509 -days 1461 -nodes -out /etc/httpd/ssl/cert.pem -keyout /etc/httpd/ssl/cert.key -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=test.dmosk.local/CN=test»

Добавляем виртуальный домен:

vi /etc/httpd/conf.d/glpi.conf

<VirtualHost *:80>
    Define root_domain test-glpi.dmosk.local
    Define root_path /var/www/glpi
    ServerName ${root_domain}
    DocumentRoot ${root_path}
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:443>
    Define root_domain test-glpi.dmosk.local
    Define root_path /var/www/glpi
    ServerName ${root_domain}
    DocumentRoot ${root_path}
    SSLEngine on
    SSLCertificateFile ssl/cert.pem
    SSLCertificateKeyFile ssl/cert.key
</VirtualHost>

* в данном примере мы добавили виртуальный домен для 443 порта и добавили правило перенаправления всех запросов с http (80) на https (443).

Добавляем порт 443 в брандмауэр (если этого не было сделано при подготовке сервера):

firewall-cmd —permanent —add-port=443/tcp

firewall-cmd —reload

Устанавливаем модуль mod_ssl:

yum install mod_ssl

Перезапускаем apache:

systemctl restart httpd

HTTP/2

Для поддержки http2, добавляем новый репозиторий:

cd /etc/yum.repos.d

wget https://repo.codeit.guru/codeit.el`rpm -q —qf «%{VERSION}» $(rpm -q —whatprovides redhat-release)`.repo

Устанавливаем модуль mod_http2:

yum install mod_http2

В конфиг виртуального домена добавим:

    Protocols h2 http/1.1

Перезапустим httpd:

systemctl restart httpd

Подробнее про настройку HTTP/2 на Apache.

Установка GLPI

Создание базы данных

Подключаемся к СУБД:

mysql -uroot -p

Создаем базу данных:

> CREATE DATABASE glpi DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

* где glpi — имя базы.

Создаем пользователя с доступом к этой базе:

> GRANT ALL PRIVILEGES ON glpi.* TO glpi@localhost IDENTIFIED BY ‘glpi123’;

* где glpi@localhost — пользователь с логином glpi и доступом с локального сервера; glpi123 — пароль для пользователя.

Отключаемся от MariaDB:

> \q

Загрузка

Установим пакет для загрузки файлов:

yum install wget

Переходим на страницу загрузки GLPI — github.com/glpi-project/glpi/releases и копируем ссылку на новую версию пакета:

Скачиваем GLPI:

wget https://github.com/glpi-project/glpi/releases/download/9.3.0/glpi-9.3.tgz

Установка

Устанавливаем php-расширения, необходимые для GLPI:

yum —enablerepo=remi-php72 install php-mbstring php-gd php-simplexml php-intl

Устанавливаем рекомендованные php-расширения:

yum —enablerepo=remi-php72 install php-ldap php-imap php-pecl-zendopcache php-pecl-apcu php-xmlrpc php-pear-CAS php-zip php-sodium

Перезапускаем apache:

systemctl restart httpd

Распаковываем архив в каталог виртуального домена (настраивали в Apache):

tar -xvzf glpi-*.tgz -C /var/www/glpi —strip-components 1

Задаем владельца apache для данного каталога:

chown -R apache:apache /var/www/glpi

Запускаем браузер и снова открываем портал по имени виртуального домена. В открывшемся окне выбираем русский язык (или любой из возможных вариантов) и нажимаем OK:

Принимаем лицензионное соглашение и нажимаем Продолжить:

Из двух вариантов (установить или обновить) выбираем Установить:

Система проверить, что наши настройки соответствуют рекомендованным. Если все хорошо, нажимаем Продолжить.

На следующем шаге вводим данные для подключения к базе данных:

Далее выбираем базу, созданную ранее:

Несколько раз нажимаем Продолжить и на последнем этапе Запустить GLPI.

Готово. Для первого входа используем логин и пароль по умолчанию — glpi/glpi.

Установка PHP 7

В репозитории CentOS находится PHP версии 5.4. Для свежих версий GLPI требуется более новая версия php. Для этого установим репозиторий REMI:

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Теперь ставим php7:

yum —enablerepo=remi-php72 install php

* на момент написания статьи последняя стабильная версия была 7.2 (ссылка на PHP: Downloads).

Откроем на редактирование файл:

vi /etc/php.ini

И правим следующее:

upload_max_filesize = 256M

post_max_size = 256M

date.timezone = «Europe/Moscow»

* где upload_max_filesize — максимальный размер одного загружаемого файла; post_max_size — объем всех отправляемых на сервер данных за раз; date.timezone — временная зона по умолчанию, которую будет устанавливать интерпретатор php.

Статистика и отчеты в GLPI

В GLPI есть встроенные отчеты.

Но скорее всего вам потребуются отчеты по собственным параметрам. Для этого в GLPI есть плагины:

  • — довольно просто позволяет создавать свои отчеты через PHP
  • — плагин для интеграции с https://www.metabase.com/

Пример встроенного отчета из плагина Reports:

GLPI развивается более 15 лет и содержит в себе огромное количество возможностей для управления ИТ инфраструктуры, а сообщество развивает и поддерживает плагины для различных интеграций и функционала. Система имеет огромные возможности модификации своих элементов, поэтому каждая компания настраивает GLPI под себя.

Чтобы рассмотреть все возможности более подробно, вы можете воспользоваться официальной демо инсталяцией https://demo.glpi-project.org/

Пред настройка системы

Время

Установим пакет для синхронизации времени:

yum install ntpdate

Задаем часовой пояс:

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Создадим задачу в cron для актуализации времени:

crontab -e

0 0 * * * /sbin/ntpdate ru.pool.ntp.org

Безопасность

Добавляем правило в firewalld:

firewall-cmd —permanent —add-port=80/tcp

firewall-cmd —permanent —add-port=443/tcp

firewall-cmd —reload

Отключаем SELinux:

sed -i «s/SELINUX=enforcing/SELINUX=disabled/» /etc/selinux/config

setenforce 0

Или настраиваем по инструкции правильная настройка SELinux.

Установка пакетов

Для установки некоторых пакетов нам понадобиться репозиторий Epel:

yum install epel-release

Установим обновления:

yum update

IV. Création de la GPO

La GPO va se configurer en deux étapes : le lancement du script VBS au démarrage de votre client pour faire l’installation et, la configuration de l’agent Fusion.

Avant de commencer, copiez le fichier ADMX et l’ADML dans votre magasin central (PolicyDefinitions) au sein du SYSVOL (Comment créer le dossier PolicyDefinitions ?) pour bénéficier des paramètres liés à l’agent Fusion dans l’éditeur de GPO.

A. Exécuter le VBS au démarrage

Dans la GPO, accédez à : Configuration ordinateur, Stratégies, Paramètres Windows, Scripts (démarrage/arrêt)

Ouvrez «Démarrage» pour ajouter un script de démarrage, puis cliquez sur «Ajouter». Là, il suffit d’indiquer le chemin vers le script VBS qui se situe au sein du partage SYSVOL sur votre contrôleur de domaine, si vous avez fait comme moi.

Pour la première partie de la GPO, c’est fait.

B. Configurer le client Fusion Inventory

Cette fois-ci, il faut parcourir les paramètres de cette manière mais toujours dans configuration ordinateur : Modèles d’administration, Système, Agent Fusion Inventory.

Là vous avez la possibilité de configurer soit l’agent 32 bits et/ou l’agent 64 bits. Pour ma part, j’ai installé du 64 bits donc je continue dans cette voie.

Bien entendu on active le paramètre, et ensuite remplissez les différents champs selon votre configuration. Le minimum sera le serveur et le tag.

Voilà la GPO est prête, je vous laisse le soin de lier cette GPO à l’OU que vous souhaitez.

Package Management

  1. Use Add a Package to create a new package.
  2. Click on an existing package to edit that package.

Edit package

You can add checks before running the package, but you can prefer to do
that with the deployed scripts.

  1. Select to upload a file. You can upload a number of files, but must upload one at a time. You can also elect to
    upload a zip file.
  2. Select to get the file “From this computer”. Use the browse button to select the file.
    • With P2P enabled, computers will keep and share the downloaded files to the other computers of the LAN.
      This allow you to speed up a large download.
    • If Extract is enabled, FusionInventory will try to extract the archive (.7z, .zip, tar.gz, .tar)
  3. Click OK and the file will be uploaded.
  4. Click on “Add command”, select “execute a command” then type in the command you want, you can use the script
    name here, but if you’re doing something else, any valid windows command (use full path names) can be used.

If you use “move” command, use “*” in case from if the agent get the file from GLPI

The agent crashes

This is likely to be a TLS multithreading issue. They are multiple ways to
reduce the probability of such crash:

  • make sure you only have one TLS perl stack installed on the agent host,
    preferably IO::Socket::SSL + Net::SSLeay. Having both stacks at once
    (IO::Socket::SSL + Net::SSLeay vs Net::SSL + Crypt::SSLeay) usually leads to
    unexpected results, even without thread usage
  • use latest upstream release of IO::Socket::SSL, even if your distribution
    doesn’t provide it
  • reduce threads number during network discovery tasks

However, the only actual solution currently is to disable SSL completly, using
plain HTTP for agent/server communication. If the agent run on server host,
that’s usually not really a problem.

Task Management (Normal)

Please see the task creation page.

Creating a deployment task

NOTE: You must have created the package you want to deploy
FIRST. Please read that section if you need help with that.

  1. Give the task a name
  2. Select the communication type (push or pull). Traditionally we have
    used Pull.
  3. Set Advanced mode to Yes.

Then:

  1. Click on New Action
  2. Give the job a name (Optional)
  3. Select module to use — Package Deployment

Then:

  1. Click the plus sign next to definition, select a package, click add.
  2. Click the plus sign next to Action, select computers etc, then use
    find as you type to add in the selection to apply the task to. Click
    add.

Assigning Computers to a deployment task via Mass Action:

  1. Make sure you have created but not activated a task and a deployment
    package.
  2. Use “Target a task” as the Mass Action section
  3. Select the existing non-active task.
  4. Select the existing deployment package.
  5. Click Post. This will create a new job for that task.

Running a Deployment Task

You can run a deployment task more than once, and it is separate from
creating one.

  1. First, set the task to Active and click update.
  2. Then either force the task to start immediately with “Force Start”
    OR schedule the task start and click update.

Checking a Tasks status

Task status on a PC

When a task is running on a PC it will update information about its
status. This log is saved after the task completes and can be reviewed
from the Task Job page.

Examples

% fusioninventory-agent --server localhost
# send an inventory to the OCS server

% fusioninventory-agent --server http://localhost/ocsinventory2
# send an inventory over http to a server with a non standard
# virtual directory

% fusioninventory-agent --server https://localhost/ocsinventory
# send an inventory over https to the OCS server

% fusioninventory-agent --local /tmp
# write an inventory in the /tmp directory

% fusioninventory-agent --local /tmp --html
# Use the --html parameter to generate a HTML file

% fusioninventory-agent --server localhost --user=toto --password=pw --realm="Restricted Area"
# send a report to a server protected by a basic authentication
% fusioninventory-agent --lazy
# send an inventory only if a random delay between 0 and PROLOG_FREQ had been run over.

% fusioninventory-agent --delaytime 60 -d
# If NO PROLOG_FREQ has been preset, pick a time between execution and --delaytime for the agent to contact the server 

Copyright

Copyright 2006-2010 OCS Inventory contributors Copyright 2010-2012 FusionInventory Team

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

http://myweb.cableone.net/4schmidts/memconf.html

memconf is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option) any later version.

FusionInventory::Agent::Backend::Virtualization::Vmsystem uses code from imvirt:

Authors:
  Thomas Liske <liske@ibh.de>

Copyright Holder:
  2008 (C) IBH IT-Service GmbH [http://www.ibh.de/]

License:
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this package; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
  USA

III. Modification du script VBS

Le script VBS doit être adapté à votre environnement notamment pour indiquer le partage sur lequel vous hébergez le fichier EXE, la version que vous souhaitez installer ou encore l’architecture de la machine cible.

Voici les différentes modifications à effectuer :

Pour indiquer la version :

SetupVersion = "2.3.17"

Pour l’architecture (x86, x64, auto) :

SetupArchitecture = "Auto"

Pour les options d’exécutions :

SetupOptions = "/acceptlicense /runnow /execmode=service /add-firewall-exception /tag=VOTRE-TAG /server='VOTRE-SERVEUR' /S"

On décide de réaliser une installation silencieuse et d’exécuter l’agent en tant que service, une exception sera ajoutée dans le firewall pour autoriser l’agent à communiquer. Le TAG et le serveur sont à adapter à votre configuration bien entendu, mais de toute manière on va les forcer par la suite dans notre GPO.

C’est tout ce qu’il faut modifier dans le script.

Ocs Inventory Protocol

FusionInventory Agent uses OCS Inventory protocol and is compatible with OCS Inventory server. The agent uses the same
protocol with the FusionInventory For GLPI plugin.

The OCS protocol is basicly an exchange of XML file done over HTTP (S).

First, The PROLOG

The agent send a first message to give it’s ID ( DEVICEID ). The server send back to the agent an XML file with
a list of parameter. It’s the PROLOG RESP . You can see it if you’re in Debug mode. In this PROLOG , the server send the
PROLOG_FREQ . The agent will use it to know when it need to contact the server for the next time.

The agent compute the next query date this way:

PROLOG_FREQ/2+RANDOM(PROLOG_FREQ/2)

Module execution

The agent will launch each modules and pass the list of options found in the PROLOG RESP as parameter. The module can send information
directly to the server (inventory, SNMP scan result, etc)

Windows service or Deamon mode

In deamon mode, the agent wait during a period between the last PROLOG and PROLOG_FREQ . If PROLOG_FREQ is not
set, it will use —delaytime value. The default value is 3600.

Other Packages Related to fusioninventory-agent

  • dep:
    hdparm

    tune hard disk parameters for high performance
  • dep:
    hwdata

    hardware identification / configuration data
  • dep:
    libfile-which-perl

    Perl module for searching paths for executable programs
  • dep:
    libhttp-daemon-perl

    simple http server class
  • dep:
    libjson-perl

    module for manipulating JSON-formatted data
  • dep:
    libjson-pp-perl

    module for manipulating JSON-formatted data (Pure Perl)
  • dep:
    libnet-cups-perl

    Perl module for printing through CUPS
  • dep:
    libnet-ip-perl

    Perl extension for manipulating IPv4/IPv6 addresses
  • dep:
    libparse-edid-perl

    extended display identification data (EDID) parser
  • dep:
    libproc-daemon-perl

    module for running scripts as daemons
  • dep:
    libproc-pid-file-perl

    Perl module for managing process id files
  • dep:
    libsocket-getaddrinfo-perl

    module implementing getaddrinfo and getnameinfo
  • dep:
    libtext-template-perl

    perl module to process text templates
  • dep:
    libuniversal-require-perl

    Load modules from a variable
  • dep:
    libwww-perl

    simple and consistent interface to the world-wide web
  • dep:
    libxml-treepp-perl

    Pure Perl module for parsing/writing XML files
    dep:
    libxml-treepp-perl
    (>= 0.26)
  • dep:
    libxml-xpath-perl

    Perl module for processing XPath
  • dep:
    libyaml-perl

    YAML Ain’t Markup Language
  • dep:
    libyaml-tiny-perl

    Perl module for reading and writing YAML files
  • dep:
    lsb-base

    Linux Standard Base init script functionality
  • dep:
    pciutils

    PCI utilities
  • dep:
    perl

    Larry Wall’s Practical Extraction and Report Language
  • dep:
    ucf

    Update Configuration File(s): preserve user changes to config files
  • rec:
    dmidecode

    SMBIOS/DMI table decoder
  • rec:
    fdisk

    collection of partitioning utilities
    or
    util-linux
    (
    miscellaneous system utilities
  • rec:
    hdparm

    tune hard disk parameters for high performance
  • rec:
    libio-socket-ssl-perl

    Perl module implementing object oriented interface to SSL sockets
  • rec:
    net-tools

    NET-3 networking toolkit

Настройка GLPI[править]

Общие настройкиправить

Настройки — Общие — Все

Текст, размещаемый на странице входа : Пишем то, что будет на страничке входа, например:

  • Формат даты выставить — DD-MM-YYYY
  • прочие настройки по желанию

mail.ruправить

SMTP+TLS
SMTP Host : smtp.mail.ru
Port : 587
login : account@mail.ru или account@list.ru
password : my mail.ru password

Общие настройкиправить

Включить уведомления на почту

Настройки - Уведомления - Настройка уведомлений - Использовать уведомления по email :Да

Добавить назначенного специалиста в уведомления

Настройки - Уведомления - Уведомления - New Ticket - Добавить из левой колонки в правую - Специалист ответственный за эту заявку - Добавить в правое окно

Те же действия для Уведомлений: Update Ticket, Close Ticket, Add Followup, Add Task, Update Followup, Update Task, Delete Followup, Delete Task, Resolve ticket

На время тестирования GLPI в отделе ИТ можно отключить уведомления заказчику (чтобы пользователей не пугали странные письма) для этого нужно таким же способом удалить запись Заказчик

Настройка AD/LDAP

  1. в AD создаёшь юзера от имени которого GLPI будет лазить в AD, например юзер “rLDAPglpi” в папке Users
  2. заходишь в Аутентификация
  3. Жмёшь +
  4. Предварительная настройка: “Active Directory” ← задаст фильтры по умолчанию.
  5. Имя- пиши чо хошь
  6. Сервер — dns имя твоего контроллера AD
  7. LDAP порт (по умолчанию 389) — 389
  8. rootdn (пользователь для подключения ) — CN=rLDAPglpi,CN=Users,DC=mydomain (для авторизации можно использовать имя пользователя в формате rLDAPglpi@mydomain)
  9. CN=rLDAPglpi,CN=Users,DC=mydomain — расположение юзера в AD, в данном случае домен mydomain и папка Users, имя юзара rLDAPglpi.
  10. Basedn — OU=Office,DC=mydomain
  11. OU=Office,DC=mydomain — В данном случае мы берём юзеров только с папки Office
  12. Тоже смотри по AD, от этого места GLPI будет искать юзеров.
  13. Пароль (пользователь для подключения) — пароль от аккаунта rLDAPglpi.
  14. всё.

щас картинку добавлю ещё т.к. у меня 0.71 версия и там чуток другой перевод.

Группы

У нас для раскидывания юзера по группам в жаббере использутеся поле “company”, т.е. если у юзера написано там “Конторабухи”, то они виден в группе Контора, в подгруппе “бухи”. В GLPI мы пользуем те же группы. GLPI синхронит группы юзера с LDAP при его импорте/синхронизации и каждый раз при логине юзера в GLPI.

Не хочет коннектится к Active Directory/LDAP. (GLPI 0.70.2)

Tip: If you encounter difficulties, ADSIEdit.msc provided with the Support Tools on the Windows Server installation CD enables you to browse your Active Directory and allows you to see all information available through LDAP, including all attribute and object names.

Оказалось, что если логин не совпадает со screen name, для rootdn нужно использовать именно screen name.

“Фильтр соединений” и “ Фильтр поиска в группах” пробуй (objectClass=user), а вообще для теста поиграйся сначала в каком нить лдап бразере, типа Softerra LDAP Administrator 2008, хоть не в слепую будешь фильты колотить.

а вообще юзер импортицца когда логинится в глпи автоматом, или в скриптах есть scriptsldap_mass_sync.php — ему параметром можно юзера давать, а то если например аккаунтов тыщи 2-3, а реально работающих (людей) тока 800-900, но остальные нафиг в базе не нужны…

GLPI не видит основную группу (GLPI 0.71.1)

изменяем основную группу у пользователя на любую другую не участвующую в фильтрации пользователей по группам (для всех ОС кроме MacOS основная группа значения не имеет).

При экспорте в pdf некорректно отображаются русские буквы (GLPI 0.78)

Нужно заменить стандартные шрифты на поддерживающие русский в ./lib/ezpdf/fonts/ и изменить кодировку на CP-1251 при вызове функции decodeFromUTF8, в ./inc/search.class.php (6 вхождений).

  • Для начала нужен ttf-файл со шрифтом, который вы будете редактировать.
  • Нужно открыть его в ttf-редакторе. Кириллические символы расположены в таблице под номерами с 0410 по 044F. Нужно копировать оттуда глифы (глиф — рисунок символа) и вставлять в ячейки, имеющие другие номера.

Таблица соответствия номеров и символов, которое вы должны получить в итоге:

Номер ячейки Символ
00С1 Б 00E1 б
00С2 В 00E2 в
00С4 Д 00E4 д
00С7 З 00E7 з
00С9 Й 00E9 й
00СB Л 00EB л
00СD Н 00ED н
00СE О 00EC о
00D3 У 00F3 у
00D4 Ф 00F4 ф
00D6 Ц 00F6 ц
00D7 Ч 00F7 ч
00DA Ъ 00FA ъ
00DC Ь 00FC ь
00DD Э 00FD э
00DF Я
00C0 А 00E0 а
00C3 Г 00E3 г
00C5 Е 00E5 е
00C6 Ж 00E6 ж
00C8 И 00E8 и
00CA К 00EA к
00CC М 00EC м
00CF П 00EF п
00D0 Р 00F0 р
00D1 С 00F1 с
00D2 Т 00F2 т
00D5 Х 00F5 х
00D8 Ш 00F8 ш
00D9 Щ 00F9 щ
00DB Ы 00FB ы
00DE Ю 00FE ю
00FF я
  • Сохраните отредактированный ttf-файл.
  • С помощью ttf2pt1 конвертируйте ttf в postscript1 type.
  • Шрифт готов.

Installation

PREREQUISITES

Minimum perl version: 5.8

The which command on UNIX/Linux/MacOSX system.

Additional mandatory perl modules:

Digest::MD5
XML::Simple

LWP
Net::IP
UNIVERSAL::require
Mac::SysProfile (MacOs only)
Additional optional perl modules:
Compress::Zlib, for message compression
HTTP::Daemon, for web interface
Net::CUPS (v0.60 minimum), for printers detection
File::ShareDir, for automatic data directory determination
Proc::Daemon, for daemon mode (Unix only)
Proc::PID::File, for daemon mode (Unix only)
Additional optional programs:
nmap or ipdiscover, for network discovery
dmidecode (linux or bsd) for hardware inventory
lspci (linux or bsd) for hardware inventory

PROCEDURE

Once the archive is unpacked, use these commands:
perl Makefile.PL
make
make install

You can also run the agent from the tarball directory. In this case, use the —devlib flag to load the library from the local directory.

SYSTEM-SPECIFIC INFORMATIONS

Solaris

Sun Studio seems to be needed to build the dependency. The generated Makefile needs gmake to be executed. The default installation will install the binary
in /usr/perl5/5.XXXXX/bin, set you $PATH variable according to that.

On Solaris/SPARC, you must install sneep and record the Serial Number with it. Download it from <http://www.sun.com/download/products.xml?id=4304155a>

Windows

If you don’t want to use the installer for Windows you can follow the installation process avalaible there:
<http://forge.fusioninventory.org/projects/fusioninventory-agent/wiki/RunAgentWin32>

POST-INSTALLATION

Run ./fusioninventory-agent-config for automatic configuration.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *