Senin, 08 September 2008

"Setting Server OpenLDAP"

*INSTALASI openLDAP*

Langkah-langkah instal dan konfigurasi openldap banyak terdapat diinternet, awalnya sih tanya sana tanya sini ma paman google, belajar sedikit demi sedikit lama2 botak dah nih kepala...wkwkwkwk..


kita mulai aja deh :

OS : CentOS 5.1 dengan openldap-2.3.27-8

nama contoh ldap : ldap.server.co.id

Nama contoh domain : server.co.id

IP Address : 172.16.1.1

yang harus dipersiapkan adalah Server , OS dan paket openldapnya :

1. siapkan paket RPM openLDAP-2.3.27-8
paket sudah terdapat dalam CD berikut paket dependencies untuk openLDAP.
check paketnya dulu...

# rpm -qa | grep ldap

openldap-servers-2.3.27-8

openldap-2.3.27-8

nss_ldap-2.3.27

python-ldap-2.3.27

openldap-clients-2.3.27



langsung aja yach....

[root@test ~]# chkconfig --level 345 ldap on <--biar habis restart lgs jalan
[root@test ~]# /etc/init.d/ldap start atw,
[root@test ~]# service ldap start

sehabis ini kta membuat password LDAP user untuk root.
[root@test ~]# slappasswd
new password:
re-enter new password:
{SSHA}qI/hh6lD/no5y6rgi3DqhISFKu53Z0ph
[root@test ~]#

jangan lupa copi dulu password yg ter-enkrip diatas untuk dimasukan dalam file slapd.conf

edit file slapd.conf :

[root@test ~]# vi /etc/openldap/slapd.conf
#######################################################################
# ldbm and/or bdb database definitions #######################################################################

# database bdb
# suffix "dc=server,dc=co.id"

# rootdn "cn=Manager,dc=server,dc=co.id"
rootpw {SSHA}qI/hh6lD/no5y6rgi3DqhISFKu53Z0ph <<<-- tanda pagarnya tidak pakai
#
#

setelah itu save dan restart openLDAP

[root@test ~]# service ldap restart
Checking configuration files for slapd: bdb_db_open: Warning - No DB_CONFIG file found in directory /var/lib/ldap: (2)
Expect poor performance for suffix dc=ramayana,dc=co.id.
config file testing succeeded                       [ OK ]
Starting slapd:                                             [ OK ]

klo kluar seperti diatas... coba copi file yang ada di /etc/openldap/DB_CONFIG.example ke /var/lib/ldap/DB_CONFIG

[root@test ~]# mv /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

[root@test ~]# 

ganti isi file migrate_common.ph sesuaikan dengan domainnya.
[root@test ~]# vi /usr/share/openldap/migration/migrate_common.ph
$DEFAULT_MAIL_DOMAIN = "server.co.id";
$DEFAULT_BASE = "dc=server,dc=co.id";

2. buat file server.co.id.ldif
[root@test ~]# vi /etc/openldap/server.co.id.ldif
isi contoh seperti ini :

dn: dc=server,dc=co.id

dc: server description: LDAP Admin
objectClass: dcObject
objectClass: organizationalUnit
ou: rootobject dn: ou=People, dc=server,dc=co.id
ou: People description: Users of server
objectClass: organizationalUnit

import file Ldif yg sudah dibuat kedalam ldap....

[root@test ~]# ldapadd -x -D "cn=Manager,dc=server,dc=co.id" -W -f /etc/openldap/server.co.id.ldif
enter LDAP Password:
adding new entry "dc=server,dc=co.id" adding new entry "ou=people,dc=server,dc=co.id
[root@test ~]#


NB : bila terjadi Error dalam mengimport file ldif, coba cek kembali file slapd.conf
cek dibagian rootpw: hilangkan tanda pagarnya, kemudian restart kembali service ldapnya...
contoh : ( liat contoh file slapd.conf )

[root@test ~]# ldapadd -W -x -D "cn=Manager,dc=server,dc=co.id" -f
/etc/openldap/server.co.id.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)


klo tidak ada error, sekarang kita masukin usernya
[root@test ~]# ldapadd -x -D "cn=Manager,dc=server,dc=co.id" -W -f /etc/openldap/root.ldif
Enter LDAP Password:
adding new entry “uid=root,ou=People,dc=server,dc=co.id” adding new entry “uid=root,ou=People,dc=server,dc=co.id”
[root@test ~]#

klo sudah dimasukkan, kita restart service LDAPnya
[root@test ~]# /etc/init.d/ldap restart

sudah itu kita test apakah ldap kita sudah berjalan atau belum

[root@test ~]# ldapsearch -x -b 'dc=server,dc=co.id' '(objectclass=*)'
keluar hasil sbg:

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

# server.co.id
dn: dc=server,dc=co.id
dc: ramayana
objectClass: top
objectClass: domain

# Hosts, server.co.id
dn: ou=Hosts,dc=server,dc=co.id
ou: Hosts
objectClass: top
objectClass: organizationalUnit

# netgroup.byhost, server.co.id
dn: nisMapName=netgroup.byhost,dc=server,dc=co.id
nisMapName: netgroup.byhost
objectClass: top
objectClass: nisMap

# root, People, server.co.id
dn: uid=root,ou=People,dc=server,dc=co.id
uid: root
cn: Manager
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQxJGo2UmxlQTdpJHlrN0M4YUJUOVFQa0hMM29UMDZZMjA=
shadowLastChange: 14223
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 0
gidNumber: 0
homeDirectory: /root
gecos: root

# operator, People, server.co.id
dn: uid=operator,ou=People,dc=server,dc=co.id
uid: operator
cn: operator
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSo=
shadowLastChange: 14223
shadowMax: 99999
shadowWarning: 7
loginShell: /sbin/nologin
uidNumber: 11
gidNumber: 0
homeDirectory: /root
gecos: operator

# teguh, People, server.co.id
dn: uid=teguh,ou=People,dc=server,dc=co.id
uid: teguh
cn: teguh
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQxJDg0UEtYQXlLJG0vdGJBNU1XbUtYcG50UXo5N0x6bC4=
shadowLastChange: 14224
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 501
gidNumber: 501
homeDirectory: /home/teguh

# support, People, server.co.id
dn: uid=support,ou=People,dc=server,dc=co.id
uid: support
cn: support
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQxJDlXMFNVcTl1JFM2QmZ3c3JwdElmQkp6N0VqMmxIMS4=
shadowLastChange: 14224
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 500
gidNumber: 500
homeDirectory: /home/support

# search result
search: 2
result: 0 Success

# numResponses: 18
# numEntries: 17
[root@test ~]#



*membuat addressbook*

Sekarang kita sudah mendefinisikan dan melakukan import skema direktory kita. Kita
bisa mulai menambah user user untuk digunakan sebagai address book pada direktory LDAP.
Dibawah ini adalah contoh sederhana untuk file LDIF sebuah alamat (contact). Buat file ldif
berikut (sesuaikan dengan nama Anda sebagai peserta praktikum ini)

[root@test ~]# vi daftaralamat.ldif
dn:cn=teguh ambar,ou=addressbook,dc=server,dc=co.id
Page 10
10
cn: teguh ambar
gn: teguh
sn: ambar
o: Home
l: bogor
street: komp.sabar jaya
st: jabar
postalCode: 16320
homePhone: 8554564
mobile: 08567077867
mail: penchotgok@gmail.com
objectClass: top
objectClass: inetOrgPerson


Kemudian isi file LDIF diatas dapat di masukkan kedalam Direktory LDAP dengan
command “ldapadd”.
Akses kontrol secara umum pada server LDAP, mendefinisikan bahwa setiap orang dapat
membaca entri direktory, tetapi hanya user manager (administrator) yang dapat menulisi
direktory tersebut.
Untuk menambah data dari file LDIF, user manager akan melakukan otentikasi dengan
menambahkan command line "-D 'cn=Manager,dc=server,dc=co.id' -W"

Jadi perintah untuk menambahkan content dari file ldif diatas adalah :

[root@test ~]# ldapadd -x -D 'cn=Manager,dc=server,dc=co.id' -W -f
daftaralamat.ldif
Enter LDAP Password:
adding new entry "cn=teguh ambar,ou=addressbook,dc=server,dc=co.id"

kelar dah...!!!! ;))
wedew...mpe kebelet pip nih...maaf yach..dah nda kuku..hehehe....

2 komentar:

AGUS AWALUDIN mengatakan...

Guh....tutorial setting LDAP Server-nya kurang mantapz guh. Buktinya udah gw cobain berapa kali pun kagak bisa juga gw.... Halah !!! :D

penchot mengatakan...

kurang ngerti kale... :D
harus tlaten gus klo mo ngoprek ldap