監視ツール · 3 min read · Nov 06, 2025
AlmaLinux 9にLibreNMS監視ツールをインストールする方法

LibreNMSは、SNMP、ARP、OSPF、BGPなどの複数のプロトコルによる自動検出をサポートする監視ツールです。オペレーティングシステムを監視するには、Linux、Windows、BSDなどのほとんどのOSで利用可能なSNMPプロトコルを使用できます。
SNMPプロトコルには、コミュニティパスワードのみで保護されているv1およびv2の3つのバージョンと、認証と暗号化のためのパスワードをサポートするv3があります。本番環境では、v2およびv1よりも安全なSNMPプロトコルv3の使用が推奨されます。
このガイドでは、AlmaLinux 9サーバーにLibreNMS監視ツールをインストールする方法を示します。LibreNMSは、PHP-FPM、Nginxウェブサーバー、およびMariaDBデータベースで実行します。
前提条件
このガイドを完了するには、以下が必要です:
- AlmaLinux 9サーバー - このデモでは、ホスト名がalmalinux9のサーバーを使用します。
- sudo/root権限を持つ非rootユーザー。
依存関係のインストール
まず、EPELおよびRemiリポジトリをシステムに追加します。次に、LibreNMSのパッケージ依存関係をインストールします。
次のdnfコマンドを実行して、EPELリポジトリとPHP Remiリポジトリをシステムに追加します。
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm依存関係の一部はEPELリポジトリにあるため、EPELをシステムに追加する必要があります。

PHP Remiリポジトリは、PHP-FPMパッケージのインストールに使用されます。

次に、以下のコマンドを実行して、PHPのデフォルトリポジトリモジュールをリセットします。次に、LibreNMSに必要なPHPバージョン8.1のためにPHP Remiリポジトリを有効にします。
sudo dnf module reset php
sudo dnf module enable php:remi-8.1
次に、以下のdnfコマンドを実行して、LibreNMSのパッケージ依存関係をインストールします。これには、PHP-FPM、Nginxウェブサーバー、MariaDBサーバー、いくつかのPython3パッケージ、およびrrdtool、unzip、ImageMagick、git、fpingなどのシステムユーティリティが含まれます。
sudo dnf install -y 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-redis python3-memcached python3-pip python3-systemd rrdtool unzipインストールが完了したら、次のステップに進みます。

システムユーザーの作成
このセクションでは、LibreNMSを実行するために使用される新しいシステムユーザーlibrenmsを作成します。
以下のコマンドを実行して、新しいユーザーlibrenmsを作成します。
sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"詳細なオプション:
- -d /opt/librenms: 新しいユーザーのホームディレクトリを/opt/librenmsに指定します。
- -M: 新しいユーザーのためにホームディレクトリを作成しません。
- -r: 新しいユーザーをシステムユーザーとして定義します。
- -s “$(which bash)”: 新しいユーザーのシェルをbashに指定します。
PHP-FPMの設定
次のセクションでは、LibreNMSのためにPHP-FPMを設定します。システムの適切なタイムゾーンを設定し、LibreNMSで使用される特定のPHP-FPMプールを追加します。
まず、以下のコマンドを実行して、サーバーのタイムゾーンを設定します。
sudo timedatectl set-timezone Europe/Stockholm
sudo ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime
次に、以下のnanoエディタを使用してファイル/etc/php.iniを開きます。
sudo nano /etc/php.inidate.timezoneパラメータのコメントを外し、次のように適切なタイムゾーンに値を変更します。
date.timezone=Europe/Stockholm完了したら、ファイルを保存して終了します。
次に、以下のコマンドを実行して、デフォルトのPHP-FPMプール設定を/etc/php-fpm.d/librenms.confにコピーし、nanoエディタを使用して開きます。
sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf
sudo nano /etc/php-fpm.d/librenms.confPHP-FPMプール名をwwwからlibrenmsに変更します。
[librenms]デフォルトのユーザーとグループをlibrenmsに変更します。
user = librenms
group = librenms新しいPHP-FPMプールのデフォルトソケットファイルを/run/php-fpm/librenms.sockに変更します。
listen = /run/php-fpm/librenms.sock完了したら、ファイルを保存してエディタを終了します。
次に、以下のコマンドを実行してPHP-FPMサービスを開始し、有効にします。
sudo systemctl start php-fpm
sudo systemctl enable php-fpm次に、以下のコマンドを使用してPHP-FPMサービスを確認し、サービスが実行中であることを確認します。
sudo systemctl status php-fpm実行中の場合、ターミナルに次の出力が表示されます:

さらに、以下のコマンドを使用してLibreNMSのためのPHP-FPMソケットファイルを確認することもできます。
ss -pl | grep php-fpm構成が成功していれば、PHP-FPMソケットファイル/run/php-fpm/librenms.sockが利用可能であることがわかります。
MariaDBサーバーの設定
PHP-FPMの設定が完了したら、MariaDBサーバーの設定を行います。MariaDBサーバーに追加の設定を加え、mariadb-secure-installationユーティリティを使用してMariaDBを保護します。
以下のnanoエディタを使用して、デフォルトのMariaDBサーバー設定/etc/my.cnf.d/mariadb-server.cnfを開きます。
sudo nano /etc/my.cnf.d/mariadb-server.cnf‘[mysqld]‘セクションの下に次の設定を挿入します。
innodb_file_per_table=1
lower_case_table_names=0完了したら、ファイルを保存してエディタを終了します。
次に、以下のコマンドを実行してMariaDBサービスを開始し、有効にします。
sudo systemctl start mariadb
sudo systemctl enable mariadb次に、以下のコマンドを実行してMariaDBサーバーのインストールを保護します。
sudo mariadb-secure-installation以下の設定について質問されます:
- MariaDBのrootユーザーの認証方法をunix_socketに変更します。nを入力していいえを選択します。
- MariaDBのrootパスワードを設定します。yを入力して確認し、新しいMariaDBのrootパスワードを入力して繰り返します。
- MariaDBのrootユーザーのリモートログインを無効にします。yを入力して確認します。
- MariaDBからデフォルトデータベースtestを削除します。yを入力して確認します。
- MariaDBから匿名ユーザーを削除します。yを入力して確認します。
- 最後に、変更を適用するためにテーブル権限を再読み込みするためにyを再度入力します。
LibreNMS用のMariaDBデータベースとユーザーの作成
MariaDBサーバーの設定が完了したら、次にLibreNMSで使用される新しいデータベースとユーザーを作成します。
以下のコマンドを使用してMariaDBサーバーにログインします。
sudo mariadb -u root -p以下のクエリを実行して、LibreNMS用の新しいデータベースとユーザーを作成します。このデモでは、パスワードlibrenmspasswordを持つ新しいデータベースとユーザーlibrenmsを作成します。また、LibreNMSデータベースのデフォルト文字がutf8mb4であることを確認する必要があります。
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'librenmspassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
次に、以下のクエリを実行して新しいユーザーlibrenmsの権限を確認し、exitと入力してMariaDBから退出します。
SHOW GRANTS FOR 'librenms'@'localhost';
exit表示された出力は、ユーザーlibrenmsがデータベースlibrenmsにアクセスできることを示しています。

LibreNMSのダウンロードとインストール
このセクションでは、LibreNMSのソースコードをダウンロードし、適切な所有権と権限を設定し、ソースコードに含まれるcomposer_wrapperスクリプトを介してPHP依存関係をインストールします。
以下のgitコマンドを実行して、LibreNMSのソースコードを/opt/librenmsディレクトリにダウンロードします。
git clone https://github.com/librenms/librenms.git /opt/librenms次に、/opt/librenmsディレクトリの所有権をユーザーlibrenmsに変更し、権限を771に変更します。
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/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ユーザーとしてログインします。ディレクトリは/opt/librenmsにいるはずです。
su - librenms
pwd以下のコマンドを実行して、LibreNMSのPHP依存関係をインストールします。インストールが完了したら、exitと入力してlibrenmsユーザーからログアウトします。
./scripts/composer_wrapper.php install --no-dev
exit
SELinuxの設定
AlmaLinux 9サーバーでSELinuxが有効で強制モードの場合、LibreNMSのために設定する必要があります。このセクションでは、policycoreutils-python-utilsパッケージをインストールして、LibreNMSのためにSELinuxを設定します。
以下のコマンドを実行して、policycoreutils-python-utilsパッケージをインストールします。
sudo dnf install -y policycoreutils-python-utils次に、以下のコマンドを実行して、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
setsebool -P httpd_can_sendmail=1
setsebool -P httpd_execmem 1
chcon -t httpd_sys_rw_content_t /opt/librenms/.env次に、以下のnanoエディタコマンドを使用して新しいファイルhttp_fping.ttを作成します。
sudo nano http_fping.ttファイルに次の設定を挿入します。これにより、SELinux経由でfpingコマンドが許可されます。
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に追加します。
checkmodule -M -m -o http_fping.mod http_fping.tt
semodule_package -o http_fping.pp -m http_fping.mod
semodule -i http_fping.ppFirewalldの設定
SELinuxの設定が完了したら、HTTPおよびHTTPSプロトコルを開くためにfirewalldを設定します。
以下のfirewall-cmdコマンドを実行してHTTPおよびHTTPSポートを開き、次にfirewalldを再読み込みして変更を適用します。
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload次に、以下のコマンドを使用してfirewalldルールのリストを確認します。成功した場合、ルールリストにHTTPおよびHTTPSプロトコルの両方が表示されるはずです。
sudo firewall-cmd --list-all
SNMPサービスの設定
SNMPまたはSimple Network Management Protocolは、モデム、スイッチ、ルーターなどのネットワークデバイスによって最も広く使用されるプロトコルです。このセクションでは、ネットワーキングデバイスを監視するために使用されるLibreNMSインストールでsnmpdサービスを設定します。
デフォルトのSNMP設定を/etc/snmp/snmpd.confにコピーし、以下のnanoエディタコマンドを使用して開きます。
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo nano /etc/snmp/snmpd.confデフォルトのSNMPパスワードRANDOMSTRINGGOESHEREを新しいパスワードに変更します。
# Change RANDOMSTRINGGOESHERE to your preferred SNMP community string
com2sec readonly default RANDOMSTRINGGOESHERE完了したら、ファイルを保存してエディタを閉じます。
次に、LinuxおよびUNIX OSを検出するためのLibreNMSエージェントツールのバイナリファイルをダウンロードし、実行可能にします。
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
次に、以下のコマンドを使用してsnmpdサービスを開始し、有効にします。
sudo systemctl start snmpd
sudo systemctl enable snmpd最後に、以下のsystemctlコマンドを使用してsnmpdサービスを確認します。
sudo systemctl status snmpdsnmpdサービスが実行中の場合、出力は’ active (running) ‘のようになります。

LibreNMSの追加設定
次のセクションは、LibreNMSの追加設定です。以下の設定を行います:
- LibreNMSのバイナリコマンド’lnms’とそのbash_completionを設定します。
- LibreNMSポーリングのためにcronを設定します。
- systemdタイマーを介してLibreNMSスケジューラを設定します。
- LibreNMSログのためにlogrotateを設定します。
まず、LibreNMSコマンドラインlnmsのシンボリックリンクを/usr/bin/lnmsに作成します。次に、lnmsコマンドのbash補完を/etc/bash_completion.d/ディレクトリにコピーします。
sudo ln -s /opt/librenms/lnms /usr/bin/lnms
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/次に、librenmsユーザーとしてログインし、lnmsコマンドを実行し、TABを押してlnmsコマンドの利用可能なパラメータのリストを取得します。
su - librenms
lnms TABターミナルにこのような出力が表示されます。

次に、以下のコマンドを実行してLibreNMSのcron設定を/etc/cron.d/librenmsにコピーします。
cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms次に、以下のコマンドを使用してLibreNMSのlogrotate設定をコピーします。
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenmsその後、LibreNMSスケジューラサービスとタイマーを/etc/systemd/system/ディレクトリにコピーし、systemdマネージャーを再読み込みして変更を適用します。
sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
sudo systemctl daemon-reload最後に、LibreNMSスケジューラサービスを開始し、有効にします。
sudo systemctl enable librenms-scheduler.timer
sudo systemctl start librenms-scheduler.timer
Nginxの設定
すべての設定が完了したので、LibreNMSのためにNginxサーバーブロックを設定します。
新しいNginxサーバーブロック設定/etc/nginx/conf.d/librenms.confを以下のnanoエディタコマンドを使用して作成します。
sudo nano /etc/nginx/conf.d/librenms.conf次の設定を挿入し、server_nameオプションのドメイン名を変更してください。
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の設定を確認します。成功した場合、出力は’ test is successful - syntax is ok ‘のようになります。
sudo nginx -t次に、以下のコマンドを使用してNginxサービスを開始し、有効にします。
sudo systemctl start nginx
sudo systemctl enable nginx
次に、以下のコマンドを入力してNginxサービスの状態を確認し、サービスが実行中であることを確認します。
sudo systemctl status nginx成功した場合、次の出力が表示されます:

ウェブブラウザを介したLibreNMSのインストール
Nginxサーバーブロック設定を作成した後、ウェブブラウザからLibreNMSのインストールを開始する準備が整いました。
ウェブブラウザを起動し、LibreNMSインストールのドメイン名にアクセスします。すなわち:http://librenms.howtoforge.local。
最初のページで、LibreNMSは現在の環境をチェックして確認します。前提条件チェックに合格したことを確認し、続行するにはデータベースアイコンをクリックします。

次に、作成したデータベースの詳細を入力し、Check Credentialsをクリックします。

次に、Build DatabaseをクリックしてLibreNMSデータベースを移行します。

次に、keyアイコンをクリックして管理ユーザーとLibreNMSのパスワードを設定します。管理ユーザー、パスワード、メールの詳細を入力し、Add Userをクリックします。

次に、Finish InstallをクリックしてLibreNMSのインストールを完了します。

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

成功した場合、LibreNMSダッシュボードがこのように表示されます。必要に応じてLibreNMSダッシュボードを作成および配置できます。

最後に、validate.phpスクリプトを使用して、適切なLibreNMS構成があることを確認できます。以下のコマンドを実行してlibrenmsユーザーとしてログインし、validate.phpスクリプトを実行します。
su - librenms
./validate.php適切なLibreNMS構成がある場合、すべてが次のようにOKステータスになります:

結論
おめでとうございます。AlmaLinux 9にLibreNMS監視ツールを正常にインストールしました。MariaDBデータベースサーバーとNginxウェブサーバーでLibreNMSをインストールおよび構成しました。また、LibreNMSのためにSELinuxとfirewalldを構成しました。
さらに、LibreNMSのドキュメントを訪れて、新しいホストやデバイスを追加して監視してください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。