LoginSignup
20
18

More than 5 years have passed since last update.

dockerでLDAP Serverを起動。ついでにphpLDAPadminも

Last updated at Posted at 2017-01-21

経緯

認証サーバが欲しい。
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にあるので、これでそのまま使えそう
ただ正式採用するなら、公式イメージじゃないので、自前でビルドする方が安心かな。

20
18
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
20
18