LibreNMSをインストールしてみた
先日Facebookでlibrenmsというツールを知り早速インストールしてみました。
ネットワーク内のサーバだったりスイッチだったりを管理できるツールみたいです。
以下に公式の手順があります。
github.com
これのとおりで上手くいきましたが、実際に自分が実施したものをメモ代わりに残しておきたいと思います。
インストール環境
私がインストールした環境は以下になります。
OS CentOS7.2
仮想環境
では早速インストール時のメモです。
データベースインストール
yum install mariadb-server mariadb
データベース起動
service mariadb start
データベース初期化
# mysql_secure_installation <省略> Set root password? [Y/n] Y ←「Y」を入力 New password: dbpass ←rootのパスワードを入力 Re-enter new password: dbpass ←rootのパスワードを再入力 Password updated successfully! Reloading privilege tables.. ... Success! <省略> Thanks for using MariaDB! #
データベース作成
データベースを作成します。私はdbpassというパスワードにしていますが、環境によって読み替えて実施ください。
# mysql -uroot -p MariaDB [(none)]> CREATE DATABASE librenms; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost' IDENTIFIED BY 'dbpass'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye
MariaDB設定ファイル修正
エディタで設定ファイルを修正します。以下の例ではviエディタを使用しています。
[mysqld] セクションに追記します。
# vi /etc/my.cnf.d/server.cnf <省略> [mysqld] innodb_file_per_table=1 sql-mode="" <省略>
修正したらデータベースを再起動します。
# service mariadb restart
Webサーバインストール
ここは公式ページそのままでOKでした。
一応コピペしておきます。
# yum install epel-release # rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # yum install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common httpd net-snmp mariadb ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie php70w-mcrypt fping git # pear install Net_IPv4-1.3.4 # pear install Net_IPv6-1.2.2b2
PHPファイル修正
PHPのタイムゾーン設定を修正します。
date.timezoneのコメントアウトを外して「Tokyo/Asia」を設定します。
# vi /etc/php.ini
<省略>
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Tokyo/Asia
<省略>
librenmsユーザを作成
以下のコマンドでユーザを作成します。
# useradd librenms -d /opt/librenms -M -r # usermod -a -G librenms apache
ファイルダウンロード
Gitからファイルをダウンロードします。
# cd /opt # git clone https://github.com/librenms/librenms.git librenms
Webインターフェイス設定
以下のコマンドでWebインターフェイス用ディレクトリを作成
# cd /opt/librenms # mkdir rrd logs # chmod 775 rrd
次に新規でlibrenms.confを作成します。
# vi /etc/httpd/conf.d/librenms.conf <VirtualHost *:80> DocumentRoot /opt/librenms/html/ ServerName librenms.example.com CustomLog /opt/librenms/logs/access_log combined ErrorLog /opt/librenms/logs/error_log AllowEncodedSlashes NoDecode <Directory "/opt/librenms/html/"> Require all granted AllowOverride All Options FollowSymLinks MultiViews </Directory> </VirtualHost>
次にデフォルトファイルを削除します。
# rm -f /etc/httpd/conf.d/welcome.conf
Webサーバ再起動
以下のコマンドでWebサーバを再起動します。
# service httpd restart
Webインターフェイスよりlibrenmsをインストール
以下にブラウザでアクセスしてインストーラーを起動します。
http://<サーバIPアドレス>/install.php
アクセスすると以下のように表示されます。
必要なモジュールが全てインストールされて「yes」となっていることを確認します。
確認したら「Next Stage」をクリックします。
次にデータベースの情報を入力します。
DB Passだけ入力して「Next Stage」をクリックします。
問題がなければ以下のようにインストールが開始されます。
画面の一番したを確認します。
successfulとなっていることを確認します。確認したら「Goto Add User」をクリックします。
次にユーザを作成します。「ユーザ名」「パスワード」「メールアドレス」を入力します。
入力したら「Add User」をクリックします。
User has been added successfullyとなっていることを確認します。
確認したら「Generate Config」をクリックします。
以下は私の手順が悪かった可能性がありますが、コンフィグを作成できなかったために表示されたコンフィグを手動追記しました。
以下の手順で手動で追記しました。
# cd /opt/librenms/ # vi config.php <表示されたものをコピペ>
ここまでで一応Webでのインストールは終わりです。
しかしインストールは終わっていないので手順に戻ってくださいとあります。
一応ログインできることを確認します。ブラウザで以下にアクセスします。
http://<サーバIPアドレス>/
成功していればログイン画面が表示されます。
ログインすると以下のような画面になります。
SNMP設定
ではインストール作業に戻ります。
SNMP設定をします。まずサンプルファイルをコピーします。
# cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
次に設定を追記します。
環境に合わせて修正してください
# vi /etc/snmp/snmpd.conf
修正後に以下を実行します。
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro chmod +x /usr/bin/distro service snmpd restart
cron設定
次にcronを設定します。
# cp librenms.nonroot.cron /etc/cron.d/librenms
権限変更&サービス自動起動
以下のコマンドで権限とサービス自動起動設定を実施します。
# chown -R librenms:librenms /opt/librenms # systemctl enable httpd # systemctl enable mariadb
最終ステップ
以下を実行します。
# cd /opt/librenms # ./validate.php ==================================== Version info: Commit SHA: 8b68429a0619c627256c31299765ffddb2bdd9dd DB Schema: 138 PHP: 7.0.10 MySQL: 5.5.50-MariaDB RRDTool: 1.4.8 SNMP: NET-SNMP version: 5.7.2 ==================================== [OK] Database connection successful