【Elasticsearch入門】Ubuntu16.0x Elasticsearch 環境構築

##目的
・Ubuntuサーバ上にElasticsearchとKibanaの環境を構築する

##環境
| 項目 | 内容 |
|:---------|:-----------:|
| Host OS | Windows10 |
| 仮想ツール | VirtualBox 5.2.16 |
| 仮想OS | Ubuntu 16.04 |
| ツール | Elasticsearch 6.3 |
| ツール | Kibana 6.3 |
| その他 | Java OpenJDK 10 |

####補足
・前提として、すでに仮想マシーンに OS がインストールされ起動できる状態を想定
・仮想マシーン構築の参考サイトとして下記を利用
　https://www.server-world.info/query?os=Ubuntu_16.04&p=download
・事前に Elasticsearch 公式サイトから Support Matrix を確認する
　https://www.elastic.co/support/matrix
・仮想マシーンの OS にインストールされている Java の Ver. を確認する

##操作手順
①Update & JDK instal
②Elasticsearch install
③Kibana install

##内容
####Update & JDK install

```Ubuntu:Terminal
$ sudo  apt-get -y update
$ java -version

　プログラム 'java' は以下のパッケージで見つかりました：
　 * default-jre
　 * gcj-5-jre-headless
　 * openjdk-8-jre-headless
　 * gcj-4.8-jre-headless
　 * gcj-4.9-jre-headless
　 * openjdk-9-jre-headless
　次の操作を試してください：sudo apt install <選択したパッケージ>
```

※パッケージにJDK 10が見つからないため、下記操作で直接インストールを行うことにしました。

```Ubuntu:Terminal
$ cd ~/
$ mkdir tmp
$ cd tmp
$ wget https://download.java.net/java/GA/jdk10/10.0.2/19aef61b38124481863b1413dce1855f/13/openjdk-10.0.2_linux-x64_bin.tar.gz
$ tar xvf openjdk-10*_bin.tar.gz
$ sudo mv jdk-10.0.2 /usr/lib/jvm/java-10-openjdk-amd64/
```

※上記操作の過程で、jvmのフォルダが見つからない場合は、下記操作を続けて行います

```Ubuntu:Terminal
$ sudo apt-get -y install default-jre
$ mv openjdk-10.0.2 /usr/lib/jvm/java-10-openjdk-amd64/
```

・フォルダの準備終わり次第、次の操作を実行

```Ubuntu:Terminal
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1
$ sudo update-alternatives --config java

　alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。
　選択肢　　　パス　　　　　　　　　　　　　　　　　優先度　　状態
　---------------------------------------------------------
　* 0　　/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java　　1081　　自動モード
 　 1　　/usr/lib/jvm/java-10-openjdk-adm64/bin/java　　　 1　　　　手動モード
　  2　　/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java　　1081　　手動モード

　現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください：1
　update-alternatives: /usr/bin/java (java) を提供するためにマニュアルモードで /usr/lib/jvm/java-10-openjdk-amd64/bin/java を使います

$ sudo update-alternatives --config javac
$ java -version
$ javac -version
```

####Elasticsearch install

```Ubuntu:Terminal
$ cd ~/tmp
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz
$ tar xvf elasticsearch-6.3.2.tar.gz
$ mv elasticsearch-6.3.2 elastic-6.3.2
$ mkdir ~/opt
$ mv elastic-6.3.2 ~/opt
$ cd ~/opt/elastic-6.3.2/bin
$ ./elasticsearch
```

・上記の作業が終わったら、状態を確認するため、firefox ブラウザを起動し以下の URL へアクセスを行う
　http://127.0.0.1:9200

・ブラウザに以下の画面が表示されれば成功
![o0539042114241875742.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/487902/664dfc33-e955-92c1-184e-3d8d7de24b4c.jpeg)


####Kibana install
```Ubuntu:Terminal
$ cd ~/tmp
$ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-amd64.deb
$ shasum -a 512 kibana-6.3.2-amd64.deb
$ sudo dpkg -i kibana-6.3.2-amd64.deb
$ ps -p 1
$ sudo update-rc.d kibana defaults 95 10
$ sudo -i service kibana start
```
※「dpkg」コマンドは、debian のパッケージである「deb」ファイルを取り扱うコマンド

・上記の作業が終わったら、状態を確認するため、firefox ブラウザを起動し以下の URL へアクセスを行う
　http://127.0.0.1:5601

・ブラウザに以下の画面が表示されれば成功
![o0853081814241875774.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/487902/9155bdf2-835b-71f8-00a0-ae3d445b91ca.jpeg)


##所感
・セキュリティに関する学習をしていた際に、HonyPotやSnot、Suricataによるログ解析で利用されていることを知り、検証用の環境を用意するため手順をまとめてみました。
・Elasticsearchを起動した際、うまく表示されず設定ファイルでてんやわんやしましたが、原因は起動までにやや時間がかかることを把握しておらず、せっかちな私が、せっせとブラウザでアクセスしまくっていたというものでした（汗）
・１年前に残した手順の為、現在出ているUbuntu18.04や19.04では未検証のため、また近いうちに構築してみたいと思います。

##References
 『[Support Matrix](https://www.elastic.co/jp/support/matrix)』
 『[apt-get で Java をインストールしよう（Ubuntu）](https://www.linuxmania.jp/apt-install-java.html)』
 『[How to install JDK 10 under Ubuntu?](https://stackoverflow.com/questions/49507160/how-to-install-jdk-10-under-ubuntu)』
 『[Install Kibana with Debian Package](https://www.elastic.co/guide/en/kibana/current/deb.html)』
 『[Server world](https://www.server-world.info/query?os=Ubuntu_16.04&p=download)』