Skip to main content

Instalasi OpenLDAP dan phpLDAPadmin dengan Docker

OpenLDAP



OpenLDAP merupakan piranti lunak (program) komputer open-source yang mengimplementasikan Lightweight Directory Access Protocol (LDAP) yang dikembangkan dalam sebuah proyek open-source bernama OpenLDAP Project. 

Piranti lunak ini dirilis dengan lisensi bergaya BSD yang dikenal sebagai "the OpenLDAP Public License". 


Spesifikasi LDAP

LDAP sendiri merupakan protokol yang dirancang untuk dapat bersifat platform-independent dan vendor-neutral sehingga mampu berjalan diatas berbagai macam mesin computer berbeda seperti varian BSD, AIX, Android, HP-UX, macOS, Solaris, Microsoft Windows (NT dan keluarganya, seperti: 2000, XP, Vista, Windows 7, dll.), dan juga z/OS.

Spesifikasi LDAP di atur dan dirumuskan oleh lembaga bernama Internet Engineering Task Force (IETF) dalam dokumen Standard Track publications yang disebut Request for Comments (RFCs), dan dideskripsikan dalam format bahasa ASN.1. Untuk saat ini versi terbaru adalah Versi 3, yang di publish dalam RFC 4511 (road map untuk spesifikasi teknis disediakan dalam RFC 4510).


phpLDAPadmin

phpLDAPadmin (juga dikenal sebagai PLA) merupakan sebuah LDAP client berbasis web. Yang menjadikan pengelolaan LDAP server menjadi lebih mudah karena bisa diakses darimana saja, dan memiliki fitur multi bahasa.

Fitur tree-viewer dan fasilitas pencarian yang advance pada direktori membuat phpLDAPadmin lebih menyenangkan dan mudah untuk menjelajahi dan melakukan administrasi direktori . Karena phpLDAPadmin merupakan aplikasi berbasis web maka dia bisa berjalan di berbagai platform dan diakses dimana saja.

phpLDAPadmin merupakan LDAP browser yang cocok baik untuk yang sudah berpengalaman maupun yang masih pemula. Fitur-fitur didalamnya mencakup hampir segala hal untuk mengelola LD

AP Server dan Direktori didalamnya.

Fitur-fitur didalam phpLDAPadmin: 

  • LDAP tree browser (see screenshots)
  • Template-based entry editing
  • Copy LDAP entries (even copy between different servers)
  • Recursively copy entire trees
  • Delete LDAP entries
  • Recursively delete entire trees
  • View and edit image attributes (like jpegPhoto)
  • Advanced LDAP schema browser
  • Template-based entry creation
  • LDAP searches (both simple and advanced)
  • LDIF and DSML export
  • LDIF import
  • Rename LDAP entries
  • Manage user password hashes (supports sha, crypt, md5, blowfish, md5crypt)
  • Browse RootDSE LDAP information
  • Automagically determine your LDAP server's root DN
  • Configurable authentication (anonymous, web login, or static)
  • Friendly attribute translation (ie, display "Fax" instead of "facsimileTelephoneNumber")
  • Binary attribute support
  • Configurable support for aliases and referrals
  • Automatically increment UID numbers
  • Hyperlinks for mailto and href attribute values.
  • Configurable read-only and read/write modes.
  • Robust i18n support
  • Available in 10 languages


Implementasi LDAP Selain OpenLDAP

Untuk mengetahui implementasi lain dari LDAP selain OpenLDAP bisa dilihat disini.


osixia/openldap

Docker Pulls Docker Stars 

Osixia menyediakan docker image yang reliable untuk digunakan juga diakui oleh IBM. Bahkan IBM  sendiri meng-extend osixia/openldap untuk OpenLDAP image mereka. Infromasi terkait docker image Osixia OpenLDAP ini bisa ditemui disini


osixia/phpldapadmin

Docker Pulls Docker Stars

Osixia menyediakan docker image yang reliable untuk digunakan juga diakui oleh berbagai vendor besar seperti IBMInfromasi terkait docker image Osixia phpLDAPadmin ini bisa ditemui disini


Docker Compose File

Buat sebuah file docker-compose.yml dan isi dengan baris-baris yaml berikut:

version: '3.7'

networks:
  app-tier:
    driver: bridge

services:
    beanary_openldap:
        image: osixia/openldap:latest
        container_name: beanary_openldap
        hostname: beanary_openldap
        ports:
            - 389:389 
            - 636:636
        volumes:
            - ./data/certificates:/container/service/slapd/assets/certs
            - ./data/slapd/database:/var/lib/ldap
            - ./data/slapd/config:/etc/ldap/slapd.d
        networks:
            - app-tier
        environment:
            - LDAP_ORGANISATION="PT. Beanary Cipta Kreasi"
            - LDAP_DOMAIN=beanary.tech
            - LDAP_ADMIN_USERNAME=admin
            - LDAP_ADMIN_PASSWORD=admin_pass
            - LDAP_CONFIG_PASSWORD=config_pass
            - "LDAP_BASE_DN=dc=beanary,dc=tech"
            - LDAP_TLS_CRT_FILENAME=server.crt
            - LDAP_TLS_KEY_FILENAME=server.key
            - LDAP_TLS_CA_CRT_FILENAME=beanary.tech.ca.crt
            - LDAP_READONLY_USER=true
            - LDAP_READONLY_USER_USERNAME=user-ro
            - LDAP_READONLY_USER_PASSWORD=ro_pass
        restart: always

    beanary_phpldapadmin:
        image: osixia/phpldapadmin:latest
        container_name: beanary_phpldapadmin
        hostname: beanary_phpldapadmin
        ports: 
            - 443:443
            - 80:80
        volumes:
            - ./data:/data
        networks:
            - app-tier
        environment: 
            - PHPLDAPADMIN_LDAP_HOSTS=beanary_openldap
        depends_on:
            - beanary_openldap
        restart: always


"Pada docker-compose.yml milik saya ini ada postgres, redis, adminer dan juga keycloak. Abaikan semua itu dan fokus pada openldap dan phpldapadmin saja."

 

Pastikan ports berikut ini available dan tidak digunakan oleh applikasi/container lain:

            - 389 

            - 636

            - 443

            - 80


Jalankan Container

 docker-compose up -d




Buka phpLDAPadmin pada Browser

Buka url http://localhost:443 atau https://localhost/ lalu klik login pada sidebar.

Lalu masukan data sbb:

  1. Login DN: cn=admin,dc=beanary,dc=tech
  2. Password: admin_pass


Halaman Dashboard



Bila ada kendala dalam melakukan setup dan instalasi dapat tonton video dibawah ini:




 

  

Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Semalam kemarin (09 Januari 2019) tidak sengaja kami sekeluarga lewat Bandung Digital Hub saat pulang dari Fish Wow Cheeseee  yang di Jl. Lombok. Bandung Digital Hub ini sendiri berlokasi tidak jauh dari dari tempat kami makan tersebut, yaitu berlokasi di Jl. Laswi No.7, Kacapiring, Batununggal, Kota Bandung, Jawa Barat 40271. Berhubung untuk bulan Januari 2019 ini sedang tidak masuk ke kantor maka saya putuskan untuk besoknya (hari ini 09 Januari 2019) nyoba untuk bekerja remote dari Bandung Digital Hub , apalagi istri yang kebetulan follower pak Ridwan Kamil di Instagram juga Facebook dan tampaknya pernah lihat ulasan mengenai tempat ini sehingga tampak antusias supaya saya datang ketempat ini ini dan mencoba bekerja dari gedung creative hub dan coworking yang keren ini.  Tempat Parkir Masalah utama saat kita datang ke coworking space terutama yang berlokasi di Bandung (atau mungkin kota-kota lainnya) adalah lahan parkir, kadang lahan parkir ...

Numpang Kerja Remote dari Bandung Digital Valley

Satu lagi co-working place  gratisan dan keren yang cukup populer dikota Bandung, co-working place yang juga memberikan fasilitas tempat kerja (co-working place) dan fitur-fitur menarik lainnya,  co-working place keren  ini adalah Bandung Digital Valley atau yang sering disingkat BDV . C o-working place  Bandung Digital Valley ini  merupakan bagian dari Telkom , mulai aktif digunakan dari sekitar tahun 2012 lalu .  Tempat ini biasanya menjadi tempat favorit bagi para pengiat startup, freelancer, dan mahasiswa . Gedung BDV Gedung BDV Gedung BDV Co-working space Bandung Digital Valley ini sendiri berlokasi di Menara Bandung Digital Valley, Jl. Gegerkalong Hilir No.47, Sukarasa, Sukasari, Kota Bandung, Jawa Barat, detailnya bisa dilihat di Google map berikut. Pemandangan jalan setelah pintu satpam. Free Co-working Space Membership Untuk mulai menggunakan fasilitas co-working space ini secara gratis maka yang pe...

Membuat Authentikasi Berbasis Token pada Spring Boot dengan Spring Security dan JWT

Setelah beberapa kali mencari tutorial tentang otentikasi aplikasi web Spring Boot dengan menggunakan JWT yang mudah dipahami akhirnya saya menemukan artikel berbahasa Inggris tapi sangat mudah dipahami  dan diikuti, artikel tersbut berada disini , dengan judul " Spring Boot Token based Authentication with Spring Security & JWT ". Untuk memudahkan orang-orang yang terbiasa membaca artikel dalam bahasa indonesia (termasuk saya sendiri), artikel ini saya buat dan susun ulang (artikel aslinya tidak tertulis dengan runtut dan dapat membuat pemula bingung dengan berbagai error yang muncul) supaya lebih mudah untuk diikuti dan dapat di gunakan bersama. Applikasi yang akan kita buat adalah aplikasi web yang setiap endpoint-nya hanya bisa di akses oleh role tertentu. 1. Tools Yang Diperlukan IntelliJ Idea text editor. Spring Assistant Plugin. Postman. PostgreSQL + DBeaver. Min Java 8 Spring Boot 2.1.8 (dengan Spring Security, Spring Web, Spring Data JPA). jjwt 0.9.1. Maven 3.6.1....