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 :

  1. Petunjuk pertama diperoleh dari http://wiki.babel.com.au/index.php?area=Linux_Projects&page=LdapSambaHowtoFedoraCore
  2. 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:
  3. [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

  4. Buat password untuk directory manager dengan perintah “smbpasswd -w <password>”
  5. Test konfigurasi samba dengan perintah “testparm”, pastikan tidak ada error. (Maaf pembahasan mengenai konfigurasi samba tidak termasuk disini).
  6. Install smbldap-tools dengan perintah

    yum install smbldap-tools

  7. 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.
  8. 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.

  9. 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.
  10. Saatnya mengkonfigurasi smbldap-tools. Jalankan file configure.pl, secara default ada di :

    /usr/share/doc/smbldap-tools-<versi>/configure.pl

  11. 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.

  12. 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.
  13. Jalankan perintah berikutnya :

    /usr/sbin/smbldap-populate -e /root/smb-populate.ldif

  14. edit file /root/smb-populate.ldif, Tambahkan item-item berikut ke entry terakhir (hanya bila item tersebut belum ada) :
  15. objectClass: top
    sambaAlgorithmicRidBase: 1000
    sambaNextUserRid: 1000

  16. Ada beberapa error yang menyatakan adanya entry-entry yang sudah ada. Bukan masalah.
  17. Langkah berikutnya adalah me-restart samba service

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.