監視ソリューション · 4 min read · Nov 16, 2025

Rocky LinuxにLibreNMS監視ソリューションをインストールする方法

LibreNMSは、SNMP、ARP、OSPF、BGPなどの複数のプロトコルによる自動検出をサポートする監視ツールです。オペレーティングシステムを監視するには、Linux、Windows、BSDなどのほとんどのOSで利用可能なSNMPプロトコルを使用できます。

SNMPプロトコルには、コミュニティパスワードのみで保護されているv1およびv2の3つのバージョンと、認証と暗号化のためのパスワードをサポートするv3があります。本番環境では、v2およびv1よりも安全なSNMPプロトコルv3の使用が推奨されます。

このガイドでは、Rocky LinuxサーバーにLibreNMS監視ツールをインストールする方法を学びます。このガイドには、LEMPスタック(Nginx、MariaDB、PHP-FPM)のインストールとSNMPサービスの基本設定が含まれています。

最後まで進むと、プロダクション準備が整った監視ソリューションLibreNMSが得られ、新しいホストやサーバー、デバイスを追加してLibreNMSを監視できます。

前提条件

このガイドを完了するには、以下の要件が必要です:

  • Rocky Linuxサーバー - この例ではRocky Linux 8を使用します。
  • sudo root/管理者権限を持つ非rootユーザー。
  • ローカルデプロイメント用のローカルドメイン名。

リポジトリの設定

パッケージのインストールを開始する前に、Rocky Linuxシステムにリポジトリを設定します。EPELリポジトリ(Enterprise Linux用の追加パッケージ)とPHP Remiリポジトリを追加する必要があります。

次のdnfコマンドを実行して、EPELリポジトリをシステムに追加します。

sudo dnf install epel-release

確認を求められたらYを入力し、ENTERを押して続行します。

install epel

次に、次のdnfコマンドを実行してPHP Remiリポジトリを追加します。このリポジトリは、LibreNMSのインストールに必要な最新のPHP 8.1を含む複数のPHPバージョンを提供します。

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Yを入力してENTERを押して続行します。

add remi repo

EPELおよびRemiリポジトリが追加されたら、以下のdnfコマンドを使用して確認します。

sudo dnf repolist

EPELおよびRemiリポジトリが追加され、Rocky Linuxシステムで利用可能であることが表示されるはずです。

パッケージ依存関係のインストール

EPELおよびRemiリポジトリを追加した後、LibreNMSのためのパッケージ依存関係のインストールを開始します。これには、LEMPスタック、SNMPパッケージ、およびいくつかの基本的なPython依存関係が含まれます。

インストールを開始する前に、次のコマンドを実行してPHPリポジトリモジュール ‘remi-8.1‘ を有効にします。LibreNMSの最新バージョンには、少なくともPHP 8が必要です。

sudo dnf reset php  
sudo dnf module enable php:remi-8.1

yを入力して確認し、PHP Remi 8.1リポジトリを有効にします。

reset php modules

次に、次のdnfコマンドを実行してLibreNMSのためのパッケージ依存関係をインストールします。インストールの確認を求められたらyを入力し、ENTERを押して続行し、インストールが開始されます。

sudo dnf install bash-completion cronie fping git ImageMagick mariadb-server mtr net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-devel python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip

install dependencies

依存関係がインストールされたら、次のコマンドを実行してNginx、MariaDB、PHP-FPM、snmpdなどのいくつかのサービスを開始し、有効にします。

sudo systemctl enable nginx php-fpm mariadb snmpd  
sudo systemctl start nginx php-fpm mariadb snmpd

この時点で、基本的なサービスNginx、MariaDB、PHP-FPM、およびsnmpdはシステム起動時に自動的に開始されます。そして、すべてのサービスが実行中です。

start enable services

Firewalldの設定

この例では、firewalldが有効なRocky Linuxを使用しています。これから、firewalldにHTTPおよびHTTPSプロトコルの両方を追加します。

次のfirewall-cmdコマンドを実行して、firewalldにHTTPおよびHTTPSサービスを追加します。新しいルールが追加されたことを示すメッセージ ‘success‘ が表示されるはずです。

sudo firewall-cmd --permanent --zone public --add-service http  
sudo firewall-cmd --permanent --zone public --add-service https

次に、firewalldを再読み込みして新しい変更を適用します。その後、次のコマンドを使用してfirewalldの状態を確認します。

sudo firewall-cmd --reload  
sudo firewall-cmd --list-all

HTTPおよびHTTPSプロトコルがfirewalldに追加されたことを示す出力が表示されます。

setup firewalld

LibreNMSソースコードのダウンロード

このステップでは、GitHubからLibreNMSのソースコードをダウンロードします。しかしその前に、LibreNMSアプリケーションを実行するために使用される新しい専用ユーザー ‘librenms‘ を作成します。

次のコマンドを実行して新しいシステムユーザー ‘librenms’ を作成します。このユーザーはLibreNMSアプリケーションを実行するために使用されます。

sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

作業ディレクトリを ‘/opt’ に移動し、以下のgitコマンドを使用してLibreNMSのソースコードをダウンロードします。これで新しいディレクトリ ‘/opt/librenms‘ が作成され、LibreNMSのインストールディレクトリとして使用されます。

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

download librenms

LibreNMSインストールディレクトリ ‘/opt/librenms‘ の所有権と権限を変更します。インストールの所有権は ‘librenms’ ユーザーである必要があり、771の権限はユーザーがディレクトリを読み書きおよび実行できることを許可します。

sudo chown -R librenms:librenms /opt/librenms  
sudo chmod 771 /opt/librenms

最後に、LibreNMSのいくつかのディレクトリに対してアクセス制御リストを設定するために次のコマンドを実行します。これにより、グループ ‘librenms‘ に特定のLibreNMSディレクトリでの読み書きおよび実行が許可されます。

sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/  
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

LibreNMSのためのPHP依存関係のインストール

LibreNMSのソースコードをダウンロードし、正しい権限を設定した後、LibreNMSのためのPHP依存関係をインストールします。

次のコマンドを使用して、‘librenms’ ユーザーとしてログインします。

su - librenms

次に、以下のインストーラスクリプトを使用してPHP依存関係をインストールします。

./scripts/composer_wrapper.php install --no-dev

LibreNMSに必要なPHP依存関係のインストールが表示されます。また、LibreNMSのためのPythonパッケージのインストールも表示されます。

install dependencies

PHP依存関係のインストールが完了したら、‘Ctrl+d ‘を押すか、’ exit ‘コマンドを入力して、ユーザー ‘ librenms ‘ からログアウトできます。

PHP-FPMの設定

このステップでは、LibreNMSのためのPHP-FPMインストールを設定します。デフォルトの設定 ‘/etc/php.ini‘ を変更し、LibreNMSのための特定のPHP-FPMプールを設定します。

次のコマンドを実行して、Rocky Linuxシステムの正しいタイムゾーンを設定します。

sudo timedatectl set-timezone Europe/Stockholm

次に、以下のnanoエディタを使用してPHP設定 ‘/etc/php.ini‘ を編集します。

sudo nano /etc/php.ini

‘date.timezone’ オプションのコメントを解除し、現在のサーバーのタイムゾーンに値を変更します。

date.timezone = Europe/Stockholm

ファイルを保存し、完了したらエディタを閉じます。

次に、デフォルトのPHP-FPMプール設定 ‘ www.conf ‘ を ‘ librenms.conf ‘ にコピーします。この例では、LibreNMS監視ツールのための特定のPHP-FPMプールを設定します。

cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf

次に、以下のnanoエディタを使用してPHP-FPMプール設定 ‘/etc/php-fpm.d/librenms.conf‘ を編集します。

sudo nano /etc/php-fpm.d/librenms.conf

デフォルトのプール名を ‘ [www] ‘ から ‘ [librenms] ‘ に変更します。

[librenms]

デフォルトのユーザーとグループを ‘ librenms ‘ に変更します。これにより、PHP-FPMプロセスがユーザーおよびグループ ‘ librenms ‘ として実行されます。

user = librenms  
group = librenms

最後に、リッスンオプションを ‘/run/php-fpm-librenms.sock’ に変更します。これにより、PHP-FPM librenmsプールのためのsockファイルが指定されます。

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

ファイルを保存し、完了したらエディタを終了します。

次に、以下のsystemctlコマンドを実行してPHP-FPMサービスを再起動し、新しい変更を適用します。

sudo systemctl restart php-fpm

setup php-fpm

MariaDBサーバーの設定

PHP-FPMを設定した後、MariaDBデータベースサーバーを設定し、LibreNMS用の新しいデータベースとユーザーを作成します。

LibreNMSにはInnoDBが有効なMariaDBデータベースサーバーが必要です。したがって、これを有効にする必要があります。その後、LibreNMS用の新しいデータベースとユーザーを作成します。

以下のnanoエディタを使用してMariaDBサーバー設定 ‘/etc/my.cnf.d/mariadb-server.cnf’ を編集します。

sudo nano /etc/my.cnf.d/mariadb-server.cnf

以下の設定を ‘[mysqld]‘ セクションの下に追加します。

[mysqld]  
....  
innodb_file_per_table=1  
lower_case_table_names=0

ファイルを保存し、完了したらエディタを閉じます。

次に、以下のsystemctlコマンドを実行してMariaDBサービスを再起動し、新しい変更を適用します。MariaDBサーバーは、InnoDBデータベースエンジンが有効になって実行されています。

sudo systemctl restart mariadb

次に、以下のmysqlコマンドを使用してMariaDBシェルにログインします。パスワードを求められたら、ENTERを押すか、MariaDBのrootパスワードを入力します。

sudo mysql -u root -p

次のクエリを実行して、LibreNMS用の新しいデータベースとユーザーを作成します。この例では、新しいデータベースとユーザー ‘ librenms ‘ を作成し、データベースパスワードを自分のパスワードに変更してください。

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';  
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';  
FLUSH PRIVILEGES;

create database and user

次に、以下のクエリを実行してデータベースユーザー ‘ librenms@localhost ‘ の権限を確認します。

SHOW GRANTS FOR librenms@localhost;

ユーザー ‘ librenms’@localhost’ がデータベース ‘ librenms ‘ に対する権限を持っていることが表示されるはずです。

check privileges

今、MariaDBシェルからログアウトするには ‘ exit ‘ と入力します。

Nginxサーバーブロックの設定

MariaDBサーバーを設定し、データベースとユーザーを作成した後、LibreNMS用の新しいNginxサーバーブロック設定を作成します。

始める前に、LibreNMSに使用するローカルドメインを決定していることを確認してください。この例では、LibreNMSはドメイン ‘librenms.howtoforge.local‘ で実行される必要があります。

以下のnanoエディタを使用して新しいNginxサーバーブロック設定 ‘/etc/nginx/conf.d/librenms.conf‘ を作成します。

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

以下の設定をファイルに追加し、ドメイン名を自分のドメインに変更してください。

server {  
    listen      80;  
    server_name librenms.howtoforge.local;  
    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設定を確認し、設定が正しいことを確認します。

sudo nginx -t

Nginx設定が正しい場合、’ test successful - Syntax OK ‘ のような出力メッセージが表示されます。

新しいサーバーブロック設定を適用するためにNginxサービスを再起動します。

sudo systemctl restart nginx

setup nginx

この時点で、LibreNMSのためのLEMPスタック(Nginx、MariaDBデータベース、PHP-FPM)の設定が完了しました。また、LibreNMSは現在Rocky Linuxシステムで実行されているはずです。

SELinuxの設定

このガイドでは、SELinuxを強制モードで有効にした状態でLibreNMSを実行します。したがって、LibreNMSのためのSELinuxルールを設定します。

まず、以下のdnfコマンドを実行して、Rocky Linuxシステムにパッケージ ‘ policycoreutils-python-utils ‘ をインストールします。このパッケージは、SELinuxを管理するための複数のコマンドラインを提供します。

sudo dnf install policycoreutils-python-utils

確認を求められたらyを入力し、ENTERを押して続行します。

install SELinux management tool

次に、以下のコマンドを実行してLibreNMSソースコードのラベルを設定します。

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'  
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(rrd|storage)(/.*)?'  
semanage fcontext -a -t httpd_log_t "/opt/librenms/logs(/.*)?"  
semanage fcontext -a -t bin_t '/opt/librenms/librenms-service.py'  
restorecon -RFvv /opt/librenms  
chcon -t httpd_sys_rw_content_t /opt/librenms/.env

setup selinux labelling

次のコマンドを実行して、Nginxウェブサーバーのいくつかのサービスへのアクセスを許可します。

setsebool -P httpd_can_sendmail=1  
setsebool -P httpd_execmem 1

次に、以下のnanoエディタを使用して新しいファイル ‘http_fping.tt’ を作成します。

nano http_fping.tt

以下の設定をファイルに追加します。

module http_fping 1.0;  
  
require {  
type httpd_t;  
class capability net_raw;  
class rawip_socket { getopt create setopt write read };  
}  
  
#============= httpd_t ==============  
allow httpd_t self:capability net_raw;  
allow httpd_t self:rawip_socket { getopt create setopt write read };

ファイルを保存し、完了したらエディタを終了します。

次に、以下のコマンドを実行して ‘ http_fping.tt ‘ をSELinux用の形式に変換します。そして、新しくコンパイルされたルールをSELinuxに追加します。

checkmodule -M -m -o http_fping.mod http_fping.tt  
semodule_package -o http_fping.pp -m http_fping.mod  
semodule -i http_fping.pp

setup selinux

これでLibreNMSのためのSELinux設定が完了しました。次に、LibreNMSのためのいくつかの追加設定を行います。

LibreNMS設定の仕上げ

LibreNMSの設定を仕上げるために、’ lnms ‘ コマンドラインを設定し、cronおよびlogrotateのためのいくつかのデフォルト設定をコピーします。また、LibreNMSのためのSNMPサービスを設定します。

以下のコマンドを実行して、’ lnms ‘ コマンドラインを有効にし、’ lnms ‘ コマンドのbash補完をコピーします。

ln -s /opt/librenms/lnms /usr/bin/lnms  
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

LibreNMSのcronの例設定を ‘ /etc/cron.d/librenms ‘ にコピーします。

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

LibreNMSのデフォルトのlogrotate設定を ‘/etc/logrotate.d/librenms ‘ にコピーします。

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

finishing librenms

次に、デフォルトのsnmpdサービス設定を ‘/etc/snmp/snmpd.conf’ にコピーします。その後、新しいファイル ‘/etc/snmp/snmpd.conf’ をnanoエディタで編集します。

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf  
sudo nano /etc/snmp/snmpd.conf

snmpdサービスのデフォルトのコミュニティパスワード ‘ RANDOMSTRINGGOESHERE ‘ を自分のパスワードに変更します。

# Change RANDOMSTRINGGOESHERE to your preferred SNMP community string  
com2sec readonly  default         RANDOMSTRINGGOESHERE

ファイルを保存し、完了したらエディタを終了します。

次に、LibreNMSが各ターゲットホストのオペレーティングシステムを自動的に検出するために使用されるバイナリファイルをダウンロードします。そして、デフォルトの権限を変更して実行可能にします。

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro  
chmod +x /usr/bin/distro

最後に、snmpdサービスを再起動して新しい変更と新しい設定を適用します。

systemctl restart snmpd

すべての基本設定が完了しました。次に、ウェブブラウザを介してLibreNMSのインストールを開始します。

LibreNMSウェブインストールへのアクセス

ローカルマシンで、 ‘/etc/hosts’ ファイルを編集し、LibreNMSインストールのローカルドメイン名を定義します。また、サーバーのIPアドレスを変更することを忘れないでください。

192.168.5.100   librenms.howtoforge.local

ウェブブラウザを開き、LibreNMSインストールのドメイン名(例:http://librenms.howtoforge.local/)にアクセスします。

最初に、LibreNMSインストーラーがインストールのための環境をチェックします。すべての要件が緑色にマークされていることを確認してください。これは、システムがLibreNMSのインストールの準備が整っていることを意味します。

データベースアイコンをクリックして続行します。

pre install setup database

次に、LibreNMS用のデータベースとユーザーの詳細を入力し、’ Check Credentials ‘ をクリックします。データベースの資格情報が正しければ、そのセクションは緑色にマークされます。

check database

次に、’ Build Database ‘ をクリックしてLibreNMSのためのデータベース移行を開始します。

build database

データベース移行が完了すると、’ Build Database ‘ セクションが緑色にマークされます。

鍵のアイコンをクリックして、LibreNMSの管理ユーザーの設定を開始します。

build database

新しい管理ユーザー、パスワード、およびメールアドレスを入力し、’ Add User ‘ をクリックします。

setup user

インストールが完了すると、次のページが表示されます。インストールが完了し、設定が ‘.env‘ ファイルに書き込まれたことが確認できます。

installation completes

次に、’ validate your install ‘ リンクをクリックしてLibreNMSインストールを確認します。

LibreNMSのログインページにリダイレクトされるはずです。管理ユーザーとパスワードを入力し、’ Login ‘ をクリックします。

login librenms

すべての設定が ‘ OK ‘ とマークされていることを確認してください。これは、設定にエラーがないことを意味します。

LibreNMSが推奨する指示に従って、すべてのエラーや警告を修正することもできます。

validate instakllation librenms

新しいターゲットホスト、仮想マシン、またはネットワークデバイスを追加して、LibreNMS監視ソリューションを監視できます。

結論

おめでとうございます!Rocky LinuxサーバーにLibreNMS監視ソリューションをインストールしました。また、Rocky Linux上でのLEMPスタック(Nginx、MariaDB、PHP-FPM)の基本設定についても学びました。

ここから、ホストやターゲットマシンを追加して監視したり、LibreNMSエージェントを設定したり、アラートや通知を設定したり、Graylogとのサードパーティ統合を設定したり、その他のタスクを行うことができます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。