Docker Homelab Series - Phần 12: GLPI: Hướng dẫn Quản lý IT Assets & Helpdesk

Hướng dẫn GLPI

GLPI: Hướng dẫn Quản lý IT Assets & Helpdesk

GLPI IT Management

I. Giới thiệu GLPI

GLPI (Gestionnaire Libre de Parc Informatique - Free IT Asset Manager) là phần mềm quản lý IT miễn phí, mã nguồn mở cho phép quản lý tài sản IT, helpdesk, và bảo trì. Điều này rất hữu ích khi:

  • Bạn cần quản lý các máy tính, máy in, server trong công ty
  • Muốn tạo hệ thống ticketing cho IT support
  • Cần theo dõi tình trạng bảo hành & maintenance của hardware
  • Quản lý licenses & software
  • Muốn phần mềm miễn phí thay vì phải trả phí (như ServiceNow)

Chức năng chính GLPI:

  • Inventory Management: Quản lý máy tính, thiết bị, linh kiện
  • Helpdesk Ticketing: Tạo & quản lý tickets từ users
  • Asset Tracking: Theo dõi tình trạng tài sản
  • License Management: Quản lý software licenses
  • Maintenance Contracts: Quản lý hợp đồng bảo trì
  • Document Management: Lưu tệp đính kèm & knowledge base
  • Reports & Analytics: Báo cáo & phân tích
  • Multi-language & Multi-tenant support

So sánh GLPI với các tool khác:

Tính năng GLPI ServiceNow Jira Service Desk
Giá Miễn phí (open source) Trả phí ($$$) Trả phí ($monthly)
Self-hosted Có (Docker) Có (tính phí) Có (tính phí)
IT Asset Management Có (core) Có (advanced) Hạn chế
Helpdesk/Ticketing Có (advanced) Có (tốt)
Ease of setup Trung bình Phức tạp Dễ

II. Chuẩn bị Database

1. Tạo Database & User cho GLPI

Trước tiên, bạn cần tạo database trên MySQL (hoặc database server khác):

-- Kết nối vào MySQL
mysql -h 127.0.0.1 -P 3366 -u root -p

-- Tạo database
CREATE DATABASE glpi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Tạo user
CREATE USER 'glpi_2'@'%' IDENTIFIED BY 'glpi_2pass';

-- Cấp quyền
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi_2'@'%';

-- Reload privileges
FLUSH PRIVILEGES;

Lưu ý:

  • DB_HOST trong docker-compose phải là IP của MySQL container hoặc máy chủ
  • Nếu MySQL ở container khác cùng network, dùng tên container (ví dụ: mysql_aio)
  • Nếu MySQL ở máy chủ khác, dùng IP của máy chủ đó

III. Triển khai GLPI với Docker

1. Docker Compose

version: "3.2"
services:
  glpi:
    image: diouxx/glpi
    container_name: glpi
    hostname: glpi
    restart: always
    ports:
      - "22571:80"
    volumes:
      # timezone
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      # GLPI data
      - /root/glpi-21/:/var/www/html/glpi
    networks:
      - docker-net
    mem_limit: 1024m
    cpus: 0.3
    environment:
      - TIMEZONE=Asia/Ho_Chi_Minh
      - DB_HOST=mysql_aio
      - DB_PORT=3306
      - DB_USER=glpi_2
      - DB_PASSWORD=glpi_2pass
networks:
  docker-net:
    external: true

Giải thích cấu hình:

  • image: diouxx/glpi (official image)
  • ports: 22571 (host) → 80 (container)
  • TIMEZONE: Asia/Ho_Chi_Minh (múi giờ)
  • DB_HOST: mysql_aio (tên container MySQL nếu cùng network)
  • DB_PORT: 3306 (port MySQL trong container)
  • DB_USER/DB_PASSWORD: Credentials từ bước II.1
  • volumes: Mount timezone & GLPI data
  • networks: Sử dụng docker-net (external)

2. Deploy qua Portainer

  1. SSH vào server & tạo thư mục:
mkdir -p /root/glpi-21
  1. Vào Portainer Dashboard
  2. Chọn StacksAdd stack
  3. Đặt tên Stack: glpi
  4. Copy/paste docker-compose vào Web editor
  5. Thay đổi:
    • DB_HOST: Theo địa chỉ MySQL server của bạn
    • DB_PASSWORD: Password từ bước II.1
  6. Chọn network: docker-net
  7. Click Deploy the stack

3. Kiểm tra hoạt động

Vào Portainer → Stacks → glpi → Container → glpi → Logs.

Bạn sẽ thấy dòng như:

* Starting PHP web server ...
* PHP web server is running on http://0.0.0.0:80

Truy cập http://your-ip:22571 để vào GLPI dashboard.

IV. Cấu hình GLPI lần đầu

1. Wizard Setup

Lần đầu truy cập, GLPI sẽ hiển thị setup wizard:

  1. Chọn ngôn ngữ: Vietnamese (nếu có)
  2. Chọn database type: MySQL
  3. Nhập thông tin database:
    • Server: mysql_aio (hoặc IP MySQL)
    • User: glpi_2
    • Password: glpi_2pass
    • Database: glpi
  4. Click Continue

2. Đăng nhập Admin

Sau setup xong, đăng nhập với tài khoản default:

Email: [email protected]
Password: glpi

LƯU Ý: Thay đổi mật khẩu ngay sau khi đăng nhập!

3. Cấu hình cơ bản

Đi tới AdministrationConfiguration để cấu hình:

  • System name: Tên công ty của bạn
  • Email notifications: Cấu hình gửi email alerts
  • Timezone: Asia/Ho_Chi_Minh
  • Language: Vietnamese

V. Sử dụng GLPI cơ bản

1. Tạo IT Assets (Tài sản IT)

Để thêm máy tính vào inventory:

  1. Vào AssetsComputers
  2. Click Add a computer
  3. Điền thông tin:
    • Name: LAPTOP-001
    • Model: Dell XPS 13
    • Serial Number: ABC123456
    • Owner: Chọn user/department
    • Location: Chọn vị trí (phòng/văn phòng)
  4. Click Add

2. Quản lý Tickets (Helpdesk)

Để tạo ticket support:

  1. Vào HelpdeskTickets
  2. Click Create a Ticket
  3. Điền thông tin:
    • Title: Máy in không hoạt động
    • Description: Mô tả vấn đề
    • Category: Hardware / Software
    • Priority: High / Medium / Low
    • Assigned to: Chọn technician
  4. Click Create

3. Quản lý Software & Licenses

Để quản lý licenses:

  1. Vào AssetsSoftware
  2. Click Add a Software
  3. Điền:
    • Name: Microsoft Office 2024
    • Editor: Microsoft
    • Category: Office Productivity
  4. Sau đó thêm License

VI. Cấu hình Advanced

1. Proxy qua Nginx Proxy Manager

Để expose GLPI qua domain public:

  1. Vào Nginx Proxy Manager → HostsProxy Hosts
  2. Click Add Proxy Host
  3. Điền:
    • Domain Names: glpi.yourdomain.com
    • Scheme: http
    • Forward Hostname/IP: glpi (tên container)
    • Forward Port: 80
  4. Tab SSL: Request Let's Encrypt
  5. Click Save

Truy cập https://glpi.yourdomain.com

2. Cấu hình Email Notifications

Để gửi email notifications:

  1. Vào AdministrationConfigurationEmail
  2. Cấu hình SMTP:
    • SMTP Server: smtp.gmail.com (hoặc mail server khác)
    • SMTP Port: 587
    • Security: STARTTLS
    • From Email: [email protected]
    • Username: [email protected]
    • Password: app-password (Gmail)
  3. Click Test

3. User & Permissions

Tạo user & phân quyền:

  1. Vào AdministrationUsers
  2. Click Add a User
  3. Điền:
    • Name: john_doe
    • Email: [email protected]
    • Password: (để trống để auto-generate)
    • Profile: Chọn role (Technician, Observer, Admin)
  4. Click Add

4. LDAP/Active Directory Integration

Để tích hợp với AD:

  1. Vào AdministrationAuthenticationLDAP
  2. Cấu hình LDAP server:
    • LDAP Server: ldap.yourdomain.com
    • Base DN: dc=yourdomain,dc=com
    • User DN: cn=admin,dc=yourdomain,dc=com
  3. Click Test connection

5. Backup & Restore

Backup GLPI data:

#!/bin/bash
BACKUP_DIR=/root/backups
DATE=$(date +%Y%m%d_%H%M%S)

# Backup GLPI files
tar -czf $BACKUP_DIR/glpi_files_$DATE.tar.gz /root/glpi-21

# Backup database
docker exec mysql_aio mysqldump -u glpi_2 -p"glpi_2pass" glpi > $BACKUP_DIR/glpi_db_$DATE.sql
gzip $BACKUP_DIR/glpi_db_$DATE.sql

# Keep 7 days
find $BACKUP_DIR -name "glpi_*" -mtime +7 -delete

VII. Troubleshooting

GLPI không kết nối database

  • Kiểm tra MySQL container đang chạy không: docker ps
  • Kiểm tra DB_HOST, DB_PORT, DB_USER, DB_PASSWORD đúng chưa
  • Test kết nối: docker exec glpi mysql -h mysql_aio -u glpi_2 -p glpi
  • Xem logs: docker logs glpi

GLPI load chậm

  • Tăng mem_limit: mem_limit: 2048m
  • Kiểm tra database indexes
  • Tắt plugins không cần thiết
  • Kiểm tra disk space

Không thể upload tệp đính kèm

  • Kiểm tra folder /root/glpi-21 có quyền write không
  • Kiểm trace upload_max_filesize trong PHP config
  • Kiểm tra storage disk space

VIII. Lưu ý quan trọng

  • Thay đổi mật khẩu default: Đổi ngay password admin mặc định
  • Backup dữ liệu: Backup /root/glpi-21 và database định kỳ
  • Database backup: Backup database hằng ngày tránh mất dữ liệu
  • SSL/TLS: Sử dụng HTTPS qua Nginx Proxy Manager
  • Firewall: Giới hạn truy cập GLPI (không public)
  • Timezone: Cấu hình timezone chính xác
  • Email setup: Cấu hình email để users nhận notifications
  • Plugins: Chỉ cài plugins từ sources tin cậy

IX. Best Practice

  • Tổ chức assets theo department & location
  • Sử dụng categories & groups để organize
  • Cấu hình workflow cho tickets (Open → In Progress → Resolved)
  • Sử dụng templates cho recurring issues
  • Tạo reports để theo dõi KPIs (ticket response time, resolution time)
  • Kiểm tra license expiration định kỳ
  • Sử dụng email notifications để users biết ticket status
  • Ghi log mọi maintenance & updates

X. Tích hợp với các tool khác

1. Monitor GLPI qua Uptime Kuma

Vào Uptime Kuma → Add Monitor
Type: HTTP(s)
URL: https://glpi.yourdomain.com
Interval: 300 (5 phút)

2. Backup qua Cron & Cloudflare Tunnel

Tự động backup & upload lên cloud storage.

3. Alert qua Telegram

Cấu hình GLPI gửi alerts qua Telegram khi có ticket mới.

XI. Advanced Features

1. Inventory Rules

Tự động import & update assets từ network scan.

2. Contracts & SLAs

Quản lý hợp đồng & SLAs cho support team.

3. Knowledge Base

Tạo FAQ & knowledge base để users tự giải quyết vấn đề.

Vậy là bạn đã hoàn thành cấu hình GLPI để quản lý IT Assets & Helpdesk!

Post a Comment

Previous Post Next Post
QR Code
Quét mã QR để gọi miễn phí