監視ツール · 3 min read · Nov 17, 2025
Ubuntu 16.04 LTSでNginxを使用してLibreNMS監視ツールをセットアップする方法
LibreNMSは、PHP/MYSQL/SNMPに基づくオープンソースの監視ツールです。FreeBSD、Cisco、Linux、HPなど、幅広いネットワークハードウェアとオペレーティングシステムをサポートする機能豊富なネットワーク監視システムです。
このチュートリアルでは、NginxをWebサーバー、MariaDBをデータベース、Ubuntu 16.04サーバーをメインサーバーとして使用して、オープンソースの監視ツール「LibreNMS」をインストールおよび構成する方法を示します。Ubuntu 16.04 Xenial Xerusサーバーに「LibreNMS」をインストールおよび構成する方法をステップバイステップでガイドします。
私たちが行うこと
- パッケージのインストール
- Nginx Webサーバーのインストール
- PHP-FPMのインストールと構成
- MariaDBのインストールと構成
- LibreNMSのダウンロードと構成
- LibreNMS Webインストーラー
- 最終構成
前提条件
- Ubuntu 16.04サーバー
- ルート権限
ステップ1 - パッケージのインストール
LibreNMS監視ツールをインストールするための最初のステップは、サーバーに必要なパッケージをインストールすることです。サーバーに接続し、リポジトリを更新します。
ssh root@hakase-labs-server
sudo apt update次のコマンドを使用して、UbuntuリポジトリからLibreNMSに必要なすべてのパッケージをインストールします。
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphvizインストールが完了したら、次のステップに進みます。
ステップ2 - Nginx Webサーバーのインストール
このチュートリアルでは、Nginx Webサーバーの下でLibreNMSを実行します。Nginxは、Ubuntuリポジトリで利用可能な強力なWebサーバーです。
次の方法でリポジトリからaptコマンドを使用してnginxをインストールします。
apt install nginx完了したら、サービスを開始し、システム起動時に自動的に実行されるように有効にします。
systemctl start nginx
systemctl enable nginxNginx Webサーバーはデフォルトのポート80で実行されています。netstatコマンドを使用してポートを確認し、curlコマンドを使用してHTTPステータスコードを取得してNginxを確認できます。
netstat -plntu | grep 80
curl -I localhost
Nginxのインストールが完了しました。
ステップ3 - PHP-FPMのインストールと構成
LibreNMSはPHPベースのWebアプリケーション監視ツールです。新しいPHPバージョン7.0をサポートしており、このガイドではそれを使用します。
次のaptコマンドを使用して、PHP、PHP-FPM、およびLibreNMSインストールに必要なすべての拡張機能/モジュールをインストールします。
apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6次に、php.iniファイルにいくつかの設定を追加する必要があります。php.iniファイルでデフォルトのタイムゾーンを定義し、システムで使用されている現在のタイムゾーンと一致することを確認します。
次のコマンドでシステムで使用されている現在のタイムゾーンを確認します。
timedatectl次のような結果が得られるはずです。

サーバーが「Europe/Paris」タイムゾーンを使用していることがわかります。
次に、PHP設定ディレクトリに移動し、cliとfpmの設定用のphp.iniファイルを編集します。
cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.ini「date.time」行のコメントを解除し、値をシステムタイムゾーン「Europe/Paris」に変更します。
date.time = Europe/Paris以下のcgi設定のコメントを解除し、値を0に変更します。
cgi.fix_pathinfo = 0保存して終了します。
すべての設定が完了しました。次に、サービスを開始し、システム起動時に毎回起動するように有効にします。
systemctl start php7.0-fpm
systemctl enable php7.0-fpmPHP-FPMは現在、Ubuntuサーバーで実行中です - ソックファイルの下で実行されています。netstatコマンドで確認します。
netstat -pl | grep php
ステップ4 - MariaDBのインストールと構成
このステップでは、LibreNMSデータベース用のmariadb-serverをインストールします。インストール、構成、新しいデータベースと新しいユーザーを作成します。
次のaptコマンドを使用して、Ubuntuリポジトリからmariadb-serverをインストールします。
apt install mariadb-server mariadb-client mariadb完了したら、サービスを開始し、システム起動時に自動的に実行されるように有効にします。次のsystemctlコマンドを使用して行うことができます。
systemctl start mysql
systemctl enable mysqlデータベースサーバーmariadbが現在実行中です。次に、mariadbのrootパスワードを構成する必要があります。次の「mysql_secure_installation」コマンドを使用してrootパスワードを構成できます。
mysql_secure_installation新しいrootパスワードを尋ねられます - パスワードを入力し、「Enter」を押して続行します。
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Ymariadbのrootパスワードが構成されました。
次に、LibreNMS用の新しいデータベースとユーザーを作成する必要があります。「librenms」という名前の新しいデータベースと、「librenms」という名前の新しいユーザーを「hakase-labs123」というパスワードで作成します。
次のコマンドを使用してmariadbシェルにログインします。
mysql -u root -p
Type the ROOT Password:次のmariadbクエリを実行して、新しいデータベースとユーザーを作成し、新しいユーザーにデータベースへのすべての権限を付与します。
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;LibreNMS用の新しいデータベースとユーザーが作成されました。

LibreNMSのインストールのために、設定ファイルにいくつかの設定を追加する必要があります。「/etc/mysql/」ディレクトリに移動し、mariadb設定ファイルを編集します。
cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf「[mysqld]」セクションの下に次の設定を貼り付けます。
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0保存して終了します。

次に、サービスを再起動して新しい設定を適用します。
systemctl restart mysqlmariadbデータベースの設定が完了しました。
ステップ5 - LibreNMSのダウンロードと構成
このステップでは、LibreNMSインストールのためにシステムを構成します。
- 新しいユーザーを追加し、LibreNMSをダウンロード
「librenms」という名前の新しいシステムユーザーを作成し、「/opt/librenms」をユーザーのデフォルトホームディレクトリとして定義し、新しい「librenms」ユーザーをwww-dataグループに割り当てます。
次のコマンドを実行してすべてを行います。
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data次に、「/opt/」ディレクトリに移動し、gitコマンドを使用してLibreNMSのソースコードをダウンロードします。
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
次に、libreNMSのログファイルとrrdファイル用の新しいディレクトリを作成します。
mkdir -p /opt/librenms/{logs,rrd}「rrd」ディレクトリの所有権を「775」に変更し、「librenms」ディレクトリの所有者を「librenms」ユーザーおよびグループに変更します。
chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/新しい「librenms」が作成され、LibreNMSのソースコードがダウンロードされました。
- LibreNMSのバーチャルホストを構成
「nginx」設定ディレクトリに移動し、vimで新しいバーチャルホストファイル「librenms」を作成します。
cd /etc/nginx/
vim sites-available/librenms次のLibreNMSバーチャルホスト設定をそこに貼り付けます。
server {
# 自分のドメイン名を追加
listen 80;
server_name librenms.irsyadf.me;
# LibreNMS Webrootディレクトリ
root /opt/librenms/html;
index index.php;
# LibreNMSログ
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;
# NginxでGzip圧縮を有効にする
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 /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
# PHP-FPMがすべての.phpファイルリクエストを処理
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}保存して終了します。次に、バーチャルホストを有効にします。
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/nginx設定をテストし、エラーがないことを確認します。その後、サービスを再起動します。
ginx -t
systemctl restart nginx- UFWファイアウォールの構成
ファイアウォールに新しいポートを追加します。新しいssh、http、https、およびsnmpdで使用されるポート161のudpタイプをufwファイアウォールに追加します。
次のufwコマンドを実行します。
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp
次のようにufw enableコマンドでufwファイアウォールを起動します。
ufw enable「y」と入力して「Enter」を押して確認します。システム起動時に毎回起動するように有効にします。
ファイアウォールの状態を確認したい場合は、「ufw status」コマンドを実行します。
ufw statusファイアウォールの状態 - アクティブまたは非アクティブ - と、ファイアウォールに追加されたポートとサービスのリストが表示されます。

ステップ6 - LibreNMS Webインストーラー
上記のすべてのステップが完了したら、Webブラウザを通じてLibreNMSをインストールする必要があります。Webブラウザを開き、アドレスバーにLibreNMSのドメイン名「librenms.hakase-labs.co」を入力し、「Enter」を押します。
- PHPモジュールの確認
インストールページにリダイレクトされ、PHPモジュールサポートチェックの結果が表示されます。すべてのステータスが緑であることを確認してください。

「次のステージ」をクリックして続行します。
- データベース構成
すべてのデータベース情報を自分のdbで埋めます。
- DBユーザー: librenms
- DBパス: hakase-labs123
- DB名: librenms

「次のステージ」をクリックします。
- MySQLデータベースのインポート
インストーラスクリプトがサンプルデータベースをデータベースにインポートするのを待ちます - このプロセス中にブラウザタブを閉じないでください。

すべてのdbがインポートされたら、「ユーザーを追加する」をクリックします。
- 管理者ユーザーを追加
ここで、管理者ユーザー、メール、パスワードを入力します。

「ユーザーを追加」をクリックします。
- LibreNMS設定を生成

「設定を生成」ボタンをクリックします。
すると、以下のような設定ファイルが得られます。

php設定スクリプトをコピーし、sshセッションに戻ります。「/opt/librenms」ディレクトリに移動し、vimを使用して「config.php」ファイルを手動で作成します。
cd /etc/librenms/
vim config.phpそこに設定を貼り付け、ファイルの所有権をlibrenmsユーザーおよびグループに変更します。
chown librenms:librenms config.phpWebブラウザに戻り、「インストールを完了」ボタンをクリックします。
これで、librenms Webインストーラーの最終ページに到達しました - 下記を参照してください。

ステップ7 - 最終構成
Webブラウザを通じてのインストールが完了したら、他のいくつかのステップを行う必要があります。
- SNMPの構成
デフォルトの設定ファイルをバックアップし、サンプル設定を「/etc/snmp/」ディレクトリにコピーします。
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf新しい設定をvimで編集します。
vim /etc/snmp/snmpd.conf「RANDOMSTRINGGOESHERE」行を自分のコミュニティ名「hakaselabs」に置き換えます。
com2sec readonly default hakaselabs保存して終了します。

次に、ディストリビューション検出スクリプトをダウンロードする必要があります。curlを使用してダウンロードし、スクリプトを実行可能にし、最後にsnmpサービスを再起動します。
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd- CrontabとLogrotateの構成
librenmsディレクトリに移動し、CrontabとLogrotateのサンプル設定をコピーします。
cd /opt/librenms/設定をコピーします。
cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenms次に、cronサービスを再起動し、logrotate設定をリロードします。
systemctl restart cron
logrotate -f /etc/logrotate.conf- 設定の検証
cronスクリプトがシステムで実行されるまでしばらく待ちます。それが完了したら、「validate.php」スクリプトで検証します。
librenmsディレクトリに移動し、validateスクリプトを実行します。
cd /opt/librenms/
./validate.phpインストールが正しければ、次のような結果が得られます。

Nginx Webサーバー上のUbuntu 16.04でのLibreNMSインストールが完了しました。
参考
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。