Установка системы работы с заявками GLPI

📅 1 Июн 2018 11:17 | 👁 197 | 🕐 3 мин.

GLPI — это система работы с заявками, инцидентами и инвентаризацией компьютерного оборудования фирмы, так же может использоваться для инвентаризации ПО, расходных материалов для принтеров, сетевых устройств и сетевой инфраструктуры. Предоставляет такие возможности как отслеживание заявок и уведомлений, а так же для  формирования базы основной топологии сетей.

Установка необходимого по для работы GLPI

Сведения о системе:

# uname -a
Linux GLPI 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux

Обновление системы и установка полезных утилит:

apt-get update
apt-get upgrade -y
apt-get install aptitude
aptitude install mc htop git composer

Установка базового набора пакетов:

aptitude install mariadb-server mariadb-client
aptitude install nginx
aptitude install php7.0 php7.0-fpm php7.0-curl php7.0-fileinfo php7.0-gd php7.0-json 
aptitude install php7.0-mbstring php7.0-mysqli php7.0-zip php7.0-simplexml php7.0-xml

Установка дополнительных пакетов для расширения функциональности:

aptitude install php7.0-cli php7.0-dom php7.0-imap php7.0-ldap php7.0-xmlrpc php7.0-apcu
aptitude install phpmyadmin

Настройка и подготовка рабочего окружения для работы GLPI

Настройка веб сервера NGINX

Создаем каталог где будут располагаться скрипты GLPI:

# mkdir /var/www/glpi

Подготавливаем конфигурационный файл виртульного хоста для GLPI:

# cat /etc/nginx/sites-enabled/glpi
server {
    listen      *:80;
    server_name glpi.company.lan ;
    root        /var/www/glpi;
    index       index.php index.html;
    access_log  /var/log/nginx/glpi.company.lan.log combined;
    error_log   /var/log/nginx/glpi.company.lan.error.log error;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;

        if (!-e $request_filename)
        {
            rewrite ^(.+)$ /index.php?q=$1 last;
        }

        location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
            expires     max;
        }

        location ~ [^/]\.php(/|$) {
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            if (!-f $document_root$fastcgi_script_name) {
                return  404;
            }

            fastcgi_pass    unix:/var/run/php/php7.0-fpm.sock;
            fastcgi_index   index.php;
            include         /etc/nginx/fastcgi_params;
        }
    }

    location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
}

Попутно настраиваем phpmyadmin:

# cat /etc/nginx/conf.d/phpmyadmin.inc
location /phpmyadmin {
    alias /usr/share/phpmyadmin/;

    location ~ /(libraries|setup) {
        return 404;
    }

    location ~ ^/phpmyadmin/(.*\.php)$ {
        alias /usr/share/phpmyadmin/$1;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $request_filename;
    }

    location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        root /usr/share/;
    }
}

Настраиваем PHP 7 для работы с GLPI

Настройка php.ini, редактируем следующие параметры, согласно документации GLPI:

memory_limit = 64M
file_uploads = on
max_execution_time = 600
session.use_trans_sid = 0
cgi.fix_pathinfo=0

Настраиваем PHP7-FPM на работу через сокет, параметр listen:

# grep -Ev '^\s*(;|#|$)' /etc/php/7.0/fpm/pool.d/www.conf
[www]
user = www-data
group = www-data
listen = /var/run/php/php7.0-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

Теперь можно перезапустить сервисы и проверить работоспособность:

# service nginx restart && service php7.0-fpm restart

Настройка базы данных MariaDB(MySQL)

Нам необходимо установить пароль пользователя root и создать нашего рабочего пользователя:

# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 411
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE USER SET Password=PASSWORD('PASSWORD') WHERE User='root';
MariaDB [(none)]> CREATE USER 'USER'@'localhost' IDENTIFIED BY 'PASSWORD';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON * . * TO 'USER'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;

Этап подготовки рабочего окружения завершен.

Установка GLPI

Получаем исходники GLPI:

# cd /var/www/glpi
# git clone https://github.com/glpi-project/glpi.git

Выставляем владельца на каталоги, пользователь должен иметь права на запись в каталоги config и files:

# chown -R www-data:www-data /var/www/glpi/*

В инструкции по установки рекомендуют использовать рекомендации FHS, мы же не будем выходить за пределы каталога glpi.

Создаем файл downstream.php со следующим содержимым, здесь мы указываем где будет находится конфигурация системы:

# cd /var/www/glpi
# touch inc/downstream.php
# cat inc/downstream.php
<?php
define('GLPI_CONFIG_DIR', '/var/www/glpi/config');

Затем в каталоге config создадим файл local_define.php, в нем указываем пути к местам хранения логов и файлов загрузок:

# cd /var/www/glpi
# touch config/local_define.php
# cat config/local_define.php
<?php
define('GLPI_VAR_DIR', '/var/www/glpi/files');
define('GLPI_LOG_DIR', '/var/www/glpi/logs');

Далее выполняем команды:

# composer install --no-dev
# php -r "file_put_contents('.composer.hash', sha1_file('composer.lock'));"

И переходим непосредственно к установке системы зайдя по адресу, в нашем случае http://glpi.company.lan/ Дальнейшая установка, не должна будет вызвать проблем с настройкой системы. После завершения установки Вам будет выдана информация с данными для авторизации:

По умолчанию логины / пароли: 

glpi/glpi для учетной записи администратора 
tech/tech для технической учетной записи 
normal/normal для обычной учетной записи 
post-only/postonly только для подачи заявок 

Вы можете изменить или удалить эти учетные записи.

Так же по завершению установки рекомендуется удалить каталог install:

# cd /var/www/glpi
# rm install

На этом установка закончена и необходимо перейти к настройке системы.

Поделиться

2 комментария to“Установка системы работы с заявками GLPI”

  1. Andrey
    14/12/2018 at 03:43 #

    Расписано и оформлено красиво, но нерабочее, для начинающего 🙁
    1. Вылетает с ошибкой “service nginx restart”
    2. При настройке “MariaDB(MySQL)” тоже ругается 🙁

  2. 12/02/2019 at 15:39 #

    Добрый день, было не плохо ошибки увидеть.

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

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

(Required)