#経緯
認証サーバが欲しい。
OpenLDAPっていうのがあるらしい。
でもインストールして試すには、テスト用の物理サーバがない。
そうだ、仮想化しよう。今流行りのdockerで。
ついでに冗長化もしやすそう。
LDAPの操作が慣れるまでややこしそう。
実運用するとしてもユーザ登録するの俺じゃないし、GUIツールがいる。
phpLDAPadminっていうのがあるらしい。
ついでにこれもdockerでいけたらいいな。
#dockerインストール
Ubuntu 16.04LTSなので
sudo aptitude install docker docker-compose
でOK(バージョン古いけど)。
#docker imageを探してみた
docker hubでosixiaって人が両方作ってた
freeldap: osixia/openldap
phpldapadmin: osixia/phpldapadmin
マニュアル的なものはgithubにあった。
osixia/openldap
osixia/phpldapadmin
LDAPのimageを検索してみた感じ、スターが一番多いので採用
##とりあえずシェルスクリプトで
ldap.sh
SERVICE=ldap-service
HOST_NAME=ldap-host
PASSWORD=adminpass
docker run \
--name $SERVICE \
--hostname $SERVICE \
--env 'LDAP_ORGANISATION=Oreno Company' \
--env LDAP_DOMAIN=my-company.com \
--env LDAP_ADMIN_PASSWORD=$PASSWORD \
--detach \
osixia/openldap
docker run \
-p 443:443 \
--name ${SERVICE}-admin \
--hostname ${SERVICE}-admin \
--link $SERVICE:$HOST_NAME \
--env PHPLDAPADMIN_LDAP_HOSTS=$HOST_NAME \
--detach \
osixia/phpldapadmin
##docker-composeも試してみよう
docker-compose.yml
#LDAP server
ldap-service:
image: osixia/openldap
container_name: ldap_host
environment:
LDAP_ORGANISATION: "Oreno Company"
LDAP_DOMAIN: "my-company.com"
LDAP_ADMIN_PASSWORD: "ldappw"
ldap-phpadmin:
image: osixia/phpldapadmin
container_name: ldap_admin
environment:
PHPLDAPADMIN_LDAP_HOSTS: ldap_service
ports:
- "443:443"
links:
- ldap-service
これで
https://localhost/
にアクセスすればphpLDAPadminからいじれる
#永続化
volumeでマウントするパスはgithubにあるので、これでそのまま使えそう
ただ正式採用するなら、公式イメージじゃないので、自前でビルドする方が安心かな。