【2019年版】macOS 10.14 Mojaveの docker で TestLink をインストールと設定する

##Preconditions
- OS: macOS 10.14.6 Mojave
- VM: docker desktop Community Version: 2.1.0.4(39773) Channel: stable

##TL;DR

適当なディレクトリに docker-compose.yml をダウンロードして、カスタマイズしてから docker-comse up で起動。
公式ドキュメント：https://hub.docker.com/r/bitnami/testlink/

##1. TestLink をインストールする

####docker-compose.yml をダウンロード

```bash:ローカルPC
$ mkdir -p ~/testlink/backup/
$ cd ~/testlink
$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-testlink/master/docker-compose.yml > docker-compose.yml
```

####docker-compose.yml を編集する

```bash:ローカルPC
$ vim ~/testlink/docker-compose.yml
```

---
### 参考：オリジナルのdocker-compose.yml

```bash:docker-compose.yml
version: '2'

services:
  mariadb:
    image: 'bitnami/mariadb:10.3'
    environment:
      - MARIADB_USER=bn_testlink
      - MARIADB_DATABASE=bitnami_testlink
      - ALLOW_EMPTY_PASSWORD=yes
    volumes:
      - 'mariadb_data:/bitnami'
  testlink:
    image: 'bitnami/testlink:1'
    environment:
      - MARIADB_HOST=mariadb
      - MARIADB_PORT_NUMBER=3306
      - TESTLINK_DATABASE_USER=bn_testlink
      - TESTLINK_DATABASE_NAME=bitnami_testlink
      - ALLOW_EMPTY_PASSWORD=yes
    ports:
      - '80:80'
      - '443:443'
    volumes:
      - 'testlink_data:/bitnami'
    depends_on:
      - mariadb

volumes:
  mariadb_data:
    driver: local
  testlink_data:
    driver: local
```
---

### 編集後の docker-compose.yml

編集ポイント
- image: を bitnami/mariadb:10.3 に指定する
- image: を bitnami/testlink:1.9.19 に指定する
- ALLOW_EMPTY_PASSWORD=yes で DB パスワード無しにする
　**※簡易だが公開サーバには不向き、DBパスワードありは後述する**
- ローカルPCの~/testlink/のバックアップディレクトリを Volumes: で指定する
- ポート番号を任意のポートに指定する
- メール設定をする（本設定は Gmail のもの）
- TestLink の管理者アカウントとパスワードを指定する
- TestLink の言語を日本語対応させる

```bash:docker-compose.yml
version: '3'

services:
  mariadb:
    image: 'bitnami/mariadb:10.3'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=bn_testlink
      - MARIADB_DATABASE=bitnami_testlink
    volumes:
      - '~/testlink/backup/mariadb:/bitnami'
  testlink:
    image: 'bitnami/testlink:1.9.19'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_HOST=mariadb
      - MARIADB_PORT_NUMBER=3306
      - TESTLINK_DATABASE_USER=bn_testlink
      - TESTLINK_DATABASE_NAME=bitnami_testlink
      - TESTLINK_EMAIL=mymailaddress@gmail.com
      - TESTLINK_LANGUAGE=ja_JP
      - SMTP_ENABLE=true
      - SMTP_HOST=smtp.gmail.com
      - SMTP_PORT=587
      - SMTP_USER=mymailaddress@gmail.com
      - SMTP_PASSWORD=mymailpassword12345678
      - SMTP_CONNECTION_MODE=tls
      - TESTLINK_USERNAME=admin
      - TESTLINK_PASSWORD=pass1234
    ports:
      - '0.0.0.0:33080:80'
      - '0.0.0.0:33443:443'
    volumes:
      - '~/testlink/backup/testlink:/bitnami'
    depends_on:
      - mariadb
```

---
### DBパスワードありの docker-compose.yml

編集ポイント
- 上記の設定に DB パスワードを設定する

```bash:docker-compose.yml
version: '3'

services:
  mariadb:
    image: 'bitnami/mariadb:10.3'
    environment:
      - MARIADB_ROOT_PASSWORD=master_root_password
      - MARIADB_PASSWORD=my_password
      - MARIADB_USER=bn_testlink
      - MARIADB_DATABASE=bitnami_testlink
    volumes:
      - '~/testlink/backup/mariadb:/bitnami'
  testlink:
    image: 'bitnami/testlink:1.9.19'
    environment:
      - TESTLINK_DATABASE_PASSWORD=my_password
      - MARIADB_HOST=mariadb
      - MARIADB_PORT_NUMBER=3306
      - TESTLINK_DATABASE_USER=bn_testlink
      - TESTLINK_DATABASE_NAME=bitnami_testlink
      - TESTLINK_EMAIL=mymailaddress@gmail.com
      - TESTLINK_LANGUAGE=ja_JP
      - SMTP_ENABLE=true
      - SMTP_HOST=smtp.gmail.com
      - SMTP_PORT=587
      - SMTP_USER=mymailaddress@gmail.com
      - SMTP_PASSWORD=mymailpassword12345678
      - SMTP_CONNECTION_MODE=tls
      - TESTLINK_USERNAME=admin
      - TESTLINK_PASSWORD=pass1234
    ports:
      - '0.0.0.0:33080:80'
      - '0.0.0.0:33443:443'
    volumes:
      - '~/testlink/backup/testlink:/bitnami'
    depends_on:
      - mariadb
```

---

####TestLink コンテナの初回起動時

```bash:ローカルPC
$ cd $HOME/testlink
$ docker-compose up -d
```

####TeskLink のフロントエンド
http://localhost/login.php

>TestLink の admin アカウントが設定どおりか確認する
アカウント：admin
パスワード：password12345678

####参考：TeskLink の英文マニュアルPDF
http://localhost/docs/testlink_installation_manual.pdf
http://localhost/docs/testlink_user_manual.pdf

####参考：TestLink コンテナのスタート

```bash:ローカルPC
$ cd $HOME/testlink
$ docker-compose start
```

####参考：TestLink コンテナのストップ

```bash:ローカルPC
$ cd $HOME/testlink
$ docker-compose stop
```
####参考：docker のコンテナやイメージの削除
[dockerのコンテナ・イメージを謎のコマンド群で消すのもいいけどdocker-cleanコマンドもいいよ](http://qiita.com/Jey/items/8714c47fd839597a40a3)

##2. TestLink を設定する

[【2019年版】Docker Bitnami/TestLink を設定する](https://qiita.com/shimizumasaru/items/6c7b3f55a2dd63d5252b)

### 以上