ウェブサイト検索

Debian 11にLibreNMS監視ツールをインストールする方法


Debian 11にLibreNMS監視ツールをインストールする方法

このページで

  1. 前提条件
  2. MariaDBデータベースをインストールして構成する
  3. Nginx、PHP、および必要な依存関係をインストールする
  4. LibreNMSをインストールして設定する
  5. LibreNMSのためにNginxを設定する
  6. LibreNMSウェブインストールウィザードにアクセスする
  7. 結論

LibreNMSは無料のオープンソースで、Webベースの自動発見ネットワーク監視ツールで、PHPで書かれています。MySQLまたはMariaDBをデータベースバックエンドとして使用し、SNMPを使用してリモートクライアントを発見します。Linux、Cisco、Juniper、FreeBSD、HP、Windowsなどを含む幅広いネットワークデバイスをサポートしています。Radius、Active Directory、LDAP、MySQLなど、複数の認証方法をサポートしています。シンプルでユーザーフレンドリーで、誰でも理解しやすく使いやすいです。

このチュートリアルでは、Debian 11 に Nginx と一緒に LibreNMS をインストールする方法を説明します。

前提条件

  • Debian 11を実行しているサーバー。
  • サーバーIPにポイントされた有効なドメイン名。
  • サーバーにルートパスワードが設定されています。

MariaDBデータベースをインストールして構成する

最初に、サーバーにMariaDBデータベースサーバーをインストールする必要があります。次のコマンドを使用してインストールできます:

apt-get install mariadb-server -y

インストールが完了したら、次のスクリプトを実行してMariaDBのインストールを保護し、ルートパスワードを設定します:

mysql_secure_installation

以下のようにすべての質問に答えてください:

Enter current password for root (enter for none): 
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] 
Reload privilege tables now? [Y/n] Y

MariaDBが安全になったら、MariaDBの設定ファイルを編集し、いくつかの設定を調整します。

nano /etc/mysql/mariadb.conf.d/50-server.cnf

[mysqld] セクション内に以下の行を追加してください:

innodb_file_per_table=1
lower_case_table_names=0

ファイルを保存して閉じ、その後MariaDBを再起動して変更を適用します。

systemctl restart mariadb

次に、以下のコマンドでMariaDBにログインします:

mysql -u root -p

ログインしたら、LibreNMS用のデータベースとユーザーを作成します。

MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'securepassword';

次に、以下のコマンドを使用してLibreNMSデータベースにすべての特権を付与します:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';

最後に、次のコマンドを使用して権限をフラッシュし、MariaDBシェルから退出します:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

完了したら、次のステップに進むことができます。

Nginx、PHP、および必要な依存関係をインストールする

次に、Nginxウェブサーバー、PHP、およびLibreNMSに必要なその他の依存関係をインストールする必要があります。次のコマンドを実行することで、すべてをインストールできます:

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

すべてのパッケージがインストールされたら、php.iniファイルを編集して、タイムゾーンを設定してください。

nano /etc/php/7.4/fpm/php.ini

次の行を変更してください:

date.timezone = UTC

作業が完了したら、ファイルを保存して閉じてください。

LibreNMSをインストールして設定する

最初に、次のコマンドを使用してLibreNMS専用のユーザーを作成します:

useradd librenms -d /opt/librenms -M -r -s /bin/bash

次に、以下のコマンドを使用してLibreNMSユーザーをwww-dataグループに追加します:

usermod -a -G librenms www-data

次に、GitHubリポジトリからLibreNMSの最新バージョンを/optディレクトリにダウンロードします:

git clone https://github.com/librenms/librenms.git /opt/librenms

次に、LibreNMSディレクトリの所有権と権限を設定します:

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/

次に、次のコマンドを使用してユーザーをLibreNMSに変更します:

su - librenms

次に、以下のコマンドを使用してPHPコンポーザーをインストールします:

cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev

Composerとその他のPHP依存関係がインストールされると、次の出力が表示されるはずです:

> @php artisan optimize
Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
Routes cached successfully!
Files cached successfully!
> @php artisan config:clear
Configuration cache cleared!
> scripts/dynamic_check_requirements.py || pip3 install --user -r requirements.txt || :
Requirement already satisfied: PyMySQL!=1.0.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 1)) (0.9.3)
Requirement already satisfied: python-dotenv in /usr/lib/python3/dist-packages (from -r requirements.txt (line 2)) (0.15.0)
Requirement already satisfied: redis>=3.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 3)) (3.5.3)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from -r requirements.txt (line 4)) (52.0.0)
Collecting psutil>=5.6.0
  Downloading psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl (293 kB)
Collecting command_runner>=1.3.0
  Downloading command_runner-1.3.0-py3-none-any.whl (17 kB)
Installing collected packages: psutil, command-runner
Successfully installed command-runner-1.3.0 psutil-5.8.0

次に、以下のコマンドを使用してLibreNMSユーザーからログアウトしてください:

exit

次に、PHP-FPM用の別の構成ファイルを作成する必要があります。以下のコマンドで作成できます:

cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

次に、お好きなエディタでlibrenms.conf設定ファイルを編集してください:

nano /etc/php/7.4/fpm/pool.d/librenms.conf

[www-data] を [librenms] に変更し、リスニングソケットも更新します:

user = librenms
group = librenms
listen = /run/php-fpm-librenms.sock

ファイルを保存して閉じた後、構成変更を適用するためにPHP-FPMサービスを再起動してください:

systemctl restart php7.4-fpm

完了したら、次のステップに進むことができます。

LibreNMSのためにNginxを設定する

次に、LibreNMSのためにNginxの仮想ホスト設定ファイルを作成する必要があります。以下のコマンドで作成できます:

nano /etc/nginx/conf.d/librenms.conf

次の行を追加してください:

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;
  }
  location ~ [^/]\.php(/|$) {
   fastcgi_pass unix:/run/php-fpm-librenms.sock;
   fastcgi_split_path_info ^(.+\.php)(/.+)$;
   include fastcgi.conf;
  }
  location ~ /\.(?!well-known).* {
   deny all;
  }
}

ファイルを保存して閉じたら、次のコマンドを使ってNginxに構文エラーがないか確認してください。

nginx -t

すべてが順調であれば、次の出力が得られます:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最後に、変更を適用するためにNginxを再起動してください。

systemctl restart nginx php7.4-fpm

次のコマンドを使用してNginxのステータスを確認することもできます:

systemctl status nginx

次の出力が表示されるはずです:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-12-03 14:39:18 UTC; 18s ago
       Docs: man:nginx(8)
    Process: 39888 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 39892 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 39893 (nginx)
      Tasks: 2 (limit: 2341)
     Memory: 2.7M
        CPU: 42ms
     CGroup: /system.slice/nginx.service
             ??39893 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??39894 nginx: worker process

Dec 03 14:39:18 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 03 14:39:18 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Dec 03 14:39:18 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

次に、cronジョブ構成ファイルをコピーして、新しく追加されたデバイスの自動発見とポーリングを有効にします。

cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

次に、古いログを回転させるためにlogrotate設定ファイルをコピーします。

cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

完了したら、次のステップに進むことができます。

LibreNMSウェブインストールウィザードにアクセスする

この時点で、LibreNMSはインストールされ、Nginxで設定されています。これで、URLhttp://libre.yourdomain.comを使用してLibreNMSのウェブベースのセットアップにアクセスできます。プリインストールチェックページが表示されるはずです。

すべてのチェックが成功したことを確認したら、データベースアイコンをクリックしてください。データベース設定ページが表示されるはずです:

データベース情報を提供し、チェック 認証情報をクリックしてください。次のページが表示されるはずです:

では、管理者ユーザーを設定するために鍵アイコンをクリックしてください:

管理者ユーザー名とパスワードを入力し、追加 ユーザー ボタンをクリックしてください。ユーザーが作成されると、次のページが表示されるはずです:

はいアイコンボタンをクリックしてください。次のページが表示されるはずです:

さて、ウェブブラウザで別のタブを開き、URL https://libre.yourdomain.com/validate を入力してインストールを検証してください。次のページが表示されるはずです:

ログイン ボタンをクリックして、管理者のユーザー名とパスワードを入力してください。次のページが表示されるはずです:

結論

おめでとうございます!あなたはDebian 11にNginxを使ってLibreNMSを正常にインストールしました。これで、LibreNMSにリモートデバイスを追加し、中央の場所からそれらを監視し始めることができます。質問があればお気軽にお尋ねください。

関連記事: