LibreNMSは、サーバーおよびネットワークハードウェア用のオープンソースの自動検出ネットワーク監視ツールです。 Cisco、Juniper、Brocade、Foundry、HPなどの幅広いネットワークハードウェアと、LinuxやWindowsなどのオペレーティングシステムをサポートしています。 LibraNMSは、GPLv3でリリースされたネットワーク監視ツール「Observium」のコミュニティベースのフォークです。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するLinuxシステムソフトウェアのインストールクエリを実行するのを定期的に支援しています。
これに関連して、Ubuntu20.04LTSにLibreNMSをインストールする方法を検討します。
Ubuntu 20.04 LTSFocalFossaにLibreNMSをインストールする手順
1.システムアップデートを実行します
まず、ターミナルで次のaptコマンドを実行して、すべてのシステムパッケージが最新であることを確認します。
$ sudo apt update
$ sudo apt upgrade
2.システムにNginxをインストールします
Nginxは高性能のWebサーバーであり、最近非常に人気があります。また、リバースプロキシおよびキャッシングサーバーとしても使用できます。ターミナルから次のコマンドを実行して、NginxWebサーバーをインストールします。
$ sudo apt install nginx
インストールしたら、Nginxサービスが実行されているかどうかを確認します。
$ sudo systemctl start nginx
$ sudo systemctl status nginx
これで、UFWファイアウォールを実行している場合は、Nginxへの接続を許可する必要があります:
$ sudo ufw allow OpenSSH
$ sudo ufw allow 'Nginx Full'
次に、ファイアウォールのステータスを確認します:
$ sudo ufw status
取得する出力は次のとおりです。
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
3.システムにMariaDBをインストールします
MariaDBは、MySQLのドロップイン代替品です。これは、OracleがMySQLをクローズドソース製品に変える可能性があることを懸念しているMySQLチームの元メンバーによって開発されました。
次のコマンドを実行してMariaDBをインストールします:
$ sudo apt install mariadb-server mariadb-client
完了したら、次のコマンドを実行して、MariaDBがインストールされていることを確認できます。
$ sudo systemctl status mariadb
デフォルトでは、MariaDBは強化されていません。 mysql_secure_installationスクリプトを使用してMariaDBを保護できます。ルートパスワードを設定し、匿名ユーザーを削除し、リモートルートログインを禁止し、テストデータベースと安全なMariaDBへのアクセスを削除する各手順を注意深く読んでください。
$ mysql_secure_installation
次に、次のように構成します。
- 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にログインするには、次のコマンドを使用します(MariaDBデータベースにログインするために使用するコマンドと同じであることに注意してください)。
$ mysql -u root -p
4.システムにPHPをインストールします
Apacheとは異なり、NginxにはネイティブPHP処理が含まれていません。そのためには、PHP-FPM(FastCGI Process Manager)をインストールする必要があります。
次のコマンドを実行して、PHP7.4といくつかの一般的な拡張機能をインストールします。
$ sudo apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl
インストールしたら、PHPのバージョンを確認します:
$ php --version
5.システムにLibreNMSをインストールします
LibreNMSに必要なパッケージをインストールできます:
$ sudo install apt install curl composer fping git graphviz imagemagick rrdtool snmp snmpd whois unzip python python3-pip
次に、GitHubリポジトリからLibreNMSソースを取得します:
$ cd /opt
$ git clone https://github.com/librenms/librenms.git
次に、LibreNMSを管理するユーザーを作成し、LibreNMSグループにNginxを追加します。
$ useradd librenms -d /opt/librenms -M -r
$ usermod -a -G librenms www-data
一部のフォルダの権限を変更する必要があります:
$ chown -R librenms:librenms /opt/librenms
$ chmod 770 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
その後、コンポーザーの依存関係をインストールするPHPスクリプトが提供されます。これを実行するには、次のコマンドを使用します。このスクリプトを実行するには、LibreNMSユーザーに切り替える必要があります:
$ su - librenms
$ cd /opt/librenms
$./scripts/composer_wrapper.php install --no-dev
$ exit
6.LibreNMS用にMariaDBを構成する
ここでは、MariaDBコンソールにログインして、LibreNMSのデータベースを作成する必要があります。次のコマンドを実行します:
$ mysql -u root -p
これによりパスワードの入力を求められるので、MariaDBのrootパスワードを入力し、Enterキーを押します。データベースサーバーにログインしたら、LibreNMSをインストールするためのデータベースを作成する必要があります。
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'YOUR-PASSWD';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
完了したら、MariaDB構成ファイルを開き、[mysqld]セクションの下に次の行を追加します。
$ nano /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]セクション内に追加してください:
innodb_file_per_table=1
lower_case_table_names=0
次に、MariaDBを再起動して、変更を有効にします。
$ sudo systemctl restart mariadb
7.LibreNMS用にNginxを構成する
LibreNMSで使用されるNginxのVirtualHost定義を作成します:
$ nano /etc/nginx/conf.d/librenms.conf
構成ファイルに以下を追加します。
server {
listen 80;
server_name librenms.linuxapt.com;
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 /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
これで、Nginx Webサーバーを再起動して、変更を行うことができます。
$ sudo systemctl restart nginx
8.ファイアウォールを構成する
Nginxがファイアウォールを通過できるようにして、ユーザーが外部マシンからLibreNMSポータルにアクセスできるようにします。
$ ufw allow 80/tcp
$ ufw allow 443/tcp
$ ufw reload
LibreNMS Webインターフェイスにアクセスする方法は?
LibreNMSは、デフォルトでHTTPポート80で使用できます。
お気に入りのブラウザを開き、http://your-domain.com/またはhttp://server-ip-address/に移動して、インストールを完了するために必要な手順を完了します。
また、以下のアクションを実行できます:
- データベースをクリックします。
- データベース名、ユーザー名、パスワードを入力してください。
- [資格情報の確認]をクリックします。
- [データベースの構築]をクリックします。
- ビルドが完了したら。
- [ユーザーの追加]をクリックします。
- ユーザー名、パスワード、メールアドレスを入力してください。
- [ユーザーの追加]をクリックします。
- ユーザーが正常に追加されたら。
- 次のチェックサムをクリックします。
- [インストールオプションの検証]をクリックします。
- ユーザー名とパスワードを入力します。
- ログインをクリックします。