Glpi установка на centos
Содержание:
- Введение
- Работа с заявками через почту[править]
- Setup
- Обновление существующих плагинов
- 5.2. Configuration de LDAP
- b) Update of an existing plugin
- Локализация
- 3. Список разрабатываемых плагинов
- 4. Список не рекомендуемых плагинов
- Apache + PHP
- Установка и начальная настройка GLPI
- Настройка HTTP сервера
- Доменная аутентификация (Active Directory)
- Tips
Введение
GLPI может использовать один или несколько каталогов LDAP для:
- аутентификации пользователей;
- получения данных пользователей (имени, адреса электронной почты, телефона и т.д.).
Возможно импортировать и синхронизировать пользователей двумя способами:
Вручную: При первом подключении пользователь создается в GLPI. При каждом последующем входе информация синхронизируется с каталогом;
Массовый импорт: через веб-интерфейс GLPI или с использованием сценариев.
GLPI работает с любым LDAP v3 совместимым каталогом. Поэтому он также работает с Microsoft Active Directory.
Все конфигурации доступны в “Настройки/ Аутентификация” в пункте меню “LDAP каталог”.
<note warning>
Если на странице “Настройки/ Аутентификация” вместо пункта меню “LDAP каталог” отображается надпись “Ваш PHP-парсер был собран без модуля LDAP”.
Для Windows вам нужно:
- Раскомментировать в php.ini файле (это файл расположен в директории установки php) строку extension = php_ldap.dll;
- В этом же файле проверить, что строке extension_dir соответствует верное значение (путь к папке, в которой находятся расширения php, в том числе и файл php_ldap.dll);
- В значение системной переменной PATH должны быть включены папка php и папка с расширениями php;
- Если вы внесли изменения в значение системной переменной, перезагрузите компьютер, чтобы изменения применились;
- Если вы изменили что-либо в файле php.ini, перезапустите ваш веб-сервер.
Для Debian Linux вам нужно:
- Установить пакет php5-ldap и добавить строку “extension = ldap.so” в конец файла (Debian Lenny не делает этого автоматически при установке пакета);
- Перезапустите ваш веб-сервер.
</note>
<note>
Вы можете определить несколько серверов LDAP для проверки подлинности в GLPI. Процедура аутентификации будет происходить следующим образом:
При первом подключении пользователя GLPI будет опрашивать каталоги, пока не найдет тот, который содержит пользователя;
Пользователь создается в GLPI и идентификатор сервера LDAP сохраняется;
GLPI будет осуществлять аутентификацию пользователя через каталог, идентификатор которого хранится в GLPI;
Если аутентификация не удастся, GLPI переберет все возможные методы аутентификации.
</note>
Работа с заявками через почту[править]
Просто выслать письмо на настроенный ящик.
Добавление комментария
Нажать ответить на письмо от GLPI (с номером нужной заявки), но обязательно стереть RE: в теме письма.
Создание и связывание
Нажать ответить на письмо от GLPI (с номером нужной заявки), в теме письма RE: не стирать!
Приемник почтыправить
Настройки для mail.ru:
{imap.mail.ru:993/imap/ssl/validate-cert}INBOX {pop.mail.ru:995/pop/ssl/novalidate-cert}INBOX
Настройки для gmail.com:
{pop.gmail.com:995/pop/ssl/novalidate-cert/notls} IMAP не тестировал.
Настройки для office365.com:
{outlook.office365.com:993/imap/ssl/novalidate-cert}
Внимание!
- GLPI иногда пишет ошибку после сохранения настроек, но письма нормально принимает по кнопке «Получить заявки сейчас».
- После сохранения настроек меняется поле validate-cert/novalidate-cert на противоположное.
Проверено на GLPI 0.84.3
Setup
Web server modifications
Apache 2:
The basic approach:
- check the mod_ntlm module gets loaded by apache on startup
- add the NTLM directives
The NTLM directives for your GLPI host might look like this:
#glpi configuration <Directory "/var/www/vhosts.d/glpi"> Options None Order allow,deny Allow from all NTLMAuth on NTLMAuthoritative off NTLMDomain DOMAIN NTLMServer SRV1 NTLMBackup SRV2 NTLMLockfile /tmp/ntlmauth.lck AuthName NTAuth AuthType NTLM require valid-user Satisfy all </Directory> # Turn off authentication for all subdirectories # as a workaround to the Firefox/NTLM problem <Directory "/var/www/html/glpi/*"> Satisfy Any Allow from all </Directory>
Here is an example of how to install the ntlm module on Ubuntu Server 9.10:
# mkdir ntlmauth # cd ntlmauth/ # wget http://mywheel.net/blog/wp-content/uploads/2007/04/ntlm.tar.gz # tar zxvf ntlm.tar.gz # apt-get update # apt-get -y install apache2-prefork-dev # apxs2 -i -a -c mod_ntlm.c You'll get a couple of errors which you can ignore: apxs:Error: Activation failed for custom /etc/apache2/httpd.conf file.. apxs:Error: At least one `LoadModule' directive already has to exist.. # make clean # echo "LoadModule ntlm_module /usr/lib/apache2/modules/mod_ntlm.so"> /etc/apache2/mods-available/ntlm.load # a2enmod ntlm you should see: Enabling module ntlm. Run '/etc/init.d/apache2 restart' to activate new configuration! # /etc/init.d/apache2 reload Apache should restart without errors.
To activate NTLM for the GLPI site, rather than add to the existing default site config files, I created a glpi.conf file under /etc/apache2/conf.d
# nano /etc/apache2/conf.d/glpi.conf Paste in the following: <Directory "/var/www/glpi"> AuthName NTAuth AuthType NTLM NTLMAuth on NTLMAuthoritative on NTLMDomain DOMAINNAME NTLMServer PRIMARYDCNAME NTLMBackup SECONDARYDCNAME require valid-user Satisfy all </Directory> Change the path to your glpi install if required, and fill in the domain name and DC names to suit your environment. Save and exit Restart apache to activate: # /etc/init.d/apache2 reload
IIS
GLPI modifications
Go to: Setup → Authentication. In “External authentications” click “Others” and in “Field holding the login in the _SERVER array” select “REMOTE_USER”
GLPI version < 0.71
You will need to modify the GLPI code within the files index.php, login.php and logout.php. It is recommended that you back up the three affected files first, in order to be able to revert to original code when things go wrong.
Something like
# cp index.php index.php.orig # cp login.php login.php.orig # cp logout.php logout.php.orig
should do.
Take care of the modifications with this diff here. Simply change your current working directory to the GLPI directory and issue a
# patch < patch-httpauth-0.68.3.txt
(sorry for the .txt extension, there are some wiki limitations concerning the files which may be uploaded)
You should get
patching file index.php patching file login.php patching file logout.php
as the only response. If you did not, you probably used copy+paste to get the diff to your target system. This might introduce additional whitespace characters instead of tabs and break the diff — download the file directly (e.g. using wget or ftpget) instead or feed the —ignore-whitespace parameter to “patch”.
Now, you’re nearly done.
Web Browser config
Internet Explorer
When using IE6 or IE7, add the site running GLPI to the “Local Intranet Sites” security zone. This will let the browser use integrated NTLM authentication when prompted by the web server.
Mozilla Firefox
If you ever need to authenticate as a different user than the one currently logged on, just use the “Log off” button in GLPI, this will bring up the conventional login prompt.
Обновление существующих плагинов
Процедура обновления в основном аналогична первоначальной установке, но Вам может потребоваться выполнить некоторые дополнительные меры предосторожности, чтобы Вы смогли вернуться к исходному состоянию на случай неуспеха данной операции.
Создайте резервную копию БД GLPI, или по-крайней мере той части таблиц БД которые мог изменить плагин. Как правило названия этих таблиц перечислены в файле readme.txt который поставляется с каждым плагином и может быть найден в его корневой директори (например, /var/www/glpi/plugins/
Переместите директорию старого плагина за пределы директории “plugins” (например, так: “mv /var/www/glpi/plugins/ /var/www/glpi/plugins_old/”)
После этого вы можете приступить к установке описанной в разделе “Установка”
5.2. Configuration de LDAP
Aller dans Configuration/Authentification
<note warning>S’il y a le message suivant :
« L’extension LDAP de votre parseur PHP n’est pas installée »
Il faut aller supprimer le « ; » dans php.ini à la ligne extension=php_ldap.dll, dans le dossier de xampp. Il y en a 3.</note>
Cliquer sur l’onglet LDAP
Puis sur Active Directory, afin que GLPI remplisse certain champs par défaut.
Remplir les autres champs comme suit :
Basedn : DC=nom du domaine,DC=LOCAL
Rootdn : CN=utilisateurs droit lecture AD,OU=Users,OU=secteur,DC=domaine,DC=LOCAL
Laisser les autres champs par défaut
Aller ensuite dans Administration/Utilisateurs
cliquer sur Liaison LDAP
Faire importer de nouveaux utilisateurs
Les utilisateurs de l’active directory devrait remonter.
— benjamin.fautrez@laposte.net 16/04/2008 12:03
b) Update of an existing plugin
The update procedure is basically the same as the initial installation, but you should take some additional precautions so you can revert to the old version in case of a setup failure:
- Back up the GLPI database or at least the database tables which are created by the plugin. Typically, the tables affected are listed in the file readme.txt that comes with each plugin and can be found in the plugin directory (e.g. /var/www/glpi/plugins/<pluginName>)
- Move the old plugin directory outside the plugin directory (e.g. using “mv /var/www/glpi/plugins/<pluginName> /var/www/glpi/plugins_old/<pluginName>”)
After that, you can proceed with the installation instructions given in Section a)
Локализация
В папке нужного плагина откройте папку locales.
Найдите файл en_GB.php.
Скопируйте его в ru_RU.php.
Откройте скопированный файл
Он содержит строки следующего вида: То, что находится после равно, в двойных или одинарных кавычках и подлежит переводу на русский
Важно: обратите внимание на следующий пример. Здесь перевести нужно только слова Install и plugin, а .$title
является частью программного кода
Будьте внимательны.
Важно: после окончания редактирования сохраните файл (или сконвертируйте его) в кодировке UTF-8. В противном случае вместо русских букв вы увидите в glpi “кракозябры”.
3. Список разрабатываемых плагинов
Не для промышленного использования! Это разрабатываемые версии! Вы можете их использовать только на свой страх и риск!
Здесь Вы найдёте 18 плагинов, таких же как указанные выше :
- orders (en standby)
4. Список не рекомендуемых плагинов
Эти плагины помечены как “не рекомендумые” поскольку их функции либо были реализованы другими плагинами, либо уже вошли в GLPI.
Apache + PHP
Открываем конфигурационный файл apache:
vi /etc/httpd/conf/httpd.conf
Редактируем строку:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
* добавляем index.php.
Создаем виртуальный домен:
vi /etc/httpd/conf.d/glpi.conf
<VirtualHost *:80>
Define root_domain glpi.dmosk.local
Define root_path /var/www/glpi
ServerName ${root_domain}
DocumentRoot ${root_path}
</VirtualHost>
* мы создали виртуальный домен glpi.dmosk.local, при обращении на который apache будет искать файлы в каталоге /var/www/glpi.
Перезапускаем apache:
systemctl restart httpd
Создаем каталог:
mkdir -p /var/www/glpi
Создаем файл со следующим содержимым:
vi /var/www/glpi/index.php
<?php phpinfo(); ?>
Открываем браузер и вводим имя виртуального домена (в нашем случае, glpi.dmosk.local) — мы должны увидеть, примерно, следующее:
Установка и начальная настройка GLPI
Сам процесс установки и начальной настройке прост и понятен. Все дальнейшие «сюрпризы» и нюансы будут при непосредственой настройке для работы системы в конкретном случае.
Система настолько гибкая что порой начинаешь путаться во всех её возможных схемах работы.
Установка GLPI
Разрабьотчики для безопасности рекомендуют вынести некоторые папки за рамки веб сервера для безопасности и об это расказано тут.
Запускаем установку введя в браузере адрес сайта.
Выбираем язык:
Соглашаемся с лицензией:
Выбираем вариант установить:
Смотрим результат проверок:
Вводим данные от базы данных:
Выбираем созданую ранее базу данных:
Проверка подключения к базе данных прошла успешно:
Соглашаемся с отправкой статистики использования если уважаем свободное програмное обеспечение:
Продолжаем и при жедании открываем страницу на которой сказано как можно помочь материально проекту:
В результате увидим сообщение об удачной установке и список всех пользователей по умолчанию с паролями:
Вот таким видом нас встретит страница авторизации GLPI:
Вот так выглядит главная страница при авторизации GLPI:
По рекомендации удаляем указаный файл и меняем пароль у пользователя glpi. У остальных пользователей или меняем пароль или просто отключаем их.
Настройка CRON для GLPI
Добавление в cron правильной команды один из главных моментов в GLPI, так как имено он будет обрабатывать все автоматические задачи.
Добавим файл с необходимым кодом:
vim /etc/cron.d/glpi = необходимый код = # GLPI core # Run cron to execute task even when no user connected * * * * * support.sevo44.ru /usr/bin/php /var/www/support.sevo44.ru/www/front/cron.php
Где указаны следующие параметры:
- * * * * * — задание выполняется каждую минуту;
- support.sevo44.ru — пользователь которому пренадлежит файл;
- /usr/bin/php — с помощью чего обрабатывать файл;
- /var/www/support.sevo44.ru/www/front/cron.php — путь до необходимого файла.
После добавления обезательно проверте как он выполняется. Посмотрим логи cron:
cat /var/log/cron = часть вывода кода = Nov 10 21:57:01 support.sevo44.loc CROND: (support44.ru) CMD (/usr/bin/php /var/www/support.sevo44.ru/www/front/cron.php) Nov 10 21:58:01 support.sevo44.loc CROND: (support44.ru) CMD (/usr/bin/php /var/www/support.sevo44.ru/www/front/cron.php) Nov 10 21:59:01 support.sevo44.loc CROND: (support44.ru) CMD (/usr/bin/php /var/www/support.sevo44.ru/www/front/cron.php)
Из вывода видно что задачи успешно выполняются каждую минуту.
Ротация логов
В системе GLPI присутствует свой хороший механизм логирования, но держать логи на уровне сайта не помешает.
Настроим сразу ротацию логов что бы при необходимости было удобно их просматривать.
Создадим необходимый файл:
vim /etc/logrotate.d/sites = необходимый код = /var/www/support.sevo44.ru/log/*.log { daily missingok rotate 52 compress delaycompress notifempty create 644 nginx adm sharedscripts postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 `cat /var/run/nginx.pid` fi endscript }
Согласно кода ротация будет проводится раз в день, и хранить архивы будет 52 дня. Файлы будут сжиматься и иметь права 644.
Backup сайта GLPI
После настройки настоятельно рекомендую настроить резервное копирование файлов и базы данных. Посмотреть о том как я произвожу резервное копирование в подобных случаях можно из статьи Backup надежный и безопасный.
Нюансы настройки и работы GLPI
С следующей статье я раскажу про основные нюансы в настройке с которыми я сталкиваюсь на практике.
Вот примерный список тем которые я раскрою в статье про настройку GLPI:
- Получение заявок на почтовый ящик;
- Настройка профилей пользователей;
- Настройка автоматических заданий;
- Минимальная смена дизайна;
- Добавление и ведение нескольких организаций;
- Расширение для сбора информации о компьютерах;
- Расширение для удобного вывода информаци по статистике заявок;
- и тд. и тп.
Настройка HTTP сервера
Настройка HTTP сервера Apache:
-
Нужно создать файл:
- /opt/glpi/apache.conf
-
Alias /glpi /opt/glpi <VirtualHost glpi> NameVirtualHost glpi ServerName glpi ServerAlias glpi ServerAlias glpi.domain.ru ServerAdmin glpi@domain.ru DocumentRoot /opt/glpi <Directory /opt/glpi> DirectoryIndex index.php Options FollowSymLinks AllowOverride Limit Options FileInfo Require all granted </Directory> </VirtualHost>
-
Выполнить следующие действия:
- glpi_apache.sh
-
#!/bin/bash # Создаем символическую ссылку ln -s optglpiapache.conf etcapache2sites-availableglpi.conf # Разрешаем сайт a2ensite glpi # Перезапуск service apache2 reload
Доменная аутентификация (Active Directory)
Если в нашей сети есть сервер с установленной ролью контроллера домена, мы можем выполнять аутентификацию на основе ldap. Настройка выполняется в два этапа — настройка связи с LDAP и импорт пользователей из каталога.
Настройка связи с LDAP
Для начала, создаем учетную запись в каталоге Active Directory для настройки связывания с GLPI. У нее должны быть минимальные права.
Теперь создаем каталог LDAP. Для этого переходим в Настройки — Аутентификация:
Кликаем по LDAP каталог и нажимаем Добавить:
Заполняем поля для настройки LDAP:
* где:
- Наименование — произвольное имя каталога, например, dmosk.local.
- Сервер — сервер с ролью ldap-сервера. В данном примере указан весь домен, по которому могут отзываться все серверы.
- Фильтр соединений — фильтр объектов, которые мы извлекаем. Для Active Directory работает (&(objectClass=user)(objectCategory=person)).
- База поиска (baseDN) — контейнер или организационный юнит, с которого начинается поиск объектов. В нашем случае, OU=Users,DC=dmosk,DC=local.
- Поле имени пользователя — поле LDAP, по которому будет ассоциироваться имя пользователя (samaccountname).
- Сервер по умолчанию и Активен переводим в Да.
- rootDN (пользователь для подключения) — учетная запись в AD DS, у которой есть права на чтение каталога (CN=glpi,CN=Users,DC=dmosk,DC=local). Ее мы создавали на первом этапе.
- Пароль (пользователь для подключения) — вводим пароль для учетной записи в AD.
Нажимаем Добавить.
Переходим в подраздел Тест и проверяем подключение к каталогу. Если оно выполнится с ошибкой, подождите, минут, 15 — возможно, не прошла репликация между всеми контроллерами.
Переходим в подраздел Пользователь — заполняем поля для ассоциаций с LDAP:
Нажимаем Сохранить.
А также:
- В группах можно добавить фильтр (&(objectClass=group)(objectCategory=group)).
- В дополнительной информации меняем часовой пояс.
Импорт пользователей
Переходим в Администрирование — Пользователь:
Кликаем по Связи с LDAP:
Затем Импорт новых пользователей — Поиск. Среди найденных результатов отмечаем всех или необходимых пользователей — Действие — Импорт.
После импорта, пользователь может входить на портал под своей доменной учетной записью.
Tips
Then add an entry in the glpi_plugin_archires_config table
Corresponding fields :
- type glpi_plugin_archires_config = ID form the type of glpi_type_computers
-
device_type glpi_plugin_archires_config = ID correspond to the ID declared in config.php (Section ITEMS TYPE)
*img = the name of your image (that you will have added before in the plugin pics folder)The image will be automatically added to the configuration of the plugin and visible on the graph.
===== Questions/Answers =====
=== Q: In debug mode, I have lines of the following type . In addition my image does not show up.===
> R : You may have a path problem that prohibits archires/inc/plugin_archires.functions_display.php to find the dot utility. You can define a hard link in this script (usr/local/bin/dot for example). You can detect if this is happening looking for “sh: dot: not found” in apache’s log. (This problem is corrected in Version 1.3)
=== Q: My image contains weird sized items (the shape of a rhombus). ===
> R: The name or type of the concerned item cannot include any character other than basic ones ( none of those “&”, “/”, “’”, etc…)