やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

EC2上にやられアプリ「BadToDo」を立ててみた

個人的に注目している徳丸先生のBadToDo。回答の解説記事が出たりもしています。

このアプリはローカル端末で試すことを前提に作られていると見受けられますが、
設定を変えると、別端末に導入してNW経由でアクセスすることも可能です。
公式インストール手順にほとんど書かれていますが、実際にやってみたところ、
Dockerの仕組みを勘違いしてて、ちょっとばかし詰まったのでメモ。
環境は3月27日に作ったAL2023環境を使います。
ていうか、本件がやりたかったためにこさえてました。

本件を行う際は、もちろん自己責任でお願いします。

  • セキュリティグループやFWで、EC2へのインバウンド通信を徹底的に縛る(許可するのはアクセス元IPアドレスからの23128ポート通信とEC2メンテナンス用通信のみくらいの勢いでいい)
  • 公式インストール手順の通りにソースコードを落とす。この時点ではdocker compose upは実行しないこと
  • 付属のenv_exampleを .env にリネーム(あるいはコピー)して.envを作成する
  • .envを編集して待ち受けIPアドレスを変更する
$ vi .env
# APACHE_IP=0.0.0.0
↓
APACHE_IP=0.0.0.0
  • コンテナ群を作成する
$ sudo docker compose up -d
  • 下記のような感じでApache Proxyが0.0.0.0で待ち受けしていることを確認する
$ sudo docker ps -a
・・・
xxxxxx  badtodo-apache  "/bin/sh -c /root/en…"  xx minutes ago  Up xx minutes  80/tcp, 0.0.0.0:23128->3128/tcp  badtodo-apache
・・・

【Appendix】
Webサーバのコンテナに入りたい場合は、こんな感じにdocker execすると行ける模様。

$ sudo docker exec -it badtodo-apache /bin/bash
root@badtodo-apache:/var/www#