Glpi ошибка перемещения файла
Прежде чем написать свою первую публикацию на Хабре, я долго думал о тематике статьи, хотел прорыва и полного освещения вопроса статьи. Однако столкнувшись в очередной раз с вопросами коллег по GLPI, решил осветить «типичное» развертывание этой системы в рамках инфраструктуры предприятия на 250 человек и указать широкому кругу читателей Хабра на некоторые подводные камни.
Предположительно, это будет первая из цикла статей по GLPI, и если тема окажется нужной, я с радостью продолжу этот цикл.
Впервые я столкнулся с GLPI в самом начале своей работы в сфере системного администрирования. Система досталась в наследство от моего коллеги и предшественника. Единственной функцией, которую выполняла эта система в организации, было статическое хранение информации о компьютерах, используемых на предприятии. Всё.
Именно для этих целей был собран небольшой сервер, на него была установлена по шагам на основании руководства последняя и стабильная на 2011 год Ubuntu Linux, где и разместился комплекс GLPI, включающий в себя MYSQL-сервер с базой данных (БД) GLPI, веб-сервер Apache с PHP5 и саму GLPI.
Итак, прежде чем приступить к установке, мы должны задать себе минимум три вопроса:
1. Какую выгоду принесет GLPI нашей организации?
2. В каком качестве мы хотим использовать эту систему?
3. Сможем ли мы сопровождать и поддерживать эту систему?
Сейчас GLPI это не просто «Свободный менеджер парка компьютерной техники», как когда-то, а комбайн, способный помочь Вам в управлении IT-инфраструктурой, в техподдержке пользователей, в планировании бюджета, в управлении отделом и во многом другом. Возможности GLPI значительно расширяют дополнения, которые просты в использовании и имеют богатый функционал.
Разворачивая GLPI на предприятии, я всегда задаю себе указанные выше вопросы и, как мне кажется, составил типичную картину развертывания GLPI.
1.
— GLPI поможет в проведении инвентаризации парка оргтехники, позволив обнаружить, систематизировать и заменить устаревшее компьютерное оборудование, а значит повысить производительность труда;
— GLPI позволит систематизировать, группировать, приоритезировать и отслеживать состояние заявок в техническую поддержку, тем самым ускорить выполнение важных и приоритетных заявок, что приведет к повышению производительности труда.
2.
— GLPI будет использоваться своей привычной роли «менеджер парка компьютерной техники»;
— GLPI возьмет на себя роль системы технической поддержки пользователей;
— GLPI поможет в управлении IT-отделом (бюджет, поставщики оборудования, поставщики услуг и др.)
3.
— На предприятии уже используется некоторое количество развернутых на GNU/Linux систем (Zabbix, Openfire, внутренний веб-сайт, сервер БД MYSQL для вышеуказанных систем), и добавление одного сервера кардинально не усложнит инфраструктуру.
Если у Вас нет систем, развернутых на Unix-подобных ОС, стоит получить необходимые знания на уровне базового администрирования.
Работая с Unix-подобными ОС несколько лет, я смело могу заявить, что для GLPI надежность Debian GNU/Linux достаточная, чтобы не беспокоится о полной работоспособности GLPI на протяжении многих лет. Но не стоит забывать о критических обновлениях и обновлениях безопасности, и регулярно делать резервное копирование.
Ниже я представлю, по моему скромному мнению, базовую конфигурацию систем и дополнения для типичного развертывания GLPI.
Во-первых, перед подготовкой к установке мы должны всё спланировать и определиться с версией нужной нам GLPI и дополнений к ней, чтобы вся инфраструктура была совместима с GLPI.
Во-вторых, нам потребуется две виртуальных машины (ВМ) с Debian GNU/Linux. Одна для БД MYSQL, вторая для GLPI.
Я предпочитаю выделять роли серверов с БД MYSQL в связи с особенностями работы сервера MYSQL и по некоторым другим причинам, например, он может нам пригодиться для размещения БД других проектов, таких как Zabbix. При использовании такой конфигурации, очень удобно управлять БД MYSQL с помощью PHPMyAdmin, советую установить этот веб-интерфейс.
Для разрешения прослушивания всех адресов достаточно закомментировать строчку
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.
Поправим в новом файле параметры ServerName, ServerAlias и DocumentRoot, указав имя сайта, псевдоним и место расположения распакованного GLPI. Удобно указать короткий адрес, например «tp» или «glpi».
Добавим новый сайт командой: a2ensite glpi.conf после этого нужно перезапустить Apache.
До полноценного запуска GLPI я не советую удалять файл конфигурации по умолчанию и выключать сайт по умолчанию, он может пригодиться для более удобного просмотра и корректировки параметров PHP в дальнейшем.
В четвертых, осталось на сервере создать БД и пользователя для GLPI и выдать ему права, для этого удобно воспользоваться PHPMyAdmin.
Итак, БД создана, пользователь получил административные права на базу.
Нужно заполнить все поля, указав адрес сервера с БД 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 (удобный инструмент для работы с аккаунтами пользователей)
P.S. Рассмотреть GLPI от установки до запуска в производственную среду в рамках одной статьи не представляется возможным, рассчитываю написать цикл статей на тему GLPI, если не на Хабре, то в личном блоге в жж.
P.S.S. Спасибо за внимание и жду конструктивной критики.
Q: Как сделать, чтобы при создании пользователем заявки в поле Заказчик->Группа автоматически прописывалась группа, к которой принадлежит этот заказчик.
А1: Допустим, вы обслуживаете внешних клиентов и не хотите чтобы клиент видел чужие заявки. Для этого, для каждого клиента создайте отдельную организацию и добавьте в нее клиента. Потом зайдите в Администрирование > Правила > Правила для заявок, создайте новое правило (картинка ввиде знака + (плюс) вверху), выберите критерий организация и укажиде нужную организацию. А в "Действие" выберите "Заказчик - Группа" и укажите группу.
А2: Вы хотите чтобы для определенного пользователя (заказчика) автоматом назначалась нужная группа. Для этого создайте правило для заявок, укажите критерий "Заказчик - Пользователь" и выберите нужного пользователя, а в действиях укажите как в А1.
Q: Как сделать, чтобы заявка от конкретного заказчика автоматически назначалась конкретному исполнителю?
А: Администрирование > Правила > Правила для заявок, жмем + (плюс) вверху (там, где написано "Central > Администрирование > Правила"). Создаем правило, выбираем критерий "Заказчик - Пользователь" и указываем нужного заказчика. Потом в действиях выбираем "Назначено - Тех.специалист" и выбираем нужного исполнитея.
Q: Как создать группы, которым назначается заявка?
А: Администрирование > Группы, там вверху, на серой панельке, где написано "Central > Администрирование > Группы", есть кнопка (точнее картинка) ввиде знака "+". Это и есть добавление групп.
Q: Добавил информацию в базу знаний, но она не отображается ни под одним профилем, как настроить?
А: Идем в редактирование нужного профиля, там находим "ЧаВо:" и "База знаний:", ставим нужные права. Все.
PS1: Для профилей с интерфейсом "Поддержка" доступно только ЧаВо.
PS2: Чтобы юзер увидел запись в БЗ, он должен входить в ту организацию, в которую добавлена запись. Т.ж. можно указать (при создании записи) "Подчинённые организации: Да", тогда чтобы видели записи юзеры из всех организаций достаточно добавлять записи в основную организацию.
Q: Как в GLPI использовать планирование?
А: Когда вы создаете заявку или редактируете ее, в разделе "Добавить ответ" есть пункт "Планирование" и справа от него ссылка "Запланировать", если на нее нажать, то появятся нужные поля. Это и будет планирование. А в Поддержка -> Планирование можно посмотреть что запланировано на день/неделю/месяц.
Q: GLPI видит письма, но не хочет их забирать. В чем может быть дело?
А: Особенностей не выяснили, но в нашем случае GLPI "не нравилось" одно из писем. После его удаления из ящика все письма загрузились.
(ответ от анонимного читателя)
Q: Как сделать, чтобы были русские буквы при экспорте в PDF?
А: Прочитайте пост GLPI: Экспорт в PDF по русски.
Q: Как добавить свои статусы для заявок?
А: Прочитайте пост GLPI: Добавляем свои статусы для заявок.
UPD: Я уже несколько лет не использую GLPI и вряд ли смогу толково ответить на ваши вопросы. Сорри.
GLPI - система техподдержки, учета комптехники, ведения внутренних документов (имеющих отношение к ИТ отделу), учет расходных материалов. Да много еще чего там есть. Моя цель не достоинства GLPI описывать, а рассказать как это добро использовать :)
Можно GLPI ставить из репозиториев. Тогда тебе эта статья не нужна. Ну, а если хочешь из тарбола поставить, как это сделал я, тогда это то, что тебе надо :)
Я решил ставить GLPI на Ubuntu 8.04.2 Server. Почему? Люблю я эту систему :) GLPI 0.71.5 - последняя версия на данный момент.
1. Для начала надо поставить зависимости :
Если на твоем сервере еще не стоит какой-либо MTA (Mail Transfer Agent), то советую поставить ssmtp, чтобы MySQL не тянул за собой Exim:
$ sudo aptitude install ssmtp
2. GLPI для своей работы использует базу данных MySQL, поэтому нам нужно сделать БД "glpidb" и пользователя "glpiuser" с паролем "glpi" (естественно пароль надо выбрать подлиннее и по сложнее ;) ) :
3. Теперь настроим PHP , как рекомендуется в документации:
3.1. Убедимся, что memory_limit достаточного размера: если нет, то нужно поставить 128M, ниже не желательно.
3.2. Убедимся, что строка " extension=mysql.so " в конфиге MySQL не закоментирована: если это не так, то ее надо раскомментировать (или добавить если ее совсем нет).
8. После того как подконнектимся, то увидим мастер , в котором:
8.1. Выбираем язык.
8.2. Принимаем лицензию.
8.3. Выбираем пункт установка, т.к. мы устанавливаем GLPI, а не обновляем :)
8.4. Сейчас будет показан результат некоторой внутренней проверки, жмем кнопку "Продолжить". (шаг 0)
8.5. Указываем параметры соединения с базой данных (сервер 127.0.0.1, юзер и пароль те, что мы сделали в п.2): (шаг 1)И жмем кнопку "Продолжить".
8.6. Выбираем базу данных, которую сделали в п.2: glpidb. (шаг 2)
8.7. Жмем кнопку "Продолжить". (шаг 3)
8.8. Читаем, запоминаем/записываем: (шаг 4)Жмем кнопку "Продолжить".
9. Выполняем вход в только-что установленный GLPI :)
Воспользуемся логином glpi, сразу сделем себе юзера support и добавим его в профиль super_admin, а все остальные учетные записи можно заблокировать (или удалить).
Все, теперь можно настраивать GLPI дальше под себя, благо все и так понятно и наглядно :)
И на последок расскажу о тех "сложностях", с которыми пришлось столкуниться:
A. Если хотите чтобы при создании новых заявок в поле "Назначить" по умолчанию была выбрана определенная группа, а не пустая строка, в файле ./front/helpdesk.php в строке 71 параметр "$assign_group=0" меняем на свое значение. Узнать ID группы можно, например, так: идем в Администрирование > Группы, открываем нужную группу и смотрим в адресную строку - http://helpdesk.myserver.ru/front/group.form.php?ID=2. У меня группа "Техподдержка" имеет в базе поэтому выставил "$assign_group=2".
B. Если почтовый парсер (Установки > Почтовый парсер) при проверке ящика сообщает, что ему не удалось подключиться к почтовому серверу, то нужно в настройках парсера оставить пустым поле "Email (необязательно)". Т.ж. в поле "Настройки соединения" стоит выбрать "NO-TLS" и "NO-VALIDATE-CERT" в третьем и четвертом выпадающих списках, соответственно.
C. Если почтовый парсер не забирает почту из ящика самостоятельно, то надо сделать симлинк на конфиг-файл php: либо в /etc/php5/cli/php.ini добавить те строки, про которые сказано в п.3 (см. выше)
D. Рекомендую поставить плагины (их надо скачать с оф. сайта и распаковать в папку /var/www/plugins/):
Ставить лучше из репозитория t7 - там версия всегда более актуальная, чем в p7.
Подключаем виртуальный хост glpi:
Запускаем mysql и apache:
Выставляем автозапуск сервисов.
Создаем БД glpi и права пользователю glpi с паролем Password (например)
После завершения установки в целях безопасности не забудьте удалить файл:
Настройки - Общие - Все
- Текст, размещаемый на странице входа : Пишем то, что будет на страничке входа, например:
- Формат даты выставить - DD-MM-YYYY
- прочие настройки по желанию
- Включить уведомления на почту
- Добавить назначенного специалиста в уведомления
- Те же действия для Уведомлений: Update Ticket, Close Ticket, Add Followup, Add Task, Update Followup, Update Task, Delete Followup, Delete Task, Resolve ticket
На время тестирования GLPI в отделе ИТ можно отключить уведомления заказчику (чтобы пользователей не пугали странные письма) для этого нужно таким же способом удалить запись Заказчик
Пример настроек для AD на Win2003
На контроллере домена создать пользователя (например'GLPI user search') в OU users, задать пароль (Password).
Просто выслать письмо на настроенный ящик.
- GLPI иногда пишет ошибку после сохранения настроек, но письма нормально принимает по кнопке "Получить заявки сейчас".
- После сохранения настроек меняется поле validate-cert/novalidate-cert на противоположное.
Проверено на GLPI 0.84.3
Проверка текущего статуса GLPI:
Ошибка возникает если права super-admin выданы пользователю без наследования, нужно выдать снова с выставленной галкой.
- Не приходят уведомления по почте при добавлении комментария (Сопровождение)
- Решается включением уведомления для followup (по-умолчанию выключено)
- Нужно проверить частоту напоминаний о картриджах и минимальный порог в свойствах организации:
- При обновлении заявки в уведомлении не указывается, что конкретно изменилось.
- Решается внедрением отдельного шаблона уведомления со специально прописанным выводом изменения (по-умолчанию шаблон универсальный)
- При попытке загрузить файл или импортировать заявку по почте с вложенным файлом, его не принимает mailgate GLPI :
Логи расположены здесь - /var/www/webapps/glpi/files/_log/php-errors.log
Ошибка доступа при перемещении временного файла, который glpi переименовывает и размещает в рандомный (видимо) каталог в /var/www/webapps/glpi/files//xx. Решается выставлением корректных прав на каталоги в /var/www/webapps/glpi/files/ (владелец/группа: apache2/apache2 или apache2/_webservers).
Ставить лучше из репозитория t7 - там версия всегда более актуальная, чем в p7.
Запускаем mysql и apache:
Выставляем автозапуск сервисов.
Создаем БД glpi и права пользователю glpi с паролем Password (например)
Работа с заявками через почту
Просто выслать письмо на настроенный ящик.
Настройка GLPI
Общие настройки
Настройки - Общие - Все
- Текст, размещаемый на странице входа : Пишем то, что будет на страничке входа, например:
- Формат даты выставить - DD-MM-YYYY
- прочие настройки по желанию
Нет прав на создание организации
Ошибка возникает если права super-admin выданы пользователю без наследования, нужно выдать снова с выставленной галкой.
Уведомления на почту
Gmail
office365
Общие настройки
- Включить уведомления на почту
- Добавить назначенного специалиста в уведомления
- Те же действия для Уведомлений: Update Ticket, Close Ticket, Add Followup, Add Task, Update Followup, Update Task, Delete Followup, Delete Task, Resolve ticket
На время тестирования GLPI в отделе ИТ можно отключить уведомления заказчику (чтобы пользователей не пугали странные письма) для этого нужно таким же способом удалить запись Заказчик
Настройка LDAP-аутентификации
Пример настроек для AD на Win2003
На контроллере домена создать пользователя (например'GLPI user search') в OU users, задать пароль (Password).Приемник почты
- GLPI иногда пишет ошибку после сохранения настроек, но письма нормально принимает по кнопке "Получить заявки сейчас".
- После сохранения настроек меняется поле validate-cert/novalidate-cert на противоположное.
Проверено на GLPI 0.84.3
Не создаются заявки из писем
Уведомления
- Не приходят уведомления по почте при добавлении комментария (Сопровождение)
- Решается включением уведомления для followup (по-умолчанию выключено)
- Нужно проверить частоту напоминаний о картриджах и минимальный порог в свойствах организации:
- При обновлении заявки в уведомлении не указывается, что конкретно изменилось.
- Решается внедрением отдельного шаблона уведомления со специально прописанным выводом изменения (по-умолчанию шаблон универсальный)
Не подвязываются файлы
- При попытке загрузить файл или импортировать заявку по почте с вложенным файлом, его не принимает mailgate GLPI :
Логи расположены здесь - /var/www/webapps/glpi/files/_log/php-errors.log
Ошибка доступа при перемещении временного файла, который glpi переименовывает и размещает в рандомный (видимо) каталог в /var/www/webapps/glpi/files//xx. Решается выставлением корректных прав на каталоги в /var/www/webapps/glpi/files/ (владелец/группа: apache2/apache2 или apache2/_webservers).
Troubleshooting
Проверка статуса GLPI
Проверка текущего статуса GLPI:
Читайте также: