Устанавливаем GLPI (helpdesk) в FreeBSD

Цель: Установить и настроить систему helpdesk (GLPI), с возможностями:

  1. Учет компьютеров, периферийного оборудования, сетевых устройств, обычных принтеров и связанных с ними компонентами
  2. Информирование о получении заявки на почтовый ящик
  3. Получение заявок по почте
  4. назначение задач, планирование и т.д.
  5. управление лицензиями.
  6. назначение оборудования по географическим регионам для пользователей и групп.
  7. управление деловой и финансовой информацией.
  8. управление статусом работы оборудования.
  9. управление заявками о помощи для всех видов оборудования.
  10. использование нескольких интерфейсов, позволяющих пользователю отправить запрос в службу поддержки (web, e-mail).
  11. управление документами, договорами, и связанных с ними товарно-материальных ценностей.
  12. резервирование оборудования.
  13. создание часто задаваемых вопросов «FAQ» и «Базы знаний».
  14. генератор отчетов: аппаратное обеспечение, сети, тех. поддержки и т.п.

Технические требования GLPI

веб-сервер:

  • Apache 2 и выше
  • Microsoft IIS

PHP:

  • PHP version 5.3 и выше
  • JSON — поддержка JSON
  • MBstring — обработка символов
  • Следующие расширения PHP не обязательны, но рекомендуются для использования возможностей GLPI:
    • CAS — для аутентификации
    • CLI —  для работы с командной строкой
    • CURL — для проверки подлинности CAS
    • DOMXML — для проверки подлинности CAS
    • GD — для генерации изображений
    • IMAP —для работы с почтовыми серверами, используемых для сбора заявок или аутентификации пользователей
    • LDAP — для использования внешних каталогов для проверки подлинности
    • OpenSSL — для зашифрованного соединения

Конфигурация PHP:

  • memory_limit = 64M ; // минимально
  • file_uploads = on ;
  • max_execution_time = 600 ; // Рекомендуется, но не является обязательным
  • register_globals = off ; // Рекомендуется, но не является обязательным
  • magic_quotes_sybase = off ;
  • session.auto_start = off ;
  • session.use_trans_sid = 0 ; // Рекомендуется, но не является обязательным

И так у нас есть свежеустановленная FreeBSD 9.2 с диска «FreeBSD-9.2-RELEASE-amd64-disc1». Устанавливать GLPI будем из портов, но вы можете скачать с сайта разработчика данное ПО и развернуть на уже готовом веб сервере. После установки первым делом обновил порты

portsnap fetch extract

и завел в системе нового пользователя, для доступа по SSH

adduser

На вопрос добавления в другие группы, ответил «wheel»

Login group is 'xaxatyxa'. Invite jack into other groups: wheel

Теперь подключаемся к серверу по SSH и переходим в папку с портами

cd /usr/ports

Ищем нужный порт

make search name=glpi

Переходим в порт с GLPI

cd /usr/ports/www/glpi && make install clean

Включаем поддержку IMAP и LDAP.

Так как система совсем чистая, то прицепом будут установлены недостающие для работы компоненты.

Для PHP оставляем все опции как есть, единственное не забываем добавить «Build Apache module«

php5-5.4.20

[*] CLI        Build CLI version
[*] CGI        Build CGI version
[ ] FPM        Build FPM version
[*] APACHE     Build Apache module

[ ] AP2FILTER  Use Apache 2.x filter interface (experimental)
[ ] EMBED      Build embedded library
[ ] DEBUG      Enable debug
[ ] DTRACE     Enable DTrace support
[*] IPV6       Enable ipv6 support
[ ] MAILHEAD   Enable mail header patch
[*] LINKTHR    Link thread lib (for threaded extensions)
[ ] ZTS        Force Zend Thread Safety (ZTS) build

Также будет предложено установить apache. Оставляем всё без изменений и жмём «ОК»

Устанавливать библиотеку libsigsegv для обработки ошибок страниц в пользовательском режиме я не стал, если нужна будет доставим позже.

Устанавливаем help2man

При установке perl, оставляем всё по умолчанию.

При установке gettext, оставляем всё по умолчанию.

При установке libiconv, оставляем всё по умолчанию.

При установке gmake, оставляем всё по умолчанию.

При установке apt, оставляем всё по умолчанию.

При установке gdbm, оставляем всё по умолчанию.

При установке pcre, оставляем всё по умолчанию.

При установке libxml, оставляем всё по умолчанию.

При установке php5-mysql, оставляем всё по умолчанию.

При установке php5-mbstring, оставляем всё по умолчанию.

При установке openldap-client, оставляем всё по умолчанию.

При установке cclient-2007f, оставляем всё по умолчанию.

В конце установки вы получите рекомендации по настройке:

****************************************************************************
===>   Returning to build of glpi-0.83.8,1
===>   Generating temporary packing list
===>  Checking if www/glpi already installed
*****************************************************************
First time installation notes:

Before using GLPI, you will need to configure your database.
Full installation instructions are available here:

        http://glpi-project.org/spip.php?article61

If you are using MySQL, here's the short version of the instructions:

  1. Create a new database:
  $ mysqladmin -uroot create glpi

  2. Grant access to the database:
  $ mysql -uroot -e"GRANT ALL ON glpi.* TO USERNAME@localhost IDENTIFIED BY 'PASSWORD'" glpi
  (choose your own values for USERNAME and PASSWORD)

You will also need to configure Apache.  Consider adding the following
to your httpd.conf:

    <Directory /usr/local/www/glpi>
        AllowOverride Options FileInfo
    </Directory>

Then reload Apache: 'apachectl graceful'

Please visit 'http://{host.domain}/www/glpi/' in a
web-browser and follow the configuration instructions.
*****************************************************************

Дожидаемся окончания установки

Добавляем apache в автозагрузку

echo 'apache22_enable="yes"' >> /etc/rc.conf

Идём в конфигурационный файл apache и комментируем «unique_id_module»

ee /usr/local/etc/apache22/httpd.conf

Заменяем в конфигурационном файле apache (httpd.conf) «DirectoryIndex index.html» на «DirectoryIndex index.php index.html»

И добавляем две строчки

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Запускаем apache

/usr/local/etc/rc.d/apache22 start

Открываем браузер и проверяем работу

Добавляем файл для проверки работоспособновти PHP

echo '<?php phpinfo(); ?>' >> /usr/local/www/apache22/data/phpinfo.php

Проверяем, набирая в браузере «http://10.0.0.78/phpinfo.php» (у вас скорее всего будет другой адрес)

Устанавливаем MySQL сервер. Опишу коротко, подробно тут: «Устанавливаем MySQL на FreeBSD«

Устанавливаем сервер

cd /usr/ports/databases/mysql55-server
make install clean

У кого есть желание поставить версию 56, соответственно меняем mysql55-server на mysql56-server.

В конце установки вы увидите

===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/libexec/mysqld

      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/mysql-server

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.mysql.com/

Добавляем сервер в автозагрузку:

echo 'mysql_enable="yes"' >> /etc/rc.conf

Копируем конфиг:

cp /usr/local/share/mysql/my-large.cnf /var/db/mysql/my.cnf

Запускаем mysql-server:

/usr/local/etc/rc.d/mysql-server start

Проверяем работу mysql-server:

/usr/local/etc/rc.d/mysql-server status

Установим пароль для root и выполним другие действия, способствующие безопастности MySQL сервера:

mysql_secure_installation

у нас пока нет пароля, просто нажимаем Enter

Enter current password for root (enter for none):

Соглашаемся с установкой пароля root?  Жмём «Y»

Set root password? [Y/n]

Вводим новый пароль

New password:

Повторяем пароль

Re-enter new password:

Удаляем анонимных пользователей?  Жмём «Y»

Remove anonymous users? [Y/n]

Запрещаем пользователю root удаленные подключения к серверу?  Жмём «Y»

Disallow root login remotely? [Y/n]

Удаляем тестовые данные и доступ к ним? Жмём «Y»

Remove test database and access to it? [Y/n]

Применяем изменения сейчас?  Жмём «Y»

Reload privilege tables now? [Y/n]

Создаём базу для GLPI

mysqladmin -uroot -p create glpi
mysql -uroot -p -e "GRANT ALL ON glpi.* TO glpi@localhost IDENTIFIED BY 'glpi'" glpi

в итоге получаем следующие параметры для подключания к базе

сервер: localhost
пользователь:  glpi
пароль: glpi

Для удобства устанавливаем phpmyadmin

cd /usr/ports/databases/phpmyadmin && make install clean BATCH=yes

и MC (Midnight Commander)

cd /usr/ports/misc/mc && make install clean BATCH=yes

Редактируем конфиг apache (httpd.conf)

ee /usr/local/etc/apache22/httpd.conf

Следующие строки добавляем в самый конец , без них phpmyadmin и glpi работать не будет

# phpmyadmin
Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
    <Directory "/usr/local/www/phpMyAdmin/">
        Options none
        AllowOverride Limit
        Order Deny,Allow
        Allow from all
    </Directory>
# GLPI
Alias /glpi "/usr/local/www/glpi"
        <Directory /usr/local/www/glpi>
                AllowOverride Options FileInfo
                Order Deny,Allow
                Allow from all
        </Directory>

Перезапускаем apache

/usr/local/etc/rc.d/apache22 restart

Установка GLPI

открываем браузер и набираем адрес «http://10.0.0.78/glpi». У вас соответственно будут отличия в ip-адресе.

Выбираем язык и нажимаем «ОК»

Соглашаемся с лицензией

нажимаем установка

Возможные ошибки при установке GLPI:

1. Ошибка при запуске apache: «/usr/local/etc/rc.d/apache22: WARNING: failed to start apache22» или «apache22 not running? (check /var/run/httpd.pid).»

Смотрим в логи

cat /var/log/httpd-error.log

Получаем ошибку

[Thu Oct 10 22:35:37 2013] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "freebsd92_x64"
Configuration Failed

Идём в конфигурационный файл apache и комментируем

ee /usr/local/etc/apache22/httpd.conf

2. Ошибка при подключении к phpmyadmin

Forbidden

You don't have permission to access /phpmyadmin/ on this server.

Проверяем конфиг apache, на наличие строк

    Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
    <Directory "/usr/local/www/phpMyAdmin/">
        Options none
        AllowOverride Limit
        Order Deny,Allow
        Allow from all
    </Directory>

3. Ошибка при попытке зайти на страницу GLPI

Forbidden

You don't have permission to access /glpi/ on this server.

Проверяем конфиг apache, на наличие строк

Alias /glpi "/usr/local/www/glpi"
        <Directory /usr/local/www/glpi>
                AllowOverride Options FileInfo
                Order Deny,Allow
                Allow from all
        </Directory>

4. Ошибка связи с базой при установке GLPI

Невозможно соединиться с базой данных :
Сервер вернул : php_network_getaddresses: getaddrinfo failed: hostname nor servname provided, or not known

Проверяем параметры подключения к базе

Ссылки и документация по GLPI для вкуривания:

  1. http://www.glpi-project.org/
  2. http://www.glpi-project.org/README
  3. http://www.glpi-project.org/wiki
  4. http://www.glpi-project.org/spip.php?rubrique3
  5. http://www.ignix.ru/public/daemon/glpi
  6. http://www.z4blog.ru/2011/10/prozrachnaya-avtorizaciya-v-glpi/
Share

You may also like...

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

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