GCPにPandora FMSを入れてみるテスト

本コンテンツの内容は2019年3月現在の情報を元にしています。

前提条件

  • GCP(Google Cloud Platform)のアカウントを作成済みのこと
  • プロジェクト名を適当に作成済みのこと
  • Tera Termを使っていること
  • FQDNでアクセスする場合は、DNSサーバへのレコード登録が出来ること

Tera Term でSSH鍵を作成

※既に鍵を持っている場合は、ここはパスして構いません
※ここで鍵を作成するときのWindowsログイン名が、後程作成するVMのログイン名になります

  1. Tera Term のメニューから『設定』→『SSH鍵生成』
  2. 『生成』
  3. 鍵の種類は『RSA』ビット数は『2048』で、『生成』
  4. パスフレーズは空のままで
  5. 『公開鍵の保存』で任意の場所に公開鍵を保存
    ファイル名はデフォルトの場合、id_rsa.pub
    この公開鍵をあとでVMに突っ込みます
  6. 『秘密鍵の保存』で任意の場所に公開鍵を保存
    ファイル名はデフォルトの場合、id_rsa
    この秘密鍵をあとで Tera Term で使います

固定IP取得

  1. GCPのコンソールを開く
  2. 左上の三本線(ナビゲーションメニュー)をクリック
  3. ネットワーキング→VPCネットワーク→外部IPアドレス
  4. 『+静的アドレスを予約』
  5. 名前を適当に設定
  6. 『標準』『IPv4』『リージョン』を選択
  7. リージョンは『asia-northeast1』
  8. 『予約』

FQDNで使う場合は、取得したIPアドレスを利用しているDNSに登録ください

VM作成

  1. GCPのコンソールを開く
  2. 左上の三本線(ナビゲーションメニュー)をクリック
  3. コンピューティング→Compute Engine→VMインスタンス
  4. 『+インスタンスを作成』
  5. 名前は適当に
  6. リージョンは『asia-northeast1』
  7. ゾーンとマシンタイプはそのまま
  8. ブートディスクの『変更』
  9. 『CentOS7』『標準の永続ディスク』『20GB』で『選択』
  10. ファイアウォールで『HTTPトラフィックを許可する』
  11. 『作成』
  12. 起動したVM名をクリックし、『VMインスタンスの詳細』で『編集』
  13. ネットワークインターフェースの鉛筆マークををクリック
  14. 外部IPに、先程作成した固定IPを選択し、『完了』
  15. 少し下の『SSHキーが0個あります』の『表示して編集する』
  16. 『認証鍵全体を入力』フィールドに、公開鍵をコピペ
    鍵が有効な場合、ログイン名が鍵フィールドの左側に表示されます
    この名前でVMにログインすることになります
  17. 『保存』

Tera Term にホストを登録

  1. 管理者権限でコマンドプロンプトを開き、teraterm.ini をノートパッドで開く
  2. [Hosts]セクションに、Hostを追加(Host番号は適当に編集下さい)
    Host1=VMのIPまたはFQDN /ssh /auth=publickey /user=公開鍵内のログイン名 /keyfile=path\id_rsa /KR=UTF8 /KT=UTF8

VM内での作業

Tera Term でVMに公開鍵認証なSSHで接続し、sudo su – でrootになってください。

# SELinux無効化
setenforce 0
vi /etc/sysconfig/selinux
# 7行目 変更
SELINUX=disabled 
# 保存してvi終了

# タイムゾーンを変更
timedatectl set-timezone Asia/Tokyo
# Apache登録
yum -y install httpd
# ウェルカムページ削除
rm -f /etc/httpd/conf.d/welcome.conf
vi /etc/httpd/conf/httpd.conf
# 86行目 管理者アドレス指定
ServerAdmin root@foo-bar.com
# 95行目 サーバー名設定
ServerName pandora.foo-bar.com:80
# 151行目 変更
AllowOverride All
# 164行目 変更
DirectoryIndex index.html index.php
# 最終行に追記
ServerTokens Prod
KeepAlive On
# 保存してvi終了
# Apache起動/自動起動設定
systemctl start httpd
systemctl enable httpd

# /var/www/html に適当なファイルを置いて、httpdの動作を確認
# 確認後テストファイルは削除下さい

# IPアドレス制限(可能であれば何らかの方法で制限しておいた方が良いと思います)
# 先程アクセスしたIPアドレスを確認
cat /var/log/httpd/access.log
vi /etc/httpd/conf/httpd.conf
# 104行目 追加(Requireの方が良いかも)
Allow from localhost
Allow from 先程のIPアドレス
Deny from all
# 保存してvi終了
systemctl restart httpd

# PHP7.2のインストール
# epelリポジトリとremiレポジトリのインストール
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# PHPのインストール
yum -y install --enablerepo=remi,remi-php72 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql php-zip php-pecl-zip php-ldap php-snmp
# php.iniの編集(ファイルのバージョンにより、各行の位置は微妙に変わる筈)
vi /etc/php.ini
# 902行目 変更
date.timezone = "Asia/Tokyo"
# 1509行目 変更
mbstring.language = Japanese
# 1516行目 変更
mbstring.internal_encoding = UTF-8
# 1524行目 変更
mbstring.http_input = UTF-8
# 1534行目 変更
mbstring.http_output = pass
# 1542行目 変更
mbstring.encoding_translation = On
# 1547行目 変更
mbstring.detect_order = auto
# 保存してvi終了
# Apache再起動
systemctl restart httpd
# PHP動作確認
echo '<?php phpinfo(); ?>' > /var/www/html/info.php
curl http://localhost/info.php | grep 'PHP Version' | tail -1 | sed -e 's/<[^>]*>//g'
# PHP Version が表示されることを確認すること
rm -f /var/www/html/info.php

# MariaDBインストール
yum -y install mariadb-server
vi /etc/my.cnf.d/server.cnf
# 13行目 追加
character-set-server=utf8
# 保存してvi終了
# MariaDB起動/自動起動設定
systemctl start mariadb
systemctl enable mariadb
systemctl restart httpd
# MariaDB初期設定
mysql_secure_installation
# 最初に聞かれるパスワードはそのままEnter
# Set root password? で y
# パスワードを適当に設定(記録しておいてください)
# 残りの設問は全て y

# Pandoraインストール
# 次のような流れになります
#  ①パッケージインストール
#  ②インストーラ実行(初期設定)
#  ③confファイルの設定
#  ④pandora_server 起動
#
vi /etc/yum.repos.d/pandorafms.repo
# 以下の内容を追加
[artica_pandorafms]
name=CentOS7 - PandoraFMS official repo
baseurl=http://firefly.artica.es/centos7
gpgcheck=0
enabled=1
# 保存してvi終了
yum -y install pandorafms_console pandorafms_server bind-utils
systemctl restart httpd

# localhostからのMariaDBへのアクセス権を設定する
# これをやっておかないと、Pandoraインストーラが完走しません
mysql -u root -p
# パスワードは先程設定したもの
grant all privileges on *.* to root@localhost identified by '先程のパスワード' with grant option;
flush privileges;
exit;

# Pandora初期設定
# http://IPまたはFQDN/pandora_console/ にアクセス
# Step1 『Next』
# Step2 『Yes』
# Step3 『Next』
# Step4 DB Password に先程設定したパスワードを入力し、『Next』
# Step5 A new random password has been generated: に表示されているパスワードを記録し、『Next』
# ※パスワードを忘れた時は、Step4の『Drop Database if exists』にチェックを入れて再試行
# Step6 『Yes』
# 一旦ブラウザを閉じます

# confファイルの設定
vi /etc/pandora/pandora_server.conf
# 59行目 編集
dbpass Step5で提示されたパスワード
# 保存してvi終了

# Pandora Server 起動
/etc/init.d/pandora_server start

http://IPまたはFQDN/pandora_console/ にアクセス
左側のCommunity edition のIDにadmin、パスワードにpandoraでログイン

メール発報を行いたいとき

  1. Postfix設定
    https://www.server-world.info/query?os=CentOS_7&p=mail&f=1
    の『574行目:追記』まで実行
  2. /etc/pandora/pandora_server.conf の 234行目を有効化
  3. SendGridの設定
    https://qiita.com/ariaki/items/e389cc3dce549f450e3b
    にて外部へのメール送信を実装
  4. postfix と pandora_server をリスタート