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

    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 по-русски



    Подробная инструкция у молодого админа
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 10

      0
      Классное приложение, обязательно установлю у себя в офисе. Долой эксельные таблицы :)
        +2
        Как закончу с рассказом об установке и настройке, хотел выложить готовый образ виртуалки, с настроенной связкой ПО, вдруг кому-то пригодиться и захочется потестировать
        0
        Спасибо, в мемориз полезную статью!
          0
          Не плохо было бы рассказать про функционал данного ПО и по возможности сравнить его с коммерческими инструментами учета (например Altiris)
            +2
            Про функционал хотел рассказать после статей об установке, так как после связи с ocs накопилось много вопросов, как решенных, так и нет. Полного сравнения с Altiris наверно не сделаю, но по максимуму постараюсь
            0
            а про интеграцию ocs inventory будет? :) глпи без оцс не звучит как то
              +2
              Да, интеграция с ocs будет следующей, куда без неё =)
              0
              Вы даже не представляете, как это вовремя. ;) Спасибо. Жду продолжения.
                0
                Если будут какие вопросы по установки и внедрению, пишите
                0
                Кстати!

                4. Экспорт в CSV с поддержкой русского

                Функция utf8_decode_cyr у нас уже объявлена, так что дело за правкой.
                В файле export.function.php ищем две функции: function displaySearchHeaderItem и function displaySearchItem. В каждую из них, подставляем функцию, было так

                case CSV_OUTPUT : //CSV
                $out=”\””.csv_clean($value).”\”;”;
                break;


                стало так

                case CSV_OUTPUT : //CSV
                $out=”\””.utf8_decode_cyr(csv_clean($value)).”\”;”;
                break;


                Only users with full accounts can post comments. Log in, please.