Ubuntu 16.04にIcinga 2とIcinga Web 2をインストールする方法

Icinga 2は広く使用されているオープンソースのネットワークリソース監視システムであり、Icinga Web 2はIcinga 2の公式Webインターフェイスです。

このチュートリアルでは、Ubuntu 16.04サーバーに両方をインストールする方法を説明します。

前提条件

  • 新しくデプロイされたVultr Ubuntu 16.04サーバーインスタンス。
  • sudoユーザー。Ubuntuでsudoユーザーを作成する方法の詳細については、別のVultrチュートリアルでDebianの手順を参照してください

ステップ1:システムを更新する

SSHターミナルからsudoユーザーとしてログインし、次のコマンドを使用してシステムを最新の安定したステータスに更新します。

sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now

再起動後、同じsudoユーザーを使用してログインします。

ステップ2:Apacheをインストールする

次のコマンドを使用してApacheをインストールします。

sudo apt-get install apache2 -y

デフォルトのUbuntu Apacheウェルカムページを削除します。

sudo rm /var/www/html/index.html

セキュリティ上の理由から、ApacheがWebルートディレクトリ内のファイルとディレクトリ/var/www/htmlを訪問者に公開することを禁止する必要があります。

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

Apacheサービスを開始し、ブート時に開始します。

sudo systemctl start apache2.service
sudo systemctl enable apache2.service

手順3:UFWファイアウォールを構成する

デフォルトでは、新しくデプロイされたVultr Ubuntu 16.04サーバーインスタンスでUFWファイアウォールが無効になっています。次のコマンドを使用して、UFWファイアウォールを有効にし、SSH、HTTP、およびHTTPSの受信トラフィックを許可します。

sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable

ステップ4:MariaDBをインストールする

4.1)次のコマンドを使用して、MariaDBをインストールします。

sudo apt-get install mariadb-client mariadb-server -y

4.2)MariaDBサービスを開始します。

sudo systemctl start mysql.service
sudo systemctl enable mysql.service

4.3)MariaDBのインストールを保護します。

sudo /usr/bin/mysql_secure_installation

インタラクティブプロセス中に、次のように1つずつ質問に答えます。

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
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

<your-password>独自のMySQLルートパスワードに置き換えてください。

4.4)MySQL rootユーザーの認証プラグインを変更します。

sudo mysql -u root -p

以前に設定したMariaDBルートパスワードを使用してログインします。

MySQLシェルで:

UPDATE mysql.user SET authentication_string=PASSWORD('<your-password>'), plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;

<your-password>独自のMySQLルートパスワードに置き換えてください。

ステップ5:PHPをインストールする

PHP 7.0と、Icinga 2およびIcinga Web 2用のいくつかの拡張機能をインストールします。

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-gd php7.0-intl php7.0-xml php7.0-ldap php7.0-mysql php7.0-pgsql php-imagick -y

Composerの現在のバージョンをインストールします。

cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

:上記のコマンドは将来的に古くなる可能性があるため、常にComposer公式Webサイトから最新バージョンを入手する必要があります。

便宜上、Composerスクリプトcomposer.pharをに移動し/usr/local/binて名前を変更しcomposerます。

sudo mv ~/composer.phar /usr/local/bin/composer

zipをインストールして解凍します。

sudo apt-get install zip unzip -y

Composerを使用してZendFramework Dbコンポーネントをインストールします。

composer require zendframework/zend-db

次に、マシンの適切なタイムゾーンを設定する必要があります。これは、PHP公式ウェブサイトで確認できます。たとえば、サーバーインスタンスがVultr Los Angelesデータセンターにある場合、タイムゾーン値はになりますAmerica/Los_Angeles

PHP構成ファイルをviエディターで開きます。

sudo vi /etc/php/7.0/apache2/php.ini

行を見つけます:

;date.timezone =

それを次のように変更します。

date.timezone = America/Los_Angeles

保存して終了:

:wq!

新しい設定を有効にするために、Apacheサービスを再起動します。

sudo systemctl restart apache2.service

ステップ6:Icinga 2とそのプラグインをインストールする

Icinga APTリポジトリをセットアップします。

cd
wget -O - http://packages.icinga.org/icinga.key | sudo apt-key add -
sudo add-apt-repository 'deb http://packages.icinga.org/ubuntu icinga-xenial main'
sudo apt-get update

Icinga APTリポジトリを使用して、Icinga 2といくつかのプラグインをインストールします。

sudo apt-get install icinga2 nagios-plugins -y

Icinga 2プラグインの詳細については、モニタリングプラグインプロジェクトのウェブサイトをご覧ください。

Icinga 2サービスを開始します。

sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service

デフォルトでは、Icinga 2プログラムはチェッカー、メインログ、通知の3つの機能を有効にします。次のコマンドを使用してそのことを確認できます。

sudo icinga2 feature list

ステップ7:Icinga 2 IDOモジュールをセットアップする

7.1)MySQL用のIDO(Icinga Data Output)モジュールをインストールする

sudo apt-get install icinga2-ido-mysql

ではConfiguring icinga2-ido-mysql、あなたがIcinga 2のIDO-mysqlの機能を有効にするかどうかを頼まれ、ウィザード、選択<No>。この機能は後で手動で有効にします。

icinga2-ido-mysqlのデータベースを構成するかどうかを尋ねられたら、を選択します<No>。代わりに、ステップ7.2で説明されているように、データベースを手動で作成できます。

7.2)Icinga 2のデータベースを作成する

MySQLシェルにrootとしてログインします。

sudo mysql -u root -p

手順4で設定したMariaDBルートパスワードを使用してログインします。

MySQLのシェルでは、という名前のデータベースを作成icingaし、名前のデータベースユーザーicingaパスワードを使用してをicingaし、このデータベース・ユーザーに、このデータベースに権限を付与します。

CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
FLUSH PRIVILEGES;
EXIT;

7.3)Icinga 2 IDOスキーマをインポートする

sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql

プロンプトが表示されたら、MariaDBルートパスワードを入力してジョブを終了します。

7.4)IDO MySQLモジュールを有効にする

sudo vi /etc/icinga2/features-available/ido-mysql.conf

これらの行を見つけます:

user = "icinga2",
password = "",
host = "localhost",
database = "icinga2"

以下のように変更します。

user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"

保存して終了:

:wq!

ido-mysql機能を有効にします。

sudo icinga2 feature enable ido-mysql
sudo systemctl restart icinga2.service

ステップ8:Icinga Web 2をインストールする

8.1)外部コマンドパイプのセットアップ

sudo icinga2 feature enable command
sudo systemctl restart icinga2.service
sudo icinga2 feature list

Webインターフェイスを使用してIcinga 2にコマンドを送信する前に、www-dataユーザーをicingacmdグループに追加する必要があります。

sudo groupadd icingacmd
sudo usermod -a -G icingacmd www-data

次のコマンドを使用して、設定を確認します。

id www-data

8.2)Icinga Web 2パッケージをインストールする

sudo apt-get install icingaweb2 icingaweb2-module-monitoring icingaweb2-module-doc icingacli -y

Apache WebルートディレクトリがIcinga Web 2で指定された場所を指すようにします。

sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
sudo systemctl restart apache2.service

8.3)Icinga Web 2データベースのセットアップ

sudo mysql -u root -p

CREATE DATABASE icingaweb2;
EXIT;

8.4)Icinga Web 2データベーススキーマの読み込み

mysql -u root -p icingaweb2 < /usr/share/icingaweb2/etc/schema/mysql.schema.sql

8.5)Icinga Web 2 Webインストールウィザードで後で使用するためのセットアップトークンを生成する

sudo icingacli setup token create

8.6)WebインターフェイスでIcinga 2インストールウィザードを開始する

Webブラウザで次のURLにアクセスします。

http://<your-serve-ip>/icingaweb2/setup

8.7)「ようこそ」ページで、前に生成したセットアップトークンを入力し、Nextボタンをクリックします。

8.8)「モジュール」ページで、有効にする1つ以上のモジュールを選択し(少なくとも、Monitoringモジュールは必須です)、Nextボタンをクリックします。

8.9)「要件」ページで、必要な項目がすべて満たされていることを確認してから、Nextボタンをクリックします。

8.10)[認証]ページで、Icinga Web 2にアクセスするときの認証方法を選択する必要があります。ここでは、を選択しDatabaseNextボタンをクリックします。

8.11)[データベースリソース]ページで、以下のようにすべての必須フィールドに入力し、Nextボタンをクリックします。

  • リソース名*:icingaweb_db
  • データベースタイプ*:MySQL
  • ホスト*:localhost
  • データベース名*:icingaweb2
  • ユーザー名*:ルート
  • パスワード*:<MariaDB-root-password>

8.12)[認証バックエンド]ページで、デフォルトのバックエンド名を使用してicingaweb2Nextボタンをクリックして先に進みます。

8.13)[管理]ページで、最初のIcinga Web 2管理アカウント(たとえば、icingaweb2admin)とパスワード(たとえば、)をセットアップしicingaweb2passNextボタンをクリックします。

8.14)「アプリケーション構成」ページで、アプリケーションおよびロギング関連の構成オプションをニーズに合わせて調整できます。現時点では、以下にリストされているデフォルト値を使用し、Nextボタンをクリックして続行できます。

  • スタックトレースを表示:チェック
  • ユーザー設定のストレージタイプ*:データベース
  • ロギングタイプ*:Syslog
  • ロギングレベル*:エラー
  • アプリケーション接頭辞*:icingaweb2

8.15)[確認]ページで構成を再確認し、Nextボタンをクリックします。

8.16)[監視モジュール構成の開始]ページで、Nextボタンをクリックします。

8.17)[モニタリングバックエンド]ページで、デフォルトのバックエンド名icingaとバックエンドタイプを使用してIDONextボタンをクリックします。

8.18)[IDOリソースの監視]ページで、前に設定したIDOデータベースの詳細を入力し、Nextボタンをクリックします。

  • リソース名*:icinga_ido
  • データベースタイプ*:MySQL
  • ホスト*:localhost
  • データベース名*:icinga
  • ユーザー名*:icinga
  • パスワード*:icinga

8.19)[コマンド転送]ページで、以下にリストされているこれらのデフォルト値を引き続き使用します。Nextボタンをクリックして先に進みます。

  • トランスポート名*:icinga2
  • トランスポートタイプ*:ローカルコマンドファイル
  • コマンドファイル*:/var/run/icinga2/cmd/icinga2.cmd

8.20)[セキュリティの監視]ページで、引き続きデフォルト値を使用します。

  • 保護されたカスタム変数:* pw *、* pass *、community

Nextボタンをクリックして次のページに移動します。

8.21)レビューページで、設定を再確認してから、Finishボタンをクリックします。

8.22)おめでとうございます!ページで、Login to Icinga Web 2ボタンをクリックしてIcinga Web 2ログインページにジャンプします。以前に設定したIcinga Web 2管理アカウントとパスワードを使用してログインします。IcingaWeb 2ダッシュボードを自由に探索してください。

これでチュートリアルは終了です。読んでくれてありがとう。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。