Skip to content

Latest commit

 

History

History
91 lines (70 loc) · 3.52 KB

README.md

File metadata and controls

91 lines (70 loc) · 3.52 KB

ESET Remote Administrator on Docker Compose

イメージをビルドする

コンポーネントの配置

まず、ESET Remote Administratorのコンポーネントをダウンロードして、展開しておく。 そして、サーバーとWebコンソールのファイルを、適当に配置する。

$ mv Component_Linux_x64/era.war eraconsole/
$ ls eraconsole
Dockerfile  era.war  tomcat.sh
$ mv Component_Linux_x64/Server-Linux-x86_64.sh eraserver/
$ ls eraserver
Dockerfile  eraserver.sh  Server-Linux-x86_64.sh

MySQL ODBCのダウンロード

ここからMySQL ODBCをダウンロードする。(バージョン5系統でないと動かないので注意。) そして、eraserver以下に配置する。

$ ls eraserver/
Dockerfile  eraserver.sh  mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit  Server-Linux-x86_64.sh

MySQLの立ち上げ

セットアップ中にMySQLへ接続するため、先にMySQLのインスタンスを立ち上げておく。 一時的に、MySQLにアクセスできるように、ufwでファイアウォールを開けておく。

# ufw allow 3306

イメージのビルド

ホストのIPアドレスに合わせて、eraserver/Dockerfileの以下のIPアドレスを適宜変更する。

RUN echo "172.17.0.1 mysql" >> /etc/hosts && \
    /tmp/Server-Linux-x86_64.sh \
        --skip-license \
        --db-driver=MySQL \
        --db-type="MySQL Server" \
        --db-hostname=${DB_HOST} \
        --db-port=${DB_PORT} \
        --db-admin-username=${DB_ADMIN_USER} \
        --db-admin-password=${DB_ADMIN_PASS} \
        --db-user-username=${DB_USER} \
        --db-user-password=${DB_PASS} \
        --server-root-password=${ERA_ADMIN_PASS} \
        --cert-hostname=${ERA_HOST_NAMES} \
        --locale=ja-JP

あとは、ビルドが終わるのを待てば良い。

$ docker-compose build
...
$ docker-compose up -d

最後に、ファイアウォールをもとに戻しておく。

$ sudo ufw delete allow 3306

デプロイ

  • ufwで使うポートのファイアウォールを開ける
  • apachenginxなどのリバースプロキシで、コンソールにアクセスできるようにする

メモ

  • イメージのビルド中は、専用のネットワークが用いられるため、他のイメージを参照できない
    • network_mode: hostなども使えない
      • IPで指定すればホストにアクセス可能だが、ファイアウォールを開けておく必要がある
  • /etc/hostsがDockerに管理されているために、変更できない
    • 永続的に変更するには、docker-compose.yamlextra_hostsを追加する
      • ビルド時だけ参照するには、RUNの中では変更が保持されるので、echo "..." > /etc/hosts && ...が使える
  • ESET Remote Administratorのインストーラが/bin/systemctlを叩くとエラーが発生する
  • コンソールはlocalhostにサーバーがある前提でコネクションを行う
    • eraconsole/tomcat.shにあるように、WEB-INF以下のEraWebServerConfig.propertiesを無理やり書き換えればよい
  • 過去に使用していたデータベースからのマイグレーションであれば、ProductInstanceIDという環境変数を指定すればよいらしい
    • 詳しくはeraserver/eraserver.shをベースに調査が必要