監視ソリューション · 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を押して続行します。

次に、次のdnfコマンドを実行してPHP Remiリポジトリを追加します。このリポジトリは、LibreNMSのインストールに必要な最新のPHP 8.1を含む複数のPHPバージョンを提供します。
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpmYを入力してENTERを押して続行します。

EPELおよびRemiリポジトリが追加されたら、以下のdnfコマンドを使用して確認します。
sudo dnf repolistEPELおよび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.1yを入力して確認し、PHP Remi 8.1リポジトリを有効にします。

次に、次の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
依存関係がインストールされたら、次のコマンドを実行して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はシステム起動時に自動的に開始されます。そして、すべてのサービスが実行中です。

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-allHTTPおよびHTTPSプロトコルが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
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-devLibreNMSに必要なPHP依存関係のインストールが表示されます。また、LibreNMSのためのPythonパッケージのインストールも表示されます。

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
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;
次に、以下のクエリを実行してデータベースユーザー ‘ librenms@localhost ‘ の権限を確認します。
SHOW GRANTS FOR librenms@localhost;ユーザー ‘ librenms’@localhost’ がデータベース ‘ librenms ‘ に対する権限を持っていることが表示されるはずです。

今、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 -tNginx設定が正しい場合、’ test successful - Syntax OK ‘ のような出力メッセージが表示されます。
新しいサーバーブロック設定を適用するためにNginxサービスを再起動します。
sudo systemctl restart 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を押して続行します。

次に、以下のコマンドを実行して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
次のコマンドを実行して、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
これで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/librenmsLibreNMSのデフォルトのlogrotate設定を ‘/etc/logrotate.d/librenms ‘ にコピーします。
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/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.confsnmpdサービスのデフォルトのコミュニティパスワード ‘ 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のインストールの準備が整っていることを意味します。
データベースアイコンをクリックして続行します。

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

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

データベース移行が完了すると、’ Build Database ‘ セクションが緑色にマークされます。
鍵のアイコンをクリックして、LibreNMSの管理ユーザーの設定を開始します。

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

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

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

すべての設定が ‘ OK ‘ とマークされていることを確認してください。これは、設定にエラーがないことを意味します。
LibreNMSが推奨する指示に従って、すべてのエラーや警告を修正することもできます。

新しいターゲットホスト、仮想マシン、またはネットワークデバイスを追加して、LibreNMS監視ソリューションを監視できます。
結論
おめでとうございます!Rocky LinuxサーバーにLibreNMS監視ソリューションをインストールしました。また、Rocky Linux上でのLEMPスタック(Nginx、MariaDB、PHP-FPM)の基本設定についても学びました。
ここから、ホストやターゲットマシンを追加して監視したり、LibreNMSエージェントを設定したり、アラートや通知を設定したり、Graylogとのサードパーティ統合を設定したり、その他のタスクを行うことができます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。