Pull to refresh

Инвентаризация в компании: Установка GLPI

Reading time5 min
Views17K
image



Пришло время и в нашей компании провести учет компьютерной техники. Компания растет, расширяется, и памяти IT отдела плюс нескольких XLS-файлов уже не хватает для быстрого и достоверного ответа что у нас и где находится.


Что имеем:
1) каждому пользователю выдано необходимое оборудование (несколько мониторов, планшет, принтер, сканер, бесперебойник etc);
2) каждому на компьютер установлен набор бесплатного софта, плюс платные программы;
3) есть несколько датацентров, в каждом из которых есть несколько стоек, заполненных серверами и активным оборудованием;

Чего хотелось достичь:
1) вести учет комплектующих в каждом компьютере, возможность видеть проделанные апгрейды и ремонты;
2) иметь полный список купленного софта, с серийниками и дистрибутивами;
3) видеть какие лицензии кому выданы, и на каких машинах они установлены;
4) возможность строить любые отчеты, например у Петра Иванова находится — системный блок в такой-то конфигурации, 2 монитора, ноутбук, рабочее место на 99 этаже, в комнате 9901, пользуется лицензиями Windows XP, Office 2007, WinRar, Total Commander; или сколько у нас осталось лицензий на Photoshop и кому выданы занятые; или сколько и каких серверов (серийники и инвентарники такие-то) занято под такой то проект, какой на них установлен софт, во сколько обходится стоимость проекта (внесена стоимость серверов и лицензий); и так далее и тому подобное.
P.S. Также GLPI может использоваться как система подачи заявок в HelpDesk, но мы уже используем JIRA, если будет интересно расскажу, но пока не планировал.

Итак, я бы хотел рассказать о том, как я выполнил поставленные задачи. Было бы интересно рассказать сколько я продуктов перепробовал, перед тем как остановится на этом, но может в следующий раз. В данном посте приступлю конкретно к необходимым действиям, с помощью которых любой сможет установить такой же сервис у себя (это будет пошаговое руководство для начинающих с примерами команд и их выводом в консоль, не считая кучи картинок). Сейчас рассмотрим только установку и необходимую настройку, в дальнейшем хочу еще немного практики (связка с OCS Inventory), а уж после наверно теория. В нашей компании среди Linux-систем выбран Debian, на его примере и будем настраивать.

Часть 1: Установка


1. Установка ОС


Качаем последний образ Debian с сайта:
www.debian.com/CD/netinst

У меня это debian-504-i386-netinst.iso Нам будет достаточно сетевой установки, остальное мы будем доставлять сами. После установки установим следующие компоненты:

apt-get install ssh, apache2, mysql-server, php5


2.Настраиваем MySQL


2.1 Логинимся под рутом, вводим пароль, который мы ввели при установке MySQL:
mysql -uroot -p


inventory:/home/tyran# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.0.51a-24+lenny3 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


2.2 Создаем базу данных для нашей программы:
create database glpidb;

mysql> create database glpidb;
Query OK, 1 row affected (0.00 sec)

2.3 Создаем пользователя, и выдаем ему права от созданной базы:
grant all privileges on glpidb.* to glpiuser@localhost identified by 'Здесь укажите ваш пароль для него';

mysql> grant all privileges on glpidb.* to glpiuser@localhost
-> identified by 'password';
Query OK, 0 rows affected (0.00 sec)


2. Установка GLPI


2.1 Качаем последнюю стабильную версию с сайта
www.glpi-project.org/?article41&lang=en

Я устанавливаю GLPI Version 0.72.4
2.2 Распаковываем архив в /var/www/
tar xzvf glpi-0.72.4.tar.gz -C /var/www

2.3 Переходим в папку, и выдаем необходимые права на папки:
cd /var/www/glpi
chown www-data:www-data config files files/* inc


3. Конфигурируем GLPI

Заходим по адресу:
http://IP_адрес_сервера/glpi


3.1 Выбираем язык


3.2 Принимаем лицензионное соглашение


3.3 Выбираем установку


3.4 Проверяем окружение


3.5 Вот так например выглядит ошибка, если не хватает прав на запись в папки


3.6 Вводим данные для коннекта к MySQL


3.7 Выбираем свою базу данных GLPIDB


3.8 База успешно подключена


3.9 Все готово, здесь перечислены дефолтные логины и пароли.


3.10 Можем проверить и зайти под супер-админом (glpi:glpi)


3.11 чтобы поменять пользователю интерфейс на русский, необходимо выбрать справа вверху «Setting» и на страничке выбрать язык. Причем можно выбрать как глобальный для всех новых пользователей, так и для текущего аккаунта.


И так, на этом установка окончена. Можно логиниться используя дефолтные пароли и заносить данные.

Часть 2.Настройка


1. Настройка LDAP



Теперь нам было бы удобнее привязать LDAP к нашей системе инвентаризации. Мы сможем импортировать пользователей к нам в систему, ну а после раздавать им права и привязывать к ним технику.

1.1 Выбираем в меню Setup -> Authentication


1.2 Далее нам нужен LDAP


1.3 И тут же видим ошибку


Устанавливаем недостающее
apt-get install php5-ldap

inventory:~# apt-get install php5-ldap
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
php5-ldap
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 18.2kB of archives.
After this operation, 102kB of additional disk space will be used.
Get:1 security.debian.org lenny/updates/main php5-ldap 5.2.6.dfsg.1-1+lenny6 [18.2kB]
Fetched 18.2kB in 2s (6613B/s)
Selecting previously deselected package php5-ldap.
(Reading database ... 18693 files and directories currently installed.)
Unpacking php5-ldap (from .../php5-ldap_5.2.6.dfsg.1-1+lenny6_i386.deb) ...
Setting up php5-ldap (5.2.6.dfsg.1-1+lenny6) ...



1.4 Рестартим Apache
./etc/init.d/apache2 restart


1.5 Обновляем страницу и добавляем сервер LDAP



1.5.1 Теперь подробнее по полям, которые необходимо заполнить
(В версии 0.72.4 добавили кнопку Active Directory, нажимая которую, подставятся значения специфичные для AD)


Имя — Какое вам нравится такое и пишите
Server — Указываем домен контроллер к которому будем обращаться ldap://dc1.domain.com
LDAP Port — по умолчанию 389
Basedn — где будем искать пользователей, например все пользователи домена dc=domain,dc=com
rootdn — путь к пользователю, от имени которого будет проиcходить запрос к LDAP, я создал пользователя web в подразделении, итого cn=web,ou=allusers,dc=domain,dc=com
Pass — пароль от пользователя web
Login Field — samaccountname
Connection filter — (&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2))) (поиск только активных пользователей)
USE TLS — No
Time zone — GMT +3 Hour
HOw LDAP aliases should be handle — Never

Группы я не использую.
GLPI/LDAP Links — Здесь заполняем привязку полей AD к полям пользователей в GLPI, так у нас импортируются в GLPI пользователи AD с полями имя, фамилия, емайл.
Surname — sn
Firstname — givenname
E-Mail — mail

1.6 Здесь же можем протестировать соединение. Если все ок — получим ответ:


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

2.Настройка бекапа



2.1 Создадим файл backup.sh следующего содержания

#!/bin/sh

user="-uroot"
pass="-pПарольотMySQL"
path="/var/www/glpi/files/_dumps"
date="`date +%Y-%m-%d`"

mysqldump $user $pass glpidb > $path/$date.glpidb.backup.sql


2.2 Выставляем планировщик на запуск нашего бекапа, например ежедневно в 23 часа:
crontab -e

# m h dom mon dow command
0 23 * * * /home/tyran/backup.sh


Теперь в меню Administration — Data видим сделанный нами бекап, и можем его оттуда же восстановить.




3. Экспорт в PDF по-русски



Подробная инструкция у молодого админа
Tags:
Hubs:
Total votes 17: ↑14 and ↓3+11
Comments10

Articles