[Из песочницы] GLPI в небольшой организации. Типичное развертывание и подводные камни
Предположительно, это будет первая из цикла статей по GLPI, и если тема окажется нужной, я с радостью продолжу этот цикл.
Впервые я столкнулся с GLPI в самом начале своей работы в сфере системного администрирования. Система досталась в наследство от моего коллеги и предшественника. Единственной функцией, которую выполняла эта система в организации, было статическое хранение информации о компьютерах, используемых на предприятии. Всё.
Именно для этих целей был собран небольшой сервер, на него была установлена по шагам на основании руководства последняя и стабильная на 2011 год Ubuntu, где и разместился комплекс GLPI, включающий в себя MYSQL-сервер с базой данных (БД) GLPI, веб-сервер Apache с PHP5 и саму GLPI.
Итак, прежде чем приступить к установке, мы должны задать себе минимум три вопроса:
1. Какую выгоду принесет GLPI нашей организации?
2. В каком качестве мы хотим использовать эту систему?
3. Сможете ли мы сопровождать и поддерживать эту систему?
В случае, рассказанном выше, ответов на эти три вопроса не было.
Сейчас GLPI это не просто «Свободный менеджер парка компьютерной техники», как когда-то, а комбайн, способный помочь Вам в управлении IT-инфраструктурой, в техподдержке пользователей, в планировании бюджета, в управлении отделом и во многом другом. Возможности GLPI значительно расширяют дополнения, которые просты в использовании и имеют богатый функционал.
Разворачивая GLPI на предприятии, я всегда задаю себе указанные выше вопросы и, как мне кажется, составил типичную картину развертывания GLPI.
1.
— GLPI поможет в проведении инвентаризации парка оргтехники, позволив обнаружить, систематизировать и заменить устаревшее компьютерное оборудование, а значит повысить производительность труда;
— GLPI позволит систематизировать, группировать, приоритезировать и отслеживать состояние заявок в техническую поддержку, тем самым ускорить выполнение важных и приоритетных заявок, что приведет к повышению производительности труда.
2.
— GLPI будет использоваться своей привычной роли «менеджер парка компьютерной техники»;
— GLPI возьмет на себя роль системы технической поддержки пользователей;
— GLPI поможет в управлении IT-отделом (бюджет, поставщики оборудования, поставщики услуг и др.)
3.
— На предприятии уже используется некоторое количество развернутых на Linux систем (Zabbix, Openfire, внутренний веб-сайт, сервер БД MYSQL для вышеуказанных систем), и добавление одного сервера кардинально не усложнит инфраструктуру.
Если у Вас нет систем, развернутых на Unix-подобных ОС, стоит получить необходимые знания на уровне базового администрирования.
Работая с Unix-подобными ОС несколько лет, я смело могу заявить, что для GLPI надежность Debian GNU/Linux достаточная, чтобы не беспокоится о полной работоспособности GLPI на протяжении многих лет. Но не стоит забывать о критических обновлениях и обновлениях безопасности, и регулярно делать резервное копирование.
Ниже я представлю, по моему скромному мнению, базовую конфигурацию систем и дополнения для типичного развертывания GLPI.
Во-первых, перед подготовкой к установке мы должны всё спланировать и определиться с версией нужной нам GLPI и дополнений к ней, чтобы вся инфраструктура была совместима с GLPI.
Во-вторых, нам потребуется две виртуальных машины (ВМ) с Debian GNU/Linux. Одна для БД MYSQL, вторая для GLPI.
Я предпочитаю выделять роли серверов с БД MYSQL в связи с особенностями работы сервера MYSQL и по некоторым другим причинам, например, он может нам пригодиться для размещения БД других проектов, таких как Zabbix. При использовании такой конфигурации, очень удобно управлять БД MYSQL с помощью PHPMyAdmin, советую установить этот веб-интерфейс.
Первый подводный камень: не забудьте открыть возможность подключения к серверу БД MYSQL с других хостов. Делается это довольно просто. Нужно поправить файл /etc/mysql/my.cnfДля разрешения прослушивания всех адресов достаточно закомментировать строчку
bind-address=127.0.0.1Дополнительную информацию вы можете найти тут.
ВМ с БД MYSQL нужно конфигурировать, учитывая, что это сервер БД, где будут расти размеры и количество БД, а ВМ с GLPI — учитывая, что это веб-сервер, где предполагается рост размера папок GLPI. Обе ВМ потребуют установку веб-сервера Apache и PHP5.
Напомню, что на ВМ с БД MYSQL нам нужно будет дополнительно установить PHPMyAdmin для удобного управления базами данных MYSQL. В Интернете огромное количество пошаговых и полных руководств по установке таких систем, найти их не проблема, и это тема отдельной статьи.
Также не забудьте установить на сервер, предназначенный для GLPI, клиента mysql (mysqlclient), он пригодится для взаимодействия с сервером БД.
В-третьих, я советую устанавливать GLPI не из репозиториев, а с сайта GLPI, поскольку это позволит провести чистую установку, без «паровоза» из ненужных зависимостей и программ. Кроме того, на сайте всегда можно найти самую свежую версию GLPI, или выбрать что-то из старых релизов.
Второй подводный камень: при таком типе установке нужно не забыть выдать права для веб-сервера (www-data) на папку с распакованным GLPI, удобнее всего это сделать с помощью утилиты chown, входящей в состав Debian GNU/Linux.Также надо не забыть поправить файлы конфигураций Apache2, создав в папке /etc/apache2/sites-available файл, например glpi.conf. Проще сделать это копированием конфигурации по умолчанию — файла 000-default.conf
Поправим в новом файле параметры ServerName, ServerAlias и DocumentRoot, указав имя сайта, псевдоним и место расположения распакованного GLPI. Удобно указать короткий адрес, например «tp» или «glpi».
Добавим новый сайт командой: a2ensite glpi.conf после этого нужно перезапустить Apache.
До полноценного запуска GLPI я не советую удалять файл конфигурации по умолчанию и выключать сайт по умолчанию, он может пригодится для более удобного просмотра и корректировки параметров PHP в дальнейшем.
В четвертых, осталось на сервере создать БД и пользователя для GLPI и выдать ему права, для этого удобно воспользоваться PHPMyAdmin.
Итак, БД создана, пользователь получил административные права на базу.
Третий подводный камень: для полноценной работы GLPI нужно поправить файл в */glpi/config/config_db.phpНужно заполнить все поля, указав адрес сервера с БД MYSQL, имя базы, имя пользователя и пароль. Последний штрих — нужно разметить БД для использования GLPI. Именно для этой процедуры нам пригодится клиент mysql. Выполним команду, залив дамп в новую базу:
mysql -u имя_пользователя -h имя_или_ip_сервера_БД -pпароль имя_БД < */glpi/install/mysql/glpi-версия_GLPI-empty.sql
Обратите внимание, что я указал неполный путь, поскольку GLPI Вы можете разместить в разных местах (например в папке пользователя /home/user1 или в /usr/share/ Я же советую размещать ее в /var/www/). По пути */glpi/install/mysql/ можно найти все доступные для заливки дампы.
В пятых, советую создать А-запись в DNS, с коротким именем, желательно совпадающим с ServerName, например glpi, чтобы можно было легко и просто перейти в веб-интерфейс GLPI. Вводим в браузере glpi и переходим к настройке GLPI.
В шестых, несколько слов о дополнениях. Для «типичной» установки удобно использовать:
— Archires (Network Architecture) (возможность понятно описать сетевую инфраструктуру)
— Dashboard (красивые графические отчеты для начальства)
— FusionInventory (инвентаризация ПК)
— Reports (удобные отчеты для себя)
— PDF (возможноcть экспорта в PDF)
— Racks / Bays Management (удобный инструмент для описания стоек и шкафов)
— Accounts Inventory (удобный инструмент для работы с аккаунтами пользователей)
Скачать дополнения можно отсюда. После скачивания файлы нужно разархивировать и поместить в папку */glpi/plugins, после чего их нужно активировать в веб-интерфейсе GLPI и включить. Установка GLPI завершена.
P.S. Рассмотреть GLPI от установки до запуска в производственную среду в рамках одной статьи не представляется возможным, рассчитываю написать цикл статей на тему GLPI, если не на Хабре, то в личном блоге в жж.
P.S. S. Спасибо за внимание и жду конструктивной критики.