Cách cài đặt công cụ giám sát LibreNMS trên Debian 11

theanh

Administrator
Nhân viên
LibreNMS là một công cụ giám sát mạng miễn phí, mã nguồn mở, dựa trên web và tự động phát hiện được viết bằng PHP. Công cụ này sử dụng MySQL hoặc MariaDB làm cơ sở dữ liệu phụ trợ và sử dụng SNMP để phát hiện các máy khách từ xa. Công cụ này hỗ trợ nhiều thiết bị mạng bao gồm Linux, Cisco, Juniper, FreeBSD, HP, Windows, v.v. Công cụ này hỗ trợ nhiều phương pháp xác thực bao gồm Radius, Active Directory, LDAP, MySQL, v.v. Nó đơn giản, thân thiện với người dùng và dễ hiểu, dễ sử dụng đối với bất kỳ ai.

Trong hướng dẫn này, tôi sẽ giải thích cách cài đặt LibreNMS với Nginx trên Debian 11.

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

  • Một máy chủ đang chạy Debian 11.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ của bạn.

Cài đặt và cấu hình cơ sở dữ liệu MariaDB​

Đầu tiên, bạn sẽ cần cài đặt máy chủ cơ sở dữ liệu MariaDB trên máy chủ của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install mariadb-server -y
Sau khi cài đặt hoàn tất, hãy chạy tập lệnh sau để bảo mật cài đặt MariaDB và đặt mật khẩu gốc:
Mã:
mysql_secure_installation
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không):Chuyển sang xác thực unix_socket [Y/n] nĐổi mật khẩu gốc? [Y/n] YMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [Y/n] YKhông cho phép đăng nhập root từ xa? [Y/n] YXóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n]Tải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Sau khi MariaDB được bảo mật, hãy chỉnh sửa tệp cấu hình MariaDB và điều chỉnh một số cài đặt:
Mã:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Thêm các dòng sau vào phần [mysqld]:
Mã:
innodb_file_per_table=1lower_case_table_names=0
Lưu và đóng tệp, sau đó khởi động lại MariaDB để áp dụng các thay đổi:
Mã:
systemctl restart mariadb
Tiếp theo, hãy đăng nhập vào MariaDB bằng lệnh sau:
Mã:
mysql -u root -p
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng cho LibreNMS:
Mã:
MariaDB [(none)]> TẠO CƠ SỞ DỮ LIỆU librenms BỘ KÝ TỰ utf8mb4 SO SÁNH utf8mb4_unicode_ci;
MariaDB [(none)]> TẠO NGƯỜI DÙNG 'librenms'@'localhost' ĐƯỢC XÁC ĐỊNH BỞI 'securepassword';
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu LibreNMS bằng lệnh bên dưới:
Mã:
MariaDB [(none)]> CẤP TẤT CẢ CÁC QUYỀN TRÊN librenms.* CHO 'librenms'@'localhost';
Cuối cùng, xóa các quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> XẢ CÁC QUYỀN;
MariaDB [(none)]> EXIT;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt Nginx, PHP và các phụ thuộc bắt buộc​

Tiếp theo, bạn sẽ cần cài đặt máy chủ web Nginx, PHP và các phụ thuộc khác theo yêu cầu của LibreNMS. Bạn có thể cài đặt tất cả chúng bằng cách chạy lệnh sau:
Mã:
apt-get install nginx-full nmap php-cli php-curl php-fpm php-gd php-json php-mbstring php-mysql php-snmp php-xml php-zip python3-dotenv python3-pip python3-pymysql python3-redis python3-setuptools python3-systemd rrdtool snmp snmpd whois acl curl composer fping git graphviz imagemagick mtr-tiny
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và đặt múi giờ của bạn:
Mã:
nano /etc/php/7.4/fpm/php.ini
Thay đổi dòng sau:
Mã:
date.timezone = UTC
Lưu và đóng tệp khi bạn hoàn tất.

Cài đặt và Cấu hình LibreNMS​

Đầu tiên, tạo một người dùng chuyên dụng cho LibreNMS bằng lệnh sau:
Mã:
useradd librenms -d /opt/librenms -M -r -s /bin/bash
Tiếp theo, thêm người dùng LibreNMS vào nhóm www-data bằng lệnh sau:
Mã:
usermod -a -G librenms www-data
Tiếp theo, tải xuống phiên bản mới nhất của LibreNMS từ kho lưu trữ GitHub vào thư mục /opt:
Mã:
git clone https://github.com/librenms/librenms.git /opt/librenms
Tiếp theo, thiết lập quyền sở hữu và quyền cho thư mục LibreNMS:
Mã:
chown -R librenms:librenms /opt/librenms
chmod 775 /opt/librenms setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
Tiếp theo, đổi tên người dùng thành LibreNMS bằng lệnh sau:
Mã:
su - librenms
Tiếp theo, cài đặt trình soạn thảo PHP bằng lệnh sau:
Mã:
cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev
Sau khi Composer và các phụ thuộc PHP khác được cài đặt, bạn sẽ thấy kết quả sau:
Mã:
> @php artisan optimizeĐã xóa bộ đệm cấu hình!Đã lưu cấu hình thành công!Đã xóa bộ đệm tuyến đường!Đã lưu các tuyến đường thành công!Đã lưu các tệp thành công!> @php artisan config:clearĐã xóa bộ đệm cấu hình!> scripts/dynamic_check_requirements.py || pip3 install --user -r requirements.txt || :Yêu cầu đã được đáp ứng: PyMySQL!=1.0.0 trong /usr/lib/python3/dist-packages (từ -r requirements.txt (dòng 1)) (0.9.3)Yêu cầu đã được đáp ứng: python-dotenv trong /usr/lib/python3/dist-packages (từ -r requirements.txt (dòng 2)) (0.15.0)Yêu cầu đã được đáp ứng: redis>=3.0 trong /usr/lib/python3/dist-packages (từ -r requirements.txt (dòng 3)) (3.5.3)Yêu cầu đã được đáp ứng: setuptools trong /usr/lib/python3/dist-packages (từ -r requirements.txt (dòng 4)) (52.0.0)Đang thu thập psutil>=5.6.0 Đang tải xuống psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl (293 kB)Đang thu thập command_runner>=1.3.0 Đang tải xuống command_runner-1.3.0-py3-none-any.whl (17 kB)Đang cài đặt các gói đã thu thập: psutil, command-runnerĐã cài đặt thành công command-runner-1.3.0 psutil-5.8.0
Tiếp theo, thoát khỏi người dùng LibreNMS bằng lệnh bên dưới:
Mã:
exit
Tiếp theo, bạn sẽ cần tạo một tệp cấu hình riêng cho PHP-FPM. Bạn có thể tạo nó bằng lệnh sau:
Mã:
cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
Tiếp theo, chỉnh sửa tệp cấu hình librenms.conf bằng trình chỉnh sửa yêu thích của bạn:
Mã:
nano /etc/php/7.4/fpm/pool.d/librenms.conf
Đổi [www-data] thành [librenms] và cũng cập nhật socket lắng nghe:
Mã:
user = librenmsgroup = librenmslisten = /run/php-fpm-librenms.sock
Lưu và đóng tệp, sau đó khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi cấu hình:
Mã:
systemctl restart php7.4-fpm
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Nginx cho LibreNMS​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Nginx cho LibreNMS. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/librenms.conf
Thêm các dòng sau:
Mã:
server { listen 80; server_name libre.yourdomain.com; root /opt/librenms/html; index index.php; charset utf-8; gzip on; gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon; location / { try_files $uri $uri/ /index.php?$query_string; } vị trí ~ [^/]\.php(/|$) { fastcgi_pass unix:/run/php-fpm-librenms.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi.conf; } vị trí ~ /\.(?!well-known).* { từ chối tất cả; }}
Lưu và đóng tệp, sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Cuối cùng, khởi động lại Nginx để áp dụng các thay đổi.
Mã:
systemctl restart nginx php7.4-fpm
Bạn cũng có thể xác minh trạng thái Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ thấy kết quả sau:
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: hoạt động (đang chạy) từ Thứ sáu 2021-12-03 14:39:18 UTC; 18 giây trước Tài liệu: man:nginx(8) Tiến trình: 39888 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Tiến trình: 39892 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 39893 (nginx) Nhiệm vụ: 2 (giới hạn: 2341) Bộ nhớ: 2,7M CPU: 42ms CGroup: /system.slice/nginx.service ??39893 nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on; ??39894 nginx: tiến trình công nhân03/12 14:39:18 debian11 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...03/12 14:39:18 debian11 systemd[1]: nginx.service: Không phân tích được PID từ tệp /run/nginx.pid: Đối số không hợp lệ03/12 14:39:18 debian11 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.
Tiếp theo, sao chép tệp cấu hình tác vụ cron để bật chức năng tự động khám phá và thăm dò các thiết bị mới được thêm vào.
Mã:
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Tiếp theo, sao chép tệp cấu hình logrotate để xoay vòng các bản ghi cũ.
Mã:
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Truy cập Trình hướng dẫn cài đặt web LibreNMS​

Tại thời điểm này, LibreNMS đã được cài đặt và cấu hình bằng Nginx. Bây giờ bạn có thể truy cập thiết lập dựa trên web LibreNMS bằng URL . Bạn sẽ thấy trang kiểm tra trước khi cài đặt:



Đảm bảo tất cả các lần kiểm tra đều thành công, sau đó nhấp vào biểu tượng cơ sở dữ liệu. Bạn sẽ thấy trang cấu hình cơ sở dữ liệu:



Cung cấp thông tin cơ sở dữ liệu của bạn và nhấp vào Kiểm tra Thông tin xác thực. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào biểu tượng key để thiết lập người dùng quản trị:



Cung cấp tên người dùng quản trị, mật khẩu rồi nhấp vào nút Add User. Sau khi người dùng được tạo, bạn sẽ thấy trang sau:



Nhấp vào nút Yes. Bạn sẽ thấy trang sau:



Bây giờ, hãy mở một tab khác trong trình duyệt web của bạn và nhập URL https://libre.yourdomain.com/validateđể xác thực cài đặt. Bạn sẽ thấy trang sau:



Cung cấp tên người dùng quản trị, mật khẩu rồi nhấp vào nút Login. Bạn sẽ thấy trang sau:


Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công LibreNMS với Nginx trên Debian 11. Bây giờ bạn có thể bắt đầu thêm các thiết bị từ xa vào LibreNMS và bắt đầu giám sát chúng từ vị trí trung tâm. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên