Eksperimen ini bertujuan untuk mengintegrasikan Fedora Directory Server dengan Samba. Langkah pertama yang saya lakukan adalah gooling, cari petunjuk bagaimana mengintegrasikan Fedora Directory Server dengan Samba. Petunjuk pertama didapat dari http://directory.fedoraproject.org/wiki/Howto:Samba ada juga salinannya dalam bahasa Indonesia di salah satu blogsite yang saya temukan.
Setelah mengikuti langkah-langkahnya dari site tersebut, selalu berakhir dengan kegagalan, terutama saat mencoba perintah
pdbedit
, jika nanti ada yang berhasil, syukur deh.
Lelah mencari petunjuk dengan googling (nggak ketemu-ketemu solusinya), saya coba lihat bagian “discussion” (harusnya sih dari awal liat ini aja), ternyata ada yang posting bahwa “How-to” dari http://directory.fedoraproject.org/wiki/Howto:Samba ini agak ngawur dan emang nggak bekerja. Bah !!! Tapi orang yang mem-posting juga menyarankan untuk menggunakan smbldap-tools. Ok, eksperimen dimulai :
- Petunjuk pertama diperoleh dari http://wiki.babel.com.au/index.php?area=Linux_Projects&page=LdapSambaHowtoFedoraCore
- Pastikan file /etc/samba/smb.conf sudah teredit dengan benar. Dalam hal ini, paling tidak untuk mengintegrasikan samba dengan FDS, yang perlu diubah adalah nama workgroup (sesuaikan) dan ldap suffix. Berikut adalah contohnya:
- Buat password untuk directory manager dengan perintah “smbpasswd -w <password>”
- Test konfigurasi samba dengan perintah “testparm”, pastikan tidak ada error. (Maaf pembahasan mengenai konfigurasi samba tidak termasuk disini).
- Install smbldap-tools dengan perintah
yum install smbldap-tools
- Berikutnya saya harus mencari file samba.schema. Jika kita menginstall samba, file ini sebetulnya include dalam salah satu direktori penginstallan samba, tapi saya lupa dimana (mungkin di /usr/share/doc/samba-*/LDAP/samba.schema)
Kebetulan, di PC saya file ini juga terdapat di /etc/openldap/schema. - Ubah file samba.schema ke bentuk ldif, dengan memanfaatkan tool ol-schema-migrate.pl. Tools ini dapat di download di sini. Gunakan perintah berikut ini :
perl ol-schema-migrate.pl -b /etc/openldap/schema/samba.schema -*/LDAP/samba.schema > /etc/dirsrv/slapd-<server>/schema/61samba.ldif.
- Perintah di langkah 7 akan mengubah samba.schema ke bentuk ldif dan disimpan di “/etc/dirsrv/slapd-<nama server ldap>/schema/“, dengan nama 61samba.ldif. Angka 61 adalah tambahan yang diberikan karena ldap server mengelola schema berdasarkan urutan dari file-file schema, dimana urutan ini ditempatkan didepan nama file.
- Saatnya mengkonfigurasi smbldap-tools. Jalankan file configure.pl, secara default ada di :
/usr/share/doc/smbldap-tools-<versi>/configure.pl
- Jawab pertanyaan-pertanyaan seperti sesuai spesifikasi yang kita miliki, banyak pertanyaan dapat dijawab secara default. Ada sedikit keraguan disini, karena setelah mengisi “default domain name to append to email address [] : neo-tekin.priv”, program selesai tapi muncul pesan :
“Use of uninitialized value $# in concatenation (.) or string at /usr/share/doc/smbldap-tools-0.9.5/configure.pl line 314, <STDIN> line 34.”
Semoga tidak menjadi masalah.
- Sesuai petunjuk, seharusnya dengan menggunakan configure.pl akan ada item tak berguna di ldap server, yaitu sebuah sambaDomainName bernama TestDomain. Cek dengan perintah :
ldapsearch -x ’sambaDomainName=*’ , Beruntung, ternyata di ldap server entry TestDomain tidak muncul. Mungkin karena perbedaan versi dari smbldap-tools. - Jalankan perintah berikutnya :
/usr/sbin/smbldap-populate -e /root/smb-populate.ldif
- edit file /root/smb-populate.ldif, Tambahkan item-item berikut ke entry terakhir (hanya bila item tersebut belum ada) :
- Ada beberapa error yang menyatakan adanya entry-entry yang sudah ada. Bukan masalah.
- Langkah berikutnya adalah me-restart samba service
[global]
workgroup = NEO-TEKIN
security = user
passdb backend = ldapsam:ldap://forest.neo-tekin.priv
ldap admin dn = cn=Directory Manager
ldap suffix = dc=neo-tekin,dc=priv
ldap user suffix = ou=People
ldap machine suffix = ou=Computers
ldap group suffix = ou=Groups
objectClass: top
sambaAlgorithmicRidBase: 1000
sambaNextUserRid: 1000
Ok, sejauh ini sepertinya integrasi Samba dan FDS berjalan cukup lancar. Saatnya mencoba menambakan mesin/workstation ke samba :
smbldap-useradd -w “tekin-1″
Hasilnya ….. gagal ! , muncul pesan berikut :
Could not find base dn, to get next uidNumber at /usr/lib/perl5/vendor_perl/5.10.0/smbldap_tools.pm line 1179.
Waktunya googling…web http://www.iallanis.info/smbldap-tools/docs/smbldap-tools/#htoc38 menawarkan solusi dengan mengeksekusi script “smbldap-populate”. Ternyata setelah dijalankan ada pesan error lain lagi yang menyatakan tidak adanya privilege (wewenang), kemudian ditawarkan untuk mengubah password root.
Saat password root diganti, muncul pesan error yang lagi-lagi menyatakan tidak adanya wewenang mengubah password root.
Akhirnya saya putuskan untuk mengulang langkah 9-12 dan 14 (langkah 13 dilewat). Mengapa saya melewati langkah 13 ? Semata-mata karena langkah 13 ini dilakukan jika menggunakan smbldap-tools versi sebelumnya. Intuisi saya mengatakan, mungkin ada perbedaan versi dan bug pasti dihapus.
Setelah dicoba kembali , ternyata berhasil !!!!!!! Paling tidak sambadan ldap telah terintegrasi.
June 23, 2009 at 8:03 am
Bukannya FDS itu sekaligus berfungsi sebagai PDC? Atau, FDS hanyalah manager dari OpenLDAP?
June 24, 2009 at 4:44 am
Setahhu saya sih FDS itu korelasi langsungnya sama OpenLDAP, jadi kalo untuk PDC sendiri kan pake Samba. Autentikasi samba di arahkan supaya pake LDAP, dan database LDAP nya sendiri di manage pake FDS.