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.
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:
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
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:
Thêm các dòng sau vào phần [mysqld]:
Lưu và đóng tệp, sau đó khởi động lại MariaDB để áp dụng các thay đổi:
Tiếp theo, hãy đăng nhập vào MariaDB bằng lệnh sau:
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng cho LibreNMS:
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:
Cuối cùng, xóa các quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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:
Thay đổi dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, thêm người dùng LibreNMS vào nhóm www-data bằng lệnh sau:
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:
Tiếp theo, thiết lập quyền sở hữu và quyền cho thư mục LibreNMS:
Tiếp theo, đổi tên người dùng thành LibreNMS bằng lệnh sau:
Tiếp theo, cài đặt trình soạn thảo PHP bằng lệnh sau:
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:
Tiếp theo, thoát khỏi người dùng LibreNMS bằng lệnh bên dưới:
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:
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:
Đổi [www-data] thành [librenms] và cũng cập nhật socket lắng nghe:
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:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
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:
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Cuối cùng, khởi động lại Nginx để áp dụng các thay đổi.
Bạn cũng có thể xác minh trạng thái Nginx bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
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.
Tiếp theo, sao chép tệp cấu hình logrotate để xoay vòng các bản ghi cũ.
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Đả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:
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
Mã:
mysql_secure_installation
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
Mã:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Mã:
innodb_file_per_table=1lower_case_table_names=0
Mã:
systemctl restart mariadb
Mã:
mysql -u root -p
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';
Mã:
MariaDB [(none)]> CẤP TẤT CẢ CÁC QUYỀN TRÊN librenms.* CHO 'librenms'@'localhost';
Mã:
MariaDB [(none)]> XẢ CÁC QUYỀN;
MariaDB [(none)]> EXIT;
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
Mã:
nano /etc/php/7.4/fpm/php.ini
Mã:
date.timezone = UTC
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
Mã:
usermod -a -G librenms www-data
Mã:
git clone https://github.com/librenms/librenms.git /opt/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/
Mã:
su - librenms
Mã:
cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev
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
Mã:
exit
Mã:
cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
Mã:
nano /etc/php/7.4/fpm/pool.d/librenms.conf
Mã:
user = librenmsgroup = librenmslisten = /run/php-fpm-librenms.sock
Mã:
systemctl restart php7.4-fpm
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
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ả; }}
Mã:
nginx -t
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
Mã:
systemctl restart nginx php7.4-fpm
Mã:
systemctl status nginx
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.
Mã:
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Mã:
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
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: