openldap
docker
docker-compose
rancher
phpldapadmin

RancherでLDAPとRocket.Chatを構築する (4)OpenLDAPサーバを構築する

はじめに

前回の続きです。
今回は、OpenLDAP, phpLDAPadminを構築します。

docker image選定

現時点で、OpenLDAPはRancherのカタログにないので、
Docker HubのAUTOMATED BUILDのうち、DL数の多いイメージを選択しました。

  • LDAP
    accenture/adop-ldap
  • phpLDAPadmin
    dinkel/phpldapadmin

Docker-compose.yml作成

$ mkdir -p /vagrant/services/ldap
$ touch /vagrant/services/ldap/docker-compose.yml

docker Hubの各イメージのDescriptionを参考に、docker-compose.ymlを記述します。

docker-compose.yml
version: '2'

networks:
  bridge:
    driver: bridge

services:
  ldap:
    image: accenture/adop-ldap
    container_name: ldap
    ports:
      - "389:389"
    environment:
      - SLAPD_PASSWORD=secret_password
      - SLAPD_DOMAIN=ldap.service.local
      - SLAPD_FULL_DOMAIN=dc=ldap,dc=service,dc=local
    volumes:
      - ldap-config-data:/etc/ldap
      - ldap-app-data:/var/lib/ldap
    networks:
      - bridge
  phpldapadmin:
    image: dinkel/phpldapadmin
    container_name: phpldapadmin
    ports:
      - "8010:80"
    environment:
      - LDAP_SERVER_HOST=ldap
    links:
      - ldap
    networks:
      - bridge

volumes:
  ldap-config-data: {}
  ldap-app-data: {}

LDAP & phpLDAPadminコンテナ作成&開始

docker-composeコマンドでも起動できますが、
せっかくなのでRancherから起動します。
※コマンドの場合は、Rancher CLIからもできます。

Rancherにアクセス
http://(ホストマシンのIPアドレス):8001

「STACKS」→「Add Stack」

  • Name: LDAP
  • Optional:docker-compose.yml
    作成したファイルを指定するか、ファイルの内容をコピペします。

ldapup.PNG

「Create」を押すと、コンテナが生成されます。

ldap_finish.PNG

phpLDAPadminにログインする

ホストOSからブラウザでアクセスします。
http://localhost:8010

loginを押し、以下を入力してログインします。

  • Login DN:cn=admin,dc=ldap,dc=service,dc=local
  • Password:secret_password

phpadmin.PNG

ログインできました!

テストユーザ作成

Webアプリからのログインに使用するため、ユーザ: testを作成します。

"ou=people" → "Create a child entry" → "Default" → "Courier Mail: Account"

User ID以外は適当に入力します。
php_register.PNG

「Create Object」→ 「Commit」でユーザ作成完了です。

つづき→(5)Rocket.Chatを構築する

目次: RancherでLDAPとRocket.Chatを構築する

(1)仮想マシン構築
(2)Dockerインストール
(3)Rancherを構築する
(4)OpenLDAPサーバを構築する
(5)Rocket.Chatを構築する