Glpi установка на centos

Введение

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:

  1. Нужно создать файл:

    /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>
  2. Выполнить следующие действия:

    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:

Нажимаем Сохранить.

А также:

  1. В группах можно добавить фильтр (&(objectClass=group)(objectCategory=group)).
  2. В дополнительной информации меняем часовой пояс.

Импорт пользователей

Переходим в Администрирование — Пользователь:

Кликаем по Связи с 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…)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *