Package deployment
Содержание:
- А также
- Установка и настройка стека LAMP в Linux
- Server execution
- Установка плагинов
- Установка MariaDB
- I. Présentation
- Защищенное соединение (https)
- Установка GLPI
- Установка PHP 7
- Статистика и отчеты в GLPI
- Пред настройка системы
- IV. Création de la GPO
- Package Management
- The agent crashes
- Task Management (Normal)
- Examples
- Copyright
- III. Modification du script VBS
- Ocs Inventory Protocol
- Other Packages Related to fusioninventory-agent
- Настройка GLPI[править]
- Настройка AD/LDAP
- Installation
А также
Упомянем еще о некоторых моментах, касающихся GLPI.
Отчеты
Позволяют увидеть все, что происходит в системе, получить статистику и информацию по инвентаризации. Для открытия кликаем по Инструменты — Отчет — выбираем необходимый тип отчета.
Также, возможности отчетов можно расширить с помощью плагинов, например, Reports.
Онлайн тестирование
Перед установкой портала, можно протестировать его возможности на официальном демо-портале — demo.glpi-project.org.
Аналоги GLPI
- OTRS.
- OCS Inventory (инвентаризация), однако, эти две системы, не редко, настраивают вместе, так как их возможности дополняют друг друга.
- 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
- from the FusionInventory plugin welcome screen, select the General >
General configuration menu item - 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
- from the FusionInventory plugin welcome screen, select the General >
Agents management menu item - select the specific agent in the list
- 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:
- 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:
- from the FusionInventory plugin welcome screen, select the Tasks > Task
management menu item - create a new task, with an arbitrary name (for instance, discovery task), in
active state, and save it - select Jobs configuration tab
- create a new job, with an arbitrary name (for instance, discovery job),
using network discovery as module method, and save it - 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:
- from the FusionInventory plugin welcome screen, select the Rules >
Ignored import device menu item
Установка плагинов
Функциональные возможности программы значительно расширяются за счет плагинов. Рассмотрим установку некоторых из них.
Принцип установки плагинов
Установка плагинов в GLPI выполняется по следующему алгоритму:
- Скачиваем плагин, версия которого совместима с установленной версией GLPI.
- Распаковываем скачанный архив в каталог plugins, который находится в каталоге с glpi.
- Заходим на портал, переходим в Настройки — Плагины. Находим нужный плагин — кликаем напротив него по Установить и затем Включить.
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
- Use Add a Package to create a new package.
- 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.
- 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. - 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)
- With P2P enabled, computers will keep and share the downloaded files to the other computers of the LAN.
- Click OK and the file will be uploaded.
- 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.
- Give the task a name
- Select the communication type (push or pull). Traditionally we have
used Pull. - Set Advanced mode to Yes.
Then:
- Click on New Action
- Give the job a name (Optional)
- Select module to use — Package Deployment
Then:
- Click the plus sign next to definition, select a package, click add.
- 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:
- Make sure you have created but not activated a task and a deployment
package. - Use “Target a task” as the Mass Action section
- Select the existing non-active task.
- Select the existing deployment package.
- 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.
- First, set the task to Active and click update.
- 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:
-
-
dep:
hwdata - hardware identification / configuration data
-
dep:
-
-
dep:
libfile-which-perl - Perl module for searching paths for executable programs
-
dep:
-
-
dep:
libhttp-daemon-perl - simple http server class
-
dep:
-
-
dep:
libjson-perl - module for manipulating JSON-formatted data
-
dep:
-
-
dep:
libjson-pp-perl - module for manipulating JSON-formatted data (Pure Perl)
-
dep:
-
-
dep:
libnet-cups-perl - Perl module for printing through CUPS
-
dep:
-
-
dep:
libnet-ip-perl - Perl extension for manipulating IPv4/IPv6 addresses
-
dep:
-
-
dep:
libparse-edid-perl - extended display identification data (EDID) parser
-
dep:
-
-
dep:
libproc-daemon-perl - module for running scripts as daemons
-
dep:
-
-
dep:
libproc-pid-file-perl - Perl module for managing process id files
-
dep:
-
-
dep:
libsocket-getaddrinfo-perl - module implementing getaddrinfo and getnameinfo
-
dep:
-
-
dep:
libtext-template-perl - perl module to process text templates
-
dep:
-
-
dep:
libuniversal-require-perl - Load modules from a variable
-
dep:
-
-
dep:
libwww-perl - simple and consistent interface to the world-wide web
-
dep:
-
-
dep:
libxml-treepp-perl - Pure Perl module for parsing/writing XML files
-
dep:
libxml-treepp-perl
(>= 0.26)
-
dep:
-
-
dep:
libxml-xpath-perl - Perl module for processing XPath
-
dep:
-
-
dep:
libyaml-perl - YAML Ain’t Markup Language
-
dep:
-
-
dep:
libyaml-tiny-perl - Perl module for reading and writing YAML files
-
dep:
-
-
dep:
lsb-base - Linux Standard Base init script functionality
-
dep:
-
-
dep:
pciutils - PCI utilities
-
dep:
-
-
dep:
perl - Larry Wall’s Practical Extraction and Report Language
-
dep:
-
-
dep:
ucf - Update Configuration File(s): preserve user changes to config files
-
dep:
-
-
rec:
dmidecode - SMBIOS/DMI table decoder
-
rec:
-
-
rec:
fdisk - collection of partitioning utilities
- or
util-linux
( - miscellaneous system utilities
-
rec:
-
-
rec:
hdparm - tune hard disk parameters for high performance
-
rec:
-
-
rec:
libio-socket-ssl-perl - Perl module implementing object oriented interface to SSL sockets
-
rec:
-
-
rec:
net-tools - NET-3 networking toolkit
-
rec:
Настройка 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
- в AD создаёшь юзера от имени которого GLPI будет лазить в AD, например юзер “rLDAPglpi” в папке Users
- заходишь в Аутентификация
- Жмёшь +
- Предварительная настройка: “Active Directory” ← задаст фильтры по умолчанию.
- Имя- пиши чо хошь
- Сервер — dns имя твоего контроллера AD
- LDAP порт (по умолчанию 389) — 389
- rootdn (пользователь для подключения ) — CN=rLDAPglpi,CN=Users,DC=mydomain (для авторизации можно использовать имя пользователя в формате rLDAPglpi@mydomain)
- CN=rLDAPglpi,CN=Users,DC=mydomain — расположение юзера в AD, в данном случае домен mydomain и папка Users, имя юзара rLDAPglpi.
- Basedn — OU=Office,DC=mydomain
- OU=Office,DC=mydomain — В данном случае мы берём юзеров только с папки Office
- Тоже смотри по AD, от этого места GLPI будет искать юзеров.
- Пароль (пользователь для подключения) — пароль от аккаунта rLDAPglpi.
- всё.
щас картинку добавлю ещё т.к. у меня 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.