監視ツール · 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」をインストールおよび構成する方法をステップバイステップでガイドします。

私たちが行うこと

  1. パッケージのインストール
  2. Nginx Webサーバーのインストール
  3. PHP-FPMのインストールと構成
  4. MariaDBのインストールと構成
  5. LibreNMSのダウンロードと構成
  6. LibreNMS Webインストーラー
  7. 最終構成

前提条件

  • 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 nginx

Nginx Webサーバーはデフォルトのポート80で実行されています。netstatコマンドを使用してポートを確認し、curlコマンドを使用してHTTPステータスコードを取得してNginxを確認できます。

netstat -plntu | grep 80  
curl -I localhost

netstatでポートを確認

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-fpm

PHP-FPMは現在、Ubuntuサーバーで実行中です - ソックファイルの下で実行されています。netstatコマンドで確認します。

netstat -pl | grep php

PHP-FPMプロセスを確認

ステップ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] Y

mariadbの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

保存して終了します。

MariaDB設定を変更

次に、サービスを再起動して新しい設定を適用します。

systemctl restart mysql

mariadbデータベースの設定が完了しました。

ステップ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ユーザーを追加

次に、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ファイアウォールを構成

次のように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モジュールサポートチェックの結果が表示されます。すべてのステータスが緑であることを確認してください。

LibreNMS Webインストーラー

次のステージ」をクリックして続行します。

- データベース構成

すべてのデータベース情報を自分のdbで埋めます。

  • DBユーザー: librenms
  • DBパス: hakase-labs123
  • DB名: librenms

データベースの詳細を設定

次のステージ」をクリックします。

- MySQLデータベースのインポート

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

ステージ2完了

すべてのdbがインポートされたら、「ユーザーを追加する」をクリックします。

- 管理者ユーザーを追加

ここで、管理者ユーザー、メール、パスワードを入力します。

管理者ユーザーを追加

ユーザーを追加」をクリックします。

- LibreNMS設定を生成

LibreNMS設定を生成

設定を生成」ボタンをクリックします。

すると、以下のような設定ファイルが得られます。

設定をファイルに保存

php設定スクリプトをコピーし、sshセッションに戻ります。「/opt/librenms」ディレクトリに移動し、vimを使用して「config.php」ファイルを手動で作成します。

cd /etc/librenms/  
vim config.php

そこに設定を貼り付け、ファイルの所有権をlibrenmsユーザーおよびグループに変更します。

chown librenms:librenms config.php

Webブラウザに戻り、「インストールを完了」ボタンをクリックします。

これで、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

保存して終了します。

SNMP設定ファイル

次に、ディストリビューション検出スクリプトをダウンロードする必要があります。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

インストールが正しければ、次のような結果が得られます。

LibreNMSセットアップを検証

Nginx Webサーバー上のUbuntu 16.04でのLibreNMSインストールが完了しました。

参考

Share: X/Twitter LinkedIn

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

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