GLPI — это система работы с заявками, инцидентами и инвентаризацией компьютерного оборудования фирмы, так же может использоваться для инвентаризации ПО, расходных материалов для принтеров, сетевых устройств и сетевой инфраструктуры. Предоставляет такие возможности как отслеживание заявок и уведомлений, а так же для формирования базы основной топологии сетей.
Установка необходимого по для работы GLPI
Сведения о системе:
1 2 |
# uname -a Linux GLPI 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux |
Обновление системы и установка полезных утилит:
1 2 3 4 |
apt-get update apt-get upgrade -y apt-get install aptitude aptitude install mc htop git composer |
Установка базового набора пакетов:
1 2 3 4 |
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 |
Установка дополнительных пакетов для расширения функциональности:
1 2 |
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:
1 |
# mkdir /var/www/glpi |
Подготавливаем конфигурационный файл виртульного хоста для GLPI:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 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:
1 2 3 4 5 |
memory_limit = 64M file_uploads = on max_execution_time = 600 session.use_trans_sid = 0 cgi.fix_pathinfo=0 |
Настраиваем PHP7-FPM на работу через сокет, параметр listen:
1 2 3 4 5 6 7 8 9 10 11 12 |
# 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 |
Теперь можно перезапустить сервисы и проверить работоспособность:
1 |
# service nginx restart && service php7.0-fpm restart |
Настройка базы данных MariaDB(MySQL)
Нам необходимо установить пароль пользователя root и создать нашего рабочего пользователя:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# 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:
1 2 |
# cd /var/www/glpi # git clone https://github.com/glpi-project/glpi.git |
Выставляем владельца на каталоги, пользователь должен иметь права на запись в каталоги config и files:
1 |
# chown -R www-data:www-data /var/www/glpi/* |
В инструкции по установки рекомендуют использовать рекомендации FHS, мы же не будем выходить за пределы каталога glpi.
Создаем файл downstream.php со следующим содержимым, здесь мы указываем где будет находится конфигурация системы:
1 2 3 4 5 |
# 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, в нем указываем пути к местам хранения логов и файлов загрузок:
1 2 3 4 5 6 |
# 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'); |
Далее выполняем команды:
1 2 |
# composer install --no-dev # php -r "file_put_contents('.composer.hash', sha1_file('composer.lock'));" |
И переходим непосредственно к установке системы зайдя по адресу, в нашем случае http://glpi.company.lan/ Дальнейшая установка, не должна будет вызвать проблем с настройкой системы. После завершения установки Вам будет выдана информация с данными для авторизации:
1 2 3 4 5 6 7 8 |
По умолчанию логины / пароли: glpi/glpi для учетной записи администратора tech/tech для технической учетной записи normal/normal для обычной учетной записи post-only/postonly только для подачи заявок Вы можете изменить или удалить эти учетные записи. |
Так же по завершению установки рекомендуется удалить каталог install:
1 2 |
# cd /var/www/glpi # rm install |
На этом установка закончена и необходимо перейти к настройке системы.
Расписано и оформлено красиво, но нерабочее, для начинающего 🙁
1. Вылетает с ошибкой «service nginx restart»
2. При настройке «MariaDB(MySQL)» тоже ругается 🙁
Добрый день, было не плохо ошибки увидеть.