Instalasi LDAP+LAM di Slackware 13 (Bag 1)

Penjelasan mengenai LDAP sudah banyak berseliweran di mbah google jadi silahkan cari sendiri, pada kesempatan kali ini saya akan mejelaskan mengenai instalasi dan konfigurasi yang dibutuhkan

disini menggunakan Linux Slackware tetapi harus nya di distro lain pun akan sama saja.mari kita mulai Bismillah...

Diasumsikan Distro Slackware 13 yang digunakan adalah Full install khawatir ada paket dan depedencies yang dibutuhkan..


A.Paket

1.OpenLdap silahkan mengunduh nya di http://www.openldap.org/software/download/ versi yang saya gunakan adalah versi stable terbaru saat ini openldap-stable-20091028.tgz

2. apache + php5 yang sudah terinstalasi pada saat menginstall Slackware pada bagian ini akan dijelaskan enabling php pada Slackware

3.Web Management untuk LDAP bisa menggunakan LAM (LDAP Account Management) atau phpLDAPAdmin yang nanti nya akan kita bahas keduanya
-untuk LAM silahkan diunduh di http://lam.sourceforge.net/download/index.htm

saya menggunakan versi ldap-account-manager-2.8.0.tar.gz
- sedangkan phpLDAPadmin silahkan diunduh di http://sourceforge.net/projects/phpldapadmin/ saya menggunakan versi phpldapadmin-1.2.0.4

B.Instalasi

1.Instalasi OpenLDAP untuk seterus nya akan saya sebut LDAP
exstract file:


$sudo tar zxfv openldap-stable-20091028.tgz
$cd openldap-2.4.19/

configure,membuat depend dan menginstall nya


$./configure
$sudo make depend
$sudo make install

tunggu hingga proses ini selesai,anda bisa nonton tv,makan gorengan,merokok..

bila berhasil,akan saya jabarkan letak file konfigurasi dari LDAP karena pada saat configure kita tidak memberikan
- maka seluruh file konfigurasi akan diletakan secara default di /usr/local/ pada Distro lain mungkin akan berbeda:

pada Slackware letak file berada.. bila pada saat configure tidak di setup / default configure.


- config file = /usr/local/etc/openldap/ 
- daemon      = /usr/local/libexec/ 
- bin slpad   = /usr/local/sbin/ - database ===> /usr/local/var/openldap-data/

anda bisa merubah nya dengan cara:
./configure --libdir target --sysconfdir target dll. 





LDAP memiliki dua file konfigurasi yaitu slapd.conf dan ldap.conf. akan saya jelaskan

1.1 slapd.conf
konfigurasi ini digunakan untuk config server dan terletak di



/usr/local/etc/openldap/slapd.conf

$cd /usr/local/etc/openldap/ 
$sudo vim /usr/local/etc/openldap/slapd.conf   

berisi

#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include  /usr/local/etc/openldap/schema/core.schema
include  /usr/local/etc/openldap/schema/cosine.schema
include  /usr/local/etc/openldap/schema/inetorgperson.schema
include  /usr/local/etc/openldap/schema/nis.schema
include  /usr/local/etc/openldap/schema/samba.schema

# Define global ACLs to disable default read access.

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org

pidfile  /usr/local/var/run/slapd.pid
argsfile /usr/local/var/run/slapd.args

# Load dynamic backend modules:
# modulepath /usr/local/libexec/openldap
# moduleload back_bdb.la
# moduleload back_hdb.la
# moduleload back_ldap.la

# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
#  Allow self write access
#  Allow authenticated users read access
#  Allow anonymous users to authenticate
# Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
# by self write
# by users read
# by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn.  (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

#######################################################################
# BDB database definitions
#######################################################################

database bdb
suffix  "dc=kantorku,dc=com"
rootdn  "cn=admin,dc=kantorku,dc=com"

# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
# pass adminldap
rootpw  {SSHA}FWdKnuds6ckQDjBE5wrEJb04yFGGao4N 
# The database directory MUST exist prior to running slapd AND 
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /usr/local/var/openldap-data
# Indices to maintain

index objectClass,uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname   eq,subinitial


ubah dan isikan baris yang saya bold.
penjelasan :


 
database ==> menggunakan BDB (Berkeley DB)
suffix   ==> membentuk tree seperti dns dengan urutan kantorku.com sebagai top domain
rootdn   ==> user ldap nya adalah "admin" untuk domain kantorku.com
pada bagian rootpw bisa dibuat dengan menggunakan slappaswd:

$sudo /usr/local/libexec/slappasswd

masukan password untuk root ldap,setelah itu akan muncul password dengan hasil di encrypt,
copykan hasil encrypt tadi ke parameter rootpw,keluar dan simpan dari vim:
dengan
menekan tombol Esc,lalu Shitf+ :,tulis wq

1.2 ldap.conf
konfigurasi ini digunakan untuk config global dan umum untuk client ,terletak di
/usr/local/etc/openldap/ldap.conf

$sudo vim /usr/local/etc/openldap/ldap.conf
berisi

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

#BASE dc=example,dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT 12
#TIMELIMIT 15
#DEREF  never

#File konfigurasi untuk Global dan Umum untuk Client

#letak LDAP server 
host 192.168.2.254

base dc=kantorku,dc=com
ssl  no

penjelasan :
isikan host anda, dan base sesuai dengan domain yang kita ingin kan seperti kantorku.com dan set ssl ke no.

1.4 Running LDAP Server dengan menjalankan slapd


$sudo /usr/local/sbin/slapd start


cek dengan netsat -l


$netstat -l

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:nfsd                  *:*                     LISTEN     
tcp        0      0 *:ldap                  *:*                     LISTEN     


atau dengan perintah


$ps -e | grep slapd

1.5 Agar top domain yang tadi kita buat ada dalam Database LDAP,maka kita akan membuat file yang akan saya sebut sebagai

domain.ldif


dn: dc=kantorku,dc=com
objectClass: top
objectClass: domain
dc: kantorku


lalu
import file domain.ldif tadi ke database LDAP 
dengan menggunakan perintah ldapadd



$sudo ldapadd -x -D "cn=admin,dc=kantorku,dc=com" -W -f /usr/local/etc/openldap/domain.ldif

masukan password yang tadi sudah kita buat untuk admin LDAP.
jalankan ldapsearch untuk melihat apakah sudah terisi / belum


$ldapsearch -x

akan muncul


# extended LDIF
#
# LDAPv3
# base  (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# kantorku.com
dn: dc=kantorku,dc=com
objectClass: top
objectClass: domain
dc: kantorku

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

bila muncul,selamat anda telah berhasil menginstal LDAP, jangan lupa bersyukur Alhamdulillah..
selanjutnya menginstall LAM / phpLDAPAdmin sebagai web administrator nya untuk mempermudah
pekerjaan.

Comments

  1. Tulisan yang benar-benar bermanfaat...
    Mohon izin menjadikan blog Anda khususnya tentang openldap ini untuk menjadi rujukan tulisan saya di Makassar-slackers.org, yang juga tentang implementasi openldap.
    Mohon responnya segera

    ReplyDelete
  2. @mas Denic Wibowo.Terimakasih,kalau ingin menjadikan rujukan silahkan saja,walaupun blog ini masih banyak kekurangan nya :),blog ini pun dibuat untuk membantu sesama pengguna linux,salam slacker indonesia. :)

    ReplyDelete
  3. salam kenal mas setyadi. saya sudah coba konfigurasinya sampai dengan tahap : ldapadd -x -D "cn=admin,dc=kantorku,dc=com" -W -f /usr/local/etc/openldap/domain.ldif

    setelah memasukan password yang telah dibuat muncul pesan error : ldap_bind: Invalid credentials (49) on slackware

    hal ini disebabkan ap ya?

    ReplyDelete
    Replies
    1. @Anonymous,
      ketika menjalankan perintah
      ldapadd -x -D "cn=admin,dc=kantorku,dc=com" -W -f /usr/local/etc/openldap/domain.ldif

      menggunakan user root.
      dan apa bila sudah menggunakan user root, pastikan rootdn anda benar baik password:
      bisa di generate dengan slappasswd.
      atau pun account name pada file ldap.conf:
      rootdn "cn=admin,dc=kantorku,dc=com"

      Delete
    2. Ok thx. Mas Setyadi sudah berhasil.

      Delete
  4. salam kenal mas Setyadi, artikel yang sangat membantu. saya ada masalah pada saat melakukan lamdaemon test :

    Lamdaemon test
    127.0.0.1
    Unix account X Your LAM admin user (cd=admin,dc=slackware,dc=net) must be a valid Unix account to work with lamdaemon!

    mohon pencerahannya

    ReplyDelete

Post a Comment

Popular posts from this blog

authentication failure using SSH pam_unix(sshd:auth): authentication failure;

Howto configure SPLUNK Universal Forwarder

openvpn howto make OCSP server using OpenSSL [Part2]