LoginSignup
1
1

More than 3 years have passed since last update.

phpMyAdmin(nginx)に認証をつける with docker-compose

Posted at

phpMyAdminに認証をつけたい!と思ったものの……

よく分からず力業でなんとかした記録。

誰かが「そんなんこうしたら一瞬じゃん?」って言ってくれることを希望。

■dockerに公式のphpMyAdminがあります
https://hub.docker.com/r/phpmyadmin/phpmyadmin/

phpmyadminコンテナに入ります

docker exec -it phpmyadmin sh

いつもの癖で bash って打つと「そんなハイカラなものは知らない」と一蹴されます。

htpasswdコマンドを使えるようにします

htpasswdコマンドは not found になります。Alpineという個人的に馴染みのないディストリビューションのため、htpasswdを入れるのにどうしたら良いか分からないので調べました。

apk add apache2-utils

nginxの設定にBASIC認証を追記します

        location / {
            (以下 追記)
            auth_basic "Restricted";
            auth_basic_user_file /etc/nginx/.htpasswd;
        }

.htpasswdファイルを作る

htpasswd -c /etc/nginx/.htpasswd {アカウント}

そしてパスワードを設定。

イメージファイルを保存

docker commit phpmyadmin phpmyadmin

分かりにくいですが、左がコンテナ名で、右が保存するイメージ名です。イメージ名は / で区切るのが推奨されていますが、内部で使うだけなので省略。

docker-compose.ymlを修正

  phpmyadmin:
    image: phpmyadmin
    # image: phpmyadmin/phpmyadmin

そして docker-compose を落とし上げ

docker-compose down && docker-compose up -d

で認証がかかるようになります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1