Cách cài đặt GLPI IT Inventory Management trên Debian 12

theanh

Administrator
Nhân viên
GLPI là giải pháp quản lý tài sản CNTT và Helpdesk nguồn mở được viết bằng PHP. Đây là phần mềm quản lý CNTT hoàn chỉnh cho tổ chức của bạn. GLPI giúp bạn quản lý sự cố/yêu cầu, tạo biểu mẫu và xác định SLA. Nó cũng giúp bạn quản lý phần cứng, phần mềm và giải pháp trung tâm dữ liệu, cho phép bạn liên kết kho tài sản và kiểm soát cơ sở hạ tầng CNTT và doanh nghiệp của mình.

Không chỉ vậy, GLPI còn có thể được sử dụng như một công cụ quản lý tài chính để theo dõi chi phí, hợp đồng và nhà cung cấp của bạn, tạo đối tượng kho mới, quản lý cơ sở dữ liệu người dùng và tạo báo cáo. Hơn nữa, GLPI bao gồm quản lý dự án để phân công nhiệm vụ, thêm cộng tác viên, thiết lập mốc thời gian và lời nhắc, đồng thời cung cấp bảng Kanban để quản lý nhiệm vụ dễ dàng hơn.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Phần mềm quản lý CNTT GLPI trên máy Debian 12. Bạn sẽ cài đặt GLPI cùng với LAMP Stack (Apache2, MariaDB và PHP). Hơn nữa, bạn cũng sẽ bảo mật GLPI thông qua chứng chỉ SSL/TLS từ Letsencrypt.

Điều kiện tiên quyết​

Để bắt đầu, hãy đảm bảo rằng bạn có:
  • Máy chủ Debian 12.
  • Người dùng không phải root có quyền quản trị viên sudo.
  • Tên miền trỏ đến địa chỉ IP của máy chủ.

Cài đặt Dependencies​

GLPI là phần mềm quản lý CNTT nguồn mở được viết bằng PHP với MySQL/MariaDB làm cơ sở dữ liệu. Có thể chạy với máy chủ web Apache2 hoặc Nginx. Trong hướng dẫn này, bạn sẽ cài đặt GLPI với LAMP Stack (Apache2, MariaDB và PHP), hoàn thành các bước sau để cài đặt LAMP Stack và một số phụ thuộc bổ sung cho cài đặt GLPI của bạn.

Trước tiên, hãy cập nhật và làm mới chỉ mục gói Debian của bạn bằng cách thực thi lệnh apt update bên dưới.
Mã:
sudo apt update

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22237%22%3E%3C/svg%3E


Sau khi kho lưu trữ được cập nhật, hãy nhập lệnh sau để cài đặt các gói phụ thuộc cho cài đặt GLPI, bao gồm các gói LAMP Stack (Apache2, MariaDB và PHP) và một số gói PHP bổ sung phần mở rộng.
Mã:
sudo apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-zip
Nhập y để xác nhận và tiếp tục cài đặt.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22135%22%3E%3C/svg%3E


Sau khi các phần phụ thuộc được cài đặt, hãy xác minh từng phần phụ thuộc bằng cách thực hiện lệnh sau.

Xác minh dịch vụ apache2 để đảm bảo rằng dịch vụ đang chạy và đã bật.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Đầu ra enabled xác nhận rằng dịch vụ Apache2 đã được bật. Đầu ra đang hoạt động (đang chạy) xác nhận rằng Apache2 đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22234%22%3E%3C/svg%3E


Xác minh dịch vụ mariadb bằng lệnh bên dưới.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Đầu ra sẽ tương tự như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22234%22%3E%3C/svg%3E


Cuối cùng, hãy xác minh phiên bản PHP và danh sách các tiện ích mở rộng được bật bằng lệnh bên dưới.
Mã:
php -v
php -m
Bạn sẽ thấy PHP 8.2 được cài đặt với một số tiện ích mở rộng như fileinfo, gd, intl, mysqli và zlib được bật.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22603%22%20height=%22460%22%3E%3C/svg%3E

Cấu hình máy chủ MariaDB​

Sau khi cài đặt các gói LAMP Stack, tiếp theo bạn sẽ cấu hình máy chủ MariaDB của mình bằng cách bảo mật máy chủ này thông qua tiện ích mariadb-secure-installation. Sau đó, bạn cũng sẽ tạo một cơ sở dữ liệu MariaDB mới và người dùng mà GLPI sẽ sử dụng.

Thực thi tiện ích mariadb-secure-installation trên thiết bị đầu cuối của bạn để bảo mật cài đặt máy chủ MariaDB của bạn.
Mã:
sudo mariadb-secure-installation
Nhập Y để áp dụng cấu hình cho máy chủ MariaDB của bạn hoặc n để không áp dụng và từ chối các thay đổi. Dưới đây là một số cấu hình MariaDB liên quan mà bạn sẽ được yêu cầu:
  • Chuyển xác thực cục bộ sang unix_socket? Nhập n để không.
  • Thiết lập mật khẩu gốc MariaDB? Nhập y, sau đó nhập mật khẩu gốc MariaDB mới và lặp lại.
  • Xóa người dùng ẩn danh mặc định? Nhập y để xác nhận.
  • Vô hiệu hóa đăng nhập từ xa cho người dùng gốc? Nhập y để xác nhận.
  • Xóa kiểm tra cơ sở dữ liệu mặc định? Nhập y để xác nhận.
  • Tải lại đặc quyền bảng và áp dụng các thay đổi? Nhập y để xác nhận.
Sau khi bảo mật máy chủ MariaDB, bạn sẽ tạo một cơ sở dữ liệu và người dùng mới sẽ được GLPI sử dụng. Bạn có thể tạo cơ sở dữ liệu và người dùng mới thông qua máy khách mariadb.

Đăng nhập vào máy chủ MariaDB bằng lệnh sau, Đảm bảo nhập mật khẩu gốc MariaDB của bạn khi được yêu cầu.
Mã:
sudo mariadb -u root -p
Tiếp theo, thực hiện các truy vấn sau để tạo cơ sở dữ liệu MariaDB mới glpidb với người dùng glpi và mật khẩu là p4ssw0rd. Hãy chắc chắn thay đổi thông tin sau bằng thông tin của bạn.
Mã:
CREATE DATABASE glpidb;
CREATE USER glpi@localhost IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON glpidb.* TO glpi@localhost;
FLUSH PRIVILEGES;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22694%22%20height=%22245%22%3E%3C/svg%3E


Bây giờ hãy chạy truy vấn sau để xác minh quyền của người dùng glpi@localhost.
Mã:
SHOW GRANTS FOR glpi@localhost;
Bạn sẽ thấy người dùng glpi@localhost có quyền truy cập vào cơ sở dữ liệu glpidb.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22620%22%20height=%22261%22%3E%3C/svg%3E


Gõ quit để thoát khỏi máy chủ MariaDB.

Đang cấu hình PHP​

Trong phần sau, bạn sẽ thiết lập cài đặt PHP của mình bằng cách chỉnh sửa tệp php.ini. Sau đó, bạn sẽ xác minh cài đặt Apache2 và PHP của mình bằng cách tạo tệp PHPINFO mới sẽ hiển thị thông tin chi tiết về cài đặt PHP của bạn.

Mở cấu hình php.ini mặc định bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/php/8.2/apache2/php.ini
Thay đổi một số cấu hình PHP sau như thế này. Hãy chắc chắn điều chỉnh date.timezone theo múi giờ phù hợp của bạn và memory_limit theo cấu hình bộ nhớ phù hợp của bạn.
Mã:
memory_limit = 512M
date.timezone = Europe/Stockholm
upload_max_filesize = 16M
session.cookie_httponly = on
Lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, thực hiện lệnh systemctl sau để khởi động lại dịch vụ Apache2 và áp dụng các thay đổi mà bạn đã đã thực hiện.
Mã:
sudo systemctl restart apache2
Sau đó tạo một tệp PHPINFO mới /var/www/html/info.php bằng cách thực hiện lệnh sau.
Mã:
echo "" > /var/www/html/info.php
Khởi chạy trình duyệt web của bạn và truy cập địa chỉ IP máy chủ của bạn theo sau là đường dẫn /info.php, chẳng hạn như http://192.168.10.15/info.php. Nếu cấu hình thành công, bạn sẽ thấy trang PHPINFO như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22612%22%3E%3C/svg%3E

Tải xuống mã nguồn GLPI​

Sau khi cấu hình PHP, bạn sẽ tải xuống mã nguồn GLPI từ GitHub và thiết lập quyền và quyền sở hữu thích hợp cho thư mục gốc web GLPI.

Di chuyển đến thư mục /var/www và tải xuống mã nguồn GLPI thông qua lệnh wget bên dưới. Trong ví dụ này, bạn sẽ tải xuống GLPI v10.x, đây là phiên bản mới nhất và ổn định nhất của GLPI 10.x. Hãy nhớ kiểm tra trang tải xuống GLPI để tải phiên bản mới nhất.
Mã:
cd /var/www/
wget https://github.com/glpi-project/glpi/releases/download/10.0.9/glpi-10.0.9.tgz
Sau khi tải xuống mã nguồn GLPI, hãy giải nén mã nguồn này bằng lệnh tar bên dưới và bạn sẽ thấy một thư mục mới /var/www/glpi.
Mã:
tar -xf glpi-10.0.9.tgz
Bây giờ hãy chạy lệnh sau để thay đổi quyền sở hữu thư mục /var/www/glpi cho người dùng www-data và cho phép máy chủ web Apache2 truy cập vào thư mục đó.
Mã:
sudo chown -R www-data:www-data /var/www/glpi
Sau đó, thực hiện lệnh sau để làm cho các tệp thư mục và cấu hình có thể ghi được. Điều này sẽ cho phép máy chủ web Apache2 ghi vào các thư mục đó để lưu trữ dữ liệu GLPI.
Mã:
sudo chmod u+rw /var/www/glpi/{files,config}

Cấu hình Máy chủ ảo Apache2​

Bây giờ bạn đã tải xuống mã nguồn GLPI, bước tiếp theo là tạo cấu hình máy chủ ảo Apache2 mới sẽ được sử dụng để chạy GLPI. Trước khi thực hiện tiếp, hãy đảm bảo rằng bạn có tên miền được trỏ đến địa chỉ IP máy chủ Debian của mình.

Trước khi tạo cấu hình máy chủ ảo, hãy thực hiện lệnh sau để kích hoạt mô-đun viết lại trong Apache2.
Mã:
sudo a2enmod rewrite
Tạo cấu hình máy chủ ảo mới /etc/apache2/sites-available/glpi.conf bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/apache2/sites-available/glpi.conf
Chèn cấu hình sau và đảm bảo thay đổi tên miền bằng tên miền của bạn trên tham số ServerName.
Mã:
 ServerName glpi.howtoforge.local

 DocumentRoot /var/www/glpi/public

 # If you want to place GLPI in a subfolder of your site (e.g. your virtual host is serving multiple applications),
 # you can use an Alias directive:
 # Alias "/glpi" "/var/www/glpi/public"

 
 Require all granted

 RewriteEngine On

 # Redirect all requests to the GLPI router, unless file exists.
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php [QSA,L]
Lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, thực hiện lệnh bên dưới để kích hoạt tệp máy chủ ảo glpi.conf. Sau đó, hãy xác minh cú pháp Apache2 của bạn để đảm bảo không có lỗi cú pháp.
Mã:
sudo a2ensite glpi.conf
sudo apachectl configtest
Nếu bạn có cú pháp Apache2 phù hợp, bạn sẽ nhận được đầu ra Syntax OK.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22668%22%20height=%22253%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh systemctl sau để khởi động lại dịch vụ Apache2 và áp dụng các thay đổi mới trên máy ảo của bạn tệp máy chủ.
Mã:
sudo systemctl restart apache2
Cuối cùng, hãy mở trình duyệt web và truy cập tên miền cài đặt GLPI của bạn, chẳng hạn như http://glpi.howtoforge.local. Nếu cài đặt thành công, bạn sẽ thấy trang cài đặt GLPI như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22269%22%3E%3C/svg%3E

Bảo mật GLPI bằng Chứng chỉ SSL/TLS​

Lúc này, bạn gần như đã sẵn sàng để hoàn tất cài đặt GLPI. Bây giờ, bạn sẽ bảo mật GLPI bằng cách tạo chứng chỉ SSL/TLS từ Letsencrypt thông qua công cụ Certbot và plugin Certbot Apache.

Chạy lệnh apt sau để cài đặt Certbot và plugin Certbot Apache. Nhập y để xác nhận và tiếp tục cài đặt.
Mã:
sudo apt install certbot python3-certbot-apache

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22731%22%20height=%22392%22%3E%3C/svg%3E


Sau khi Certbot được cài đặt, hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS mới cho cài đặt GLPI của bạn. Hãy chắc chắn thay đổi tên miền và địa chỉ email trong lệnh sau.
Mã:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d glpi.example.io
Bây giờ chứng chỉ SSl/TLS của bạn sẽ có sẵn tại thư mục /etc/letsencrypt/live/domain.com. Ngoài ra, cấu hình máy chủ ảo glpi.conf của bạn hiện được định cấu hình bằng HTTPS, được định cấu hình thông qua plugin Certbot Apache2.

Cài đặt GLPI thông qua Trình cài đặt web​

Khởi chạy trình duyệt web của bạn và truy cập tên miền cài đặt GLPI của bạn, chẳng hạn như http://glpi.howtoforge.local/. Bây giờ bạn sẽ được chuyển hướng đến kết nối HTTPS an toàn và bạn sẽ nhận được trang cài đặt GLPI.

Đầu tiên, hãy chọn ngôn ngữ bạn muốn và nhấp vào OK.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22240%22%3E%3C/svg%3E


Chấp nhận Giấy phép GLPI và nhấp vào Tiếp tục để tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22491%22%3E%3C/svg%3E


Nhấp vào Cài đặt để bắt đầu cài đặt GLPI.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22291%22%3E%3C/svg%3E


Xác nhận rằng môi trường máy chủ của bạn đáp ứng các yêu cầu kiểm tra GLPI, sau đó nhấp vào Tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22684%22%3E%3C/svg%3E


Nhập thông tin chi tiết về người dùng MariaDB mà bạn đã tạo cho cài đặt GLPI của mình và nhấp vào Tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22454%22%3E%3C/svg%3E


Chọn cơ sở dữ liệu glpidbTiếp tục một lần nữa.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22505%22%3E%3C/svg%3E


Cơ sở dữ liệu GLPI sẽ được khởi tạo, hãy nhấp vào Tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22276%22%3E%3C/svg%3E


Cấu hình phần Thu thập dữ liệu với các thiết lập ưa thích của bạn, sau đó nhấp vào Tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22650%22%3E%3C/svg%3E


Chọn Tiếp tục để chuyển đến phần tiếp theo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22443%22%3E%3C/svg%3E


Cuối cùng, bạn sẽ thấy một số người dùng GLPI mặc định được tạo, chẳng hạn như với glpi/glpi là quản trị viên, tech/tech cho tài khoản technican, normal/normal cho tài khoản normal, post-only/postonly cho tài khoản postonly.

Nhấp vào Sử dụng GLPI để hoàn tất cài đặt.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22393%22%3E%3C/svg%3E


Bây giờ bạn sẽ nhận được trang đăng nhập GLPI. Nhập người dùng mặc định glpi với mật khẩu glpi, sau đó nhấp vào Đăng nhập.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22529%22%3E%3C/svg%3E


Sau khi đăng nhập, bạn sẽ nhận được bảng điều khiển quản trị GLPI như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22493%22%3E%3C/svg%3E


Bạn cũng sẽ được yêu cầu thay đổi mật khẩu mặc định cho người dùng glpi. Nhập mật khẩu quản trị viên glpi mới và nhấp vào Lưu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22383%22%3E%3C/svg%3E


Cuối cùng, quay lại máy chủ đầu cuối của bạn và chạy lệnh sau để xóa tập lệnh cài đặt.
Mã:
sudo rm /var/www/glpi/public/install/install.php

Kết luận​

Để kết thúc up, bạn đã cài đặt GLPI Inventory Management với LAMP Stack (Apache2, MariaDB và PHP) trên máy chủ Debian 12. Bạn cũng đã bảo mật GLPI bằng chứng chỉ SSL/TLS được tạo từ Letsencrypt thông qua Certbot và plugin Certbot Apache. Bây giờ bạn có thể khám phá các khả năng rộng lớn của GLPI như quản lý hàng tồn kho, quản lý cơ sở hạ tầng trung tâm dữ liệu (DCIM) và nhiều khả năng khác.
 
Back
Bên trên