Меню Рубрики

Установка glpi или ocs

Инвентаризация компьютеров в сети не вставая со стула или 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
4. Изменяем владельца папки

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

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

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

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 😉

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

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

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

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

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 😉

Читайте также:  Установка даты запрета редактирования зуп

Found PERL Intrepreter at 😉
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 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 😉

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 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 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.

Writing Makefile for Apache::Ocsinventory

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

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 !

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

#ee /usr/local/etc/apache22/Includes/ocs.conf

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

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

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

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

Для того чтобы к нам на сервер приходили отчеты о хардверной начинке компьютеров и установленном ПО необходимо установить агента на компьютеры нашей сети. Для этого вновь идем на ftp linvinus’а и качаем пропатченный агент.
На сервере выполняем комманду
tail -F /var/log/httpd/http.ocs.domen.ru-error_log.2010-09-14-00_00_00
и переходим к установке агента. В процессе установки нам будет предложенно указать сервер для сбора данных

не забудьте поставить галочку как на скриншоте, для того чтобы после установки агент послал информацию серверу
Если в логе мы видим ругань подобную этой
[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 появится новая запись, примерно как на скриншоте =)

Читайте также:  Установка кованных ворот и калитки
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»

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 и следуем по шагам мастера установки
3.Немного поправим исходники GLPI

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

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

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

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

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

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

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

И в заключение экспорт в 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 экспортируется как надо

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

источник

Как установить GLPI и OCS с плагином ocsinventoryng

Установка предпосылок для GLPI

Мы будем загружать пакеты для правильного функционирования GLPI.

apt-get Установить apache2 php7.0-fpm mariadB-сервер php7.0-curl php7.0-gd php7.0-mysql php7.0-cli php7.0-imap php7.0-ldap php7.0-apcu php7. 0-xmlrpc php7.0-mbstring php7.0-xml php7.0-xmlrpc

СОЗДАНИЕ БАЗЫ ДАННЫХ

Мы собираемся создать базу данных. Для этого мы идем в mariadB, который мы установили в вышеуказанном пакете. Чтобы получить доступ к базе данных, введите следующую команду: mysql -u root -p.

Затем мы создадим нашу базу данных » GLPI », затем мы создадим пользователя, который будет » admin » и у которого будет пароль » admin1103 », которому мы предоставим все права.

GLPI УСТАНОВКА

Как только база данных будет создана, мы установим GLPI. Для этого мы заходим на сайт GLPI, чтобы получить последнюю версию GLPI, которая для нас будет 9.4.1.

После загрузки папка будет находиться в каталоге «Downloads», после чего ее нужно будет распаковать командой:

tar -xvf glpi-9.4.1.1.tgz, затем мы переместим папку GLPI в «/ var / www / html / Msgstr «Размещая заказ:» cp -r glpi / var / www / html «.

Чтобы обезопасить себя от ошибок в конфигурации GLPI, мы изменим права на файлы, которые являются config / и files /

Читайте также:  Установка газовая варочная панель zanussi

Не забудьте скопировать файл 000-default.conf в glpi.conf и внести соответствующие изменения.

И сделайте «a2ensite glpi.conf» и перезапустите apache2. Затем мы откроем интернет-браузер и наберем http: // localhost / glpi в URL.

Конфигурация GLPI

По умолчанию язык английский, поэтому мы выберем французский.

Мы примем условия лицензии:

Условия принятой лицензии мы нажимаем на «Установить»:

Продолжите настройку, если процедура была выполнена, большинство результатов должны быть зелеными, кроме «htaccess».

Мы введем данные, которые мы ввели в MySQL:

После подключения выберите базу данных GLPI, это займет немного времени, не волнуйтесь:

Установка завершена, я подставил имя пользователя и пароль по умолчанию.

Для первого соединения мы будем использовать glpi / glpi. И после подключения не забудьте удалить файл ниже

OCS INVENTORY

OCS Inventory — это бесплатное программное обеспечение, это инструмент инвентаризации, который помогает администраторам лучше управлять своими ИТ-активами путем сбора информации об оборудовании и программном обеспечении. Кроме того, он позволяет развертывание пакетов на компьютерах компьютерной сети.

Для инвентаризации OCS мы установим необходимые компоненты и по-прежнему создадим базу данных ocsweb и пользователя, который будет ocsadmin. Как ранее сделано в GLPI.

установка предпосылок для инвентаризации OCS

apt install make perl libapache2-mod-perl2 libxml-simple-perl libio-компресс-perl libdbi-perl libapache-dbi-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libxml-libxml-perl libapache2-mod -php7.0

Установка инвентаря OCS

Вы должны загрузить установочный пакет с сервера OCS:

После установки он должен быть распакован с помощью: tar -xvf OCSNG_UNIX_SERVER_2.5 .tar.gz.

Когда распаковка завершена, мы входим в папку OCSNG_UNIX_SERVER_2.5 и запускаем скрипт установки с помощью команды ./setup.sh

После того, как вы ответили на все вопросы и установка была завершена, в сообщении говорится, что файлы, которые должен принять Daemon, находятся в папке conf. доступно от apache2.

Мы должны скопировать их и поместить в доступный сайт, чтобы демон мог выполнить свою задачу.

Оказавшись на сайте, мы создаем a2ensite для каждого файла, затем перезапускаем службу apache.

Конфигурация инвентаря OCS

Теперь перейдем к настройке OCS Inventory, для этого, как и для GLPI, мы откроем веб-страницу и введем URL localhost / ocsreports.

Необходимо указать имя пользователя, созданного в базе данных, и пароль, а затем имя базы данных, которая является OCSWEB и localhost.

Следующим шагом является выбор языка, мы выберем французский. Для подключения мы введем admin / admin по умолчанию. А что касается GLPI, нас просят удалить файл install.php.

Установка агента инвентаризации OCS

Мы перейдем к клиенту Debian9 Linux и введем команду apt install ocsinventory-agent. После завершения этого шага, если вы запустите ocsinventory-agent, откроется выбор между «locale» и «http». Мы выберем http и введем IP-адрес сервера / ocsinventory /, после чего он остановится.

Но машина еще не была названа. Для этого вы должны выполнить dpkgconfigure ocsinventory-agent, это перезапустит установку, и мы сможем идентифицировать нашего клиента по имени.

Не забудьте изменить права доступа пользователя OCS к базе данных на сервере. Добавив: предоставьте все привилегии для ocsweb. * Для ocs, обозначенных как ‘ocs’; После этого перезапустите ocsinventory-agent, и соединение будет установлено. Откройте ocsreports и перейдите на вкладку, все машины которой у нас появятся.

Ассоциация между GLPI и OCS Inventory

Сначала давайте загрузим программное обеспечение с веб-сайта плагинов glpi по адресу https://plugins.glpi-project.org/#/plugin/ocsinventoryng . Этот плагин позволяет синхронизировать GLPI с решением для инвентаризации OCS. После загрузки и распаковки вам придется скопировать его в / var / www / html / plugin /.

Мы возвращаемся на сайт GLPI, чтобы завершить настройку. Для начала, мы перейдем в «Конфигурация», затем плагины и нажмем на папку «+» в столбце «ДЕЙСТВИЯ». Затем модуль OCS Inventory NG появится на вкладке инструментов. Мы нажимаем на него, затем добавляем сервер OCSNG.

Вернемся к странице ocs, чтобы активировать trace_deleted, которая находится на вкладке «Конфигурация и сервер», и вернемся к GLPI. Нам просто нужно зайти в ИМПОРТ ИНВЕНТАРЯ в OCS Inventory NG и нажать на «Импорт новых компьютеров». Нажмите «Импорт» и перейдите к PARC, затем Компьютеры и компьютер Debian будут добавлены в парк GLPI.

источник

Добавить комментарий