389 Server Direktori adalah Server LDAP perusahaan sumber terbuka.
Ini dapat menangani volume data yang sangat besar. Salah satu manfaat besar dari server 389 LDAP adalah kecepatannya menyala dan memproses hingga menangani beberapa ribu operasi per detik.
Ini memiliki beberapa fitur lanjutan termasuk replikasi multi-master asinkron untuk penskalaan horizontal, yang pada gilirannya memberikan toleransi kesalahan 100% dan throughput yang sangat tinggi.
Juga, perlu diingat bahwa ini mendukung TLS, SASL untuk otentikasi dan transportasi. 389 Server direktori sepenuhnya sesuai dengan LDAPv3.
Tutorial ini menjelaskan bagaimana Anda bisa menginstal dan mengonfigurasi 389 server direktori di lingkungan Linux Anda.
Siapkan Repositori EPEL
Jika Anda tidak memiliki pengaturan repositori EPEL, pastikan Anda mengaturnya, karena kami akan menginstal 389 paket terkait dari EPEL.
Pertama, download epel rpm dari website Fedora seperti di bawah ini.
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
Selanjutnya, Instal repositori epel di server Anda.
# rpm -ivh epel-release-7-9.noarch.rpm warning: epel-release-7-9.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:epel-release-7-9 ################################# [100%]
Jika Anda tertarik dengan OpenLDAP daripada 389 server direktori, lihat ini:Cara Memasang dan Mengonfigurasi OpenLDAP di Linux
Setup /etc/host File dengan Benar
Pastikan file host diatur dengan benar.
Dalam contoh ini, berikut ini adalah pengaturan file /etc/host saat ini.
# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.101.10 deploy.thegeekstuff.com deploy
Di atas:
- 192.168.101.10 – Apakah alamat ip server
- deploy.thegeekstuff.com – Ini adalah FQDN server tempat 389 server direktori diinstal
- deploy – Ini adalah nama host server
Mengatur Parameter sysctl yang Sesuai
Tambahkan baris berikut ke file /etc/sysctl.conf Anda:
# cat /etc/sysctl.conf net.ipv4.tcp_keepalive_time = 300 net.ipv4.ip_local_port_range = 1024 65000 fs.file-max = 64000
Bergantung pada seberapa banyak sumber daya yang Anda miliki di sistem Anda, Anda mungkin ingin menambah jumlah file-max di atas sedikit lebih banyak.
Jalankan perintah “sysctl -p” seperti yang ditunjukkan di bawah ini untuk memastikan perubahan di atas dilakukan pada sistem Anda.
# sysctl -p net.ipv4.tcp_keepalive_time = 300 net.ipv4.ip_local_port_range = 1024 65000 fs.file-max = 64000
Verifikasi bahwa perubahan telah dibuat:
# sysctl fs.file-max net.ipv4.tcp_keepalive_time net.ipv4.ip_local_port_range fs.file-max = 64000 net.ipv4.tcp_keepalive_time = 300 net.ipv4.ip_local_port_range = 1024 65000
Tetapkan Nilai Ulimit yang Sesuai
Tetapkan nilai ulimit ke 8192 seperti yang ditunjukkan di bawah ini di file /etc/profile Anda.
# echo "ulimit -n 8192" >> /etc/profile
Verifikasi bahwa entri ini ditambahkan ke file /etc/profile.
# tail /etc/profile .. .. unset i unset -f pathmunge ulimit -n 8192
Ubah File Login pam.d
Ubah file /etc/pam.d/login dan tambahkan baris berikut untuk menyertakan file pam_limits.so seperti yang ditunjukkan di bawah ini.
# vi /etc/pam.d/login session required /usr/lib64/security/pam_limits.so
Pastikan file pam_limits.so ada di sistem Anda.
# ls -l /usr/lib64/security/pam_limits.so -rwxr-xr-x. 1 root root 19584 Aug 18 2015 /usr/lib64/security/pam_limits.so
Catatan:Pada 32-bit, gunakan yang berikut ini, karena lokasi file ini berbeda.
# vi /etc/pam.d/login session required /lib/security/pam_limits.so
Buat Pengguna Admin LDAP
Buat pengguna bernama ldapadmin dan tetapkan kata sandi seperti yang ditunjukkan di bawah ini:
useradd ldapadmin passwd ldapadmin
Setelah Anda menyiapkan Server LDAP dengan benar, ini akan membantu:Cara Menambahkan Pengguna dan Grup LDAP
Instal 389 Basis Server Direktori dan Klien OpenLDAP
Selanjutnya adalah menginstal paket basis server direktori 389, dan paket utilitas klien OpenLDAP. Kita perlu menginstal dua paket ini:
- 389-ds-base.x86_64
- openldap-clients.x86_64
Menggunakan perintah yum instal dua paket di atas:
# yum install 389-ds-base.x86_64 openldap-clients.x86_64
Selain menginstal paket 389-ds-base dan openldap-client, tergantung pada sistem Anda, ini juga akan menginstal paket dependen berikut:
- 389-ds-base-libs
- GeoIP
- bind-libs
- bind-utils
- cyrus-sasl-gssapi
- cyrus-sasl-md5
- libiku
- perl-Arsip-Tar
- Perl-DB_File
- perl-IO-Zlib
- perl-Mozilla-LDAP
- perl-NetAddr-IP
- perl-Package-Constants
- svrcore
Pada sistem khusus ini, paket-paket berikut juga ditingkatkan ketika dua paket di atas diinstal:
- bind-libs-lite
- mengikat-lisensi
- bukaldap
Jika Anda menggunakan repositori EPEL untuk pertama kalinya di sistem Anda, ini mungkin meminta Anda untuk menerima kunci seperti yang ditunjukkan di bawah ini. Ucapkan “y” di sini.
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <[email protected]>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-9.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Is this ok [y/N]: y
Instal 389 Paket Admin Server Direktori
Selanjutnya, instal paket berikut yang terkait dengan administrasi Server 389 LDAP:
- 389-ds.noarch Ini adalah 389 direktori, administrasi, dan suite konsol
- 389-admin.x86_64 Ini adalah admin untuk Server Administrasi 389
- 389-adminutil.x86_64 Ini berisi utilitas dan pustaka yang diperlukan untuk 389 administrasi
- 389-ds-console-doc.noarch Ini adalah dokumen berbasis web untuk 389 konsol manajemen server direktori
Gunakan perintah yum dan instal paket terkait admin server direktori 389 ini seperti yang ditunjukkan di bawah ini:
# yum install 389-admin.x86_64 \ 389-adminutil.x86_64 389-ds.noarch \ 389-ds-base.x86_64 389-ds-console-doc.noarch
Selain menginstal 4 paket tersebut, tergantung pada sistem Anda, ini juga menginstal pcakges dependen berikut:
- 389-admin-console
- 389-admin-console-doc
- 389-konsol
- 389-ds-console
- 389-dsgw
- salin-jdk-configs
- idm-console-framework
- java-1.8.0-openjdk-headless
- javapackages-tools
- jss
- ldapjdk
- libxslt
- lksctp-tools
- mod_nss
- perl-CGI
- perl-FCGI
- paket python-java
- python-lxml
- tzdata-java
Pada sistem khusus ini, paket-paket berikut juga ditingkatkan ketika paket-paket di atas diinstal:
- chkconfig
- nspr
- nss
- nss-softokn
- nss-softokn-freebl
- nss-sysinit
- nss-tools
- nss-util
Setup 389 Directory Server – Jalankan setup-ds-admin.pl
Setelah menginstal 389 paket Server LDAP yang diperlukan, kemudian jalankan skrip setup-ds-admin.pl, yang akan mengonfigurasi pengaturan server Direktori 389 di sistem Anda.
# setup-ds-admin.pl
Program di atas akan meminta Anda untuk memasukkan beberapa nilai. Kebanyakan dari mereka intuitif dan lurus ke depan.
Tapi, saya telah menunjukkan sebagian output dari mana pun ini meminta input pengguna di bawah ini.
Setup 389 Directory Server – Pesan Peringatan Awal
Selama beberapa petunjuk pertama dari skrip setup-ds-admin.pl di atas, tergantung pada pengaturan sistem Anda, ini mungkin memberi Anda pesan PERINGATAN berikut. Anda dapat mengatakan 'ya' untuk melanjutkan di sini:
389 Directory Server system tuning analysis version 14-JULY-2016. NOTICE : System is x86_64-unknown-linux3.10.0-327.10.1.el7.x86_64 (2 processors). WARNING: There are only 1024 file descriptors (soft limit) available, which limit the number of simultaneous connections. WARNING : The warning messages above should be reviewed before proceeding. Would you like to continue? [no]: yes
Setup 389 Directory Server – Pilih Jenis Pengaturan Umum
Pada layar berikut, jika Anda baru mengenal server direktori 389, pilih pengaturan umum, yang akan mengatur semua opsi konfigurasi umum untuk Anda.
1. Express Allows you to quickly set up the servers using the most common options and pre-defined defaults. Useful for quick evaluation of the products. 2. Typical Allows you to specify common defaults and options. 3. Custom Allows you to specify more advanced options. This is recommended for experienced server administrators only. To accept the default shown in brackets, press the Enter key. Choose a setup type [2]: 2
Setup 389 Directory Server – Masuk ke FQDN
Jika Anda telah menyiapkan file /etc/hosts dengan benar seperti yang dijelaskan di salah satu pengaturan sebelumnya, nama komputer Anda akan diambil dengan benar di sini seperti yang ditunjukkan di bawah ini.
Anda hanya perlu menekan-masuk di sini dan melanjutkan.
Computer name [deploy.thegeekstuff.com]:
Jika server Anda tidak memiliki pengaturan FQDN yang tepat, maka Anda akan melihat pesan kesalahan ini selama eksekusi skrip setup-ds-admin.pl Anda. Tekan Ctrl-C dan keluar dari ini, atasi masalah FQDN dan kemudian jalankan kembali setup-ds-admin.pl lagi.
WARNING: There are problems with the hostname. The hostname 'deploy' does not look like a fully qualified host and domain name. Please check the spelling of the hostname and/or your network configuration. If you proceed with this hostname, you may encounter problems. Do you want to proceed with hostname 'deploy'? [no]: no Computer name [deploy]: ^C
Anda juga dapat meneruskan FQDN sebagai parameter ke skrip setup-ds-admin.pl seperti yang ditunjukkan di bawah ini:
# setup-ds-admin.pl General.FullMachineName=deploy.thegeekstuff.com .. Computer name [deploy.thegeekstuff.com]: ..
Setup 389 Directory Server – Masukkan Pengguna Admin LDAP
Secara default, ini akan menggunakan dirsrv sebagai nama pengguna dan grup. Karena kami membuat pengguna bernama ldapadmin di salah satu langkah kami sebelumnya, tentukan itu di sini.
System User [dirsrv]: ldapadmin System Group [dirsrv]: ldapadmin
Setup 389 Directory Server – Config Directory Server
Karena ini adalah pengaturan pertama yang kami lakukan, kami belum memiliki server direktori konfigurasi. Jadi, tekan enter di sini untuk menerima pilihan default, yaitu 'tidak'.
Tetapi ketika Anda melakukan beberapa instalasi ini, Anda mungkin sudah memiliki pengaturan server direktori konfigurasi, dalam hal ini, Anda harus mengatakan 'ya' dan menentukan informasi tersebut di sana.
Do you want to register this software with an existing configuration directory server? [no]:
Setup 389 Directory Server – Tentukan Nama Pengguna dan Kata Sandi Admin
Pada tahap ini, Anda harus menentukan nama pengguna dan kata sandi admin untuk server direktori baru yang akan disiapkan.
Anda akan menggunakan uid dan sandi ini untuk masuk ke konsol.
Configuration directory server administrator ID [admin]: Password: Password (confirm):
Setup 389 Directory Server – Masukkan Parameter Tambahan
Berikut ini adalah beberapa parameter tambahan yang akan diminta oleh skrip setup-ds-admin.pl. Nama domain ini diambil dari FQDN yang telah kami definisikan di file /etc/hosts:
Administration Domain [thegeekstuff.com]:
Nomor port default seperti yang dapat Anda bayangkan dari namanya adalah 389. Biarkan saja dengan menekan enter:
Directory server network port [389]:
Masukkan pengenal unik untuk server direktori Anda.
Directory server identifier [deploy]:
Siapkan Server Direktori 389 – Siapkan Struktur Pohon LDAP
Pertama, atur pohon direktori Anda sesuai dengan itu. Dalam contoh ini, ini adalah akar dari pohon direktori kami, yang dimulai dengan thegeekstuff.com dipecah oleh dc seperti yang ditunjukkan di bawah ini.
Suffix [dc=thegeekstuff, dc=com]:
Selanjutnya, pisahkan pengelola direktori, yang merupakan DN tempat Anda akan memiliki pengguna administratif yang akan melakukan operasi server direktori tertentu.
Tekan enter untuk menerima nama default. Masukkan sandi di sini untuk pengguna pengelola direktori Anda.
Directory Manager DN [cn=Directory Manager]: Password: Password (confirm):
Tentukan port admin. Harap dicatat bahwa ini berbeda dari server aplikasi atau port server web Anda. Terima saja nilai defaultnya di sini.
Administration port [9830]:
Setup 389 Directory Server – Tahapan Final Setup
Katakan 'ya' pada pesan konfirmasi terakhir berikut untuk memulai konfigurasi server direktori berdasarkan nilai yang telah Anda masukkan sejauh ini.
Are you ready to set up your servers? [yes]: yes
Anda akan melihat output berikut yang menunjukkan bahwa skrip sedang menyiapkan server direktori berdasarkan nilai konfigurasi Anda.
Creating directory server . . . Your new DS instance 'deploy' was successfully created. Creating the configuration directory server . . . Beginning Admin Server creation . . . Creating Admin Server files and directories . . . Updating adm.conf . . . Updating admpw . . . Registering admin server with the configuration directory server Updating adm.conf with information from configuration directory server Updating the configuration for the httpd engine . . . .. .. Starting admin server . . . The admin server was successfully started. Admin server was successfully created, configured, and started. Exiting . . . Log file is '/tmp/setupqxoZug.log'
Jika Anda tidak memiliki SELinux setup dan dikonfigurasi dengan benar, Anda akan mendapatkan pesan ERROR berikut. Dalam hal ini, Anda mungkin ingin menonaktifkan SELinux untuk sementara dan menjalankan skrip penyiapan.
ERROR: policydb version 30 does not match my version range 15-29 ERROR: Unable to open policy //etc/selinux/targeted/policy/policy.30. Traceback (most recent call last): File "/usr/sbin/semanage", line 32, in import seobject File "/usr/lib/python2.7/site-packages/seobject/__init__.py", line 27, in import sepolicy File "/usr/lib64/python2.7/site-packages/sepolicy/__init__.py", line 798, in raise e ValueError: Failed to read //etc/selinux/targeted/policy/policy.30 policy file
Verifikasi File Log Pengaturan
Baris terakhir skrip pengaturan akan menampilkan nama file log.
Buka file log untuk memastikan tidak ada pesan kesalahan. Seharusnya terlihat seperti berikut:
# vi /tmp/setupqxoZug.log [21:50:57] - [Setup] Info This program will set up the 389 Directory and Administration Servers. [21:50:57] - [Setup] Info Would you like to continue with set up? [21:50:58] - [Setup] Info yes .. .. [21:55:50] - [Setup] Info Updating admpw . . . [21:55:50] - [Setup] Info Registering admin server with the configuration directory server . . . [21:55:50] - [Setup] Info Updating adm.conf with information from configuration directory server . . . [21:55:50] - [Setup] Info Updating the configuration for the httpd engine . . . [21:55:52] - [Setup] Info Starting admin server . . . [21:55:53] - [Setup] Info The admin server was successfully started. [21:55:53] - [Setup] Info Admin server was successfully created, configured, and started. [21:55:53] - [Setup] Success Exiting . . .
Mulai 389 Server Direktori menggunakan Systemctl
dirsrv adalah nama program startup.
Gunakan systemctl untuk memulai Server Direktori 389 seperti yang ditunjukkan di bawah ini.
Sebelum memulai:
# systemctl status dirsrv.target ? dirsrv.target - 389 Directory Server Loaded: loaded (/usr/lib/systemd/system/dirsrv.target; disabled; vendor preset: disabled) Active: inactive (dead)
Bintangi server direktori 389:
# systemctl start dirsrv.target
Setelah memulai:
# systemctl status dirsrv.target ? dirsrv.target - 389 Directory Server Loaded: loaded (/usr/lib/systemd/system/dirsrv.target; disabled; vendor preset: disabled) Active: active since Fri 2017-07-07 21:58:26 UTC; 2s ago 21:58:26 deploy systemd[1]: Reached target 389 Directory Server. 21:58:26 deploy systemd[1]: Starting 389 Directory Server. ..
Mulai Server Direktori 389 menggunakan start-dirsrv
Alih-alih menggunakan systemctl, Anda juga dapat menggunakan perintah start-dirsrv seperti yang ditunjukkan di bawah ini untuk memulai server direktori:
# start-dirsrv Starting instance "deploy"
Gunakan stop-dirsrv untuk menghentikannya:
# stop-dirsrv Stopping instance "deploy"
Berikut ini akan menampilkan status server direktori
# status-dirsrv ? dirsrv.target - 389 Directory Server Loaded: loaded (/usr/lib/systemd/system/dirsrv.target; disabled; vendor preset: disabled) Active: active since Fri 2017-07-07 21:58:26 UTC; 1min 39s ago 21:58:26 deploy systemd[1]: Reached target 389 Directory Server. 21:58:26 deploy systemd[1]: Starting 389 Directory Server. Status of instance "deploy" ? [email protected] - 389 Directory Server deploy. Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor preset: disabled) Active: active (running) since Fri 2017-07-07 22:00:01 UTC; 4s ago Process: 4754 ExecStartPre=/usr/sbin/ds_systemd_ask_password_acl /etc/dirsrv/slapd-%i/dse.ldif (code=exited, status=0/SUCCESS) Main PID: 4761 (ns-slapd) Status: "slapd started: Ready to process requests" CGroup: /system.slice/system-dirsrv.slice/[email protected] +-4761 /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-deploy -i /var/run/dirsrv/slapd-deploy.pid
Mulai 389 Admin Server Direktori menggunakan Systemctl
Untuk mengontrol server admin untuk direktori 389 Anda, gunakan systemctl seperti yang ditunjukkan di bawah ini.
Program admin dikenal sebagai dirsrv-admin seperti yang ditunjukkan di bawah ini.
# systemctl start dirsrv-admin # systemctl stop dirsrv-admin # systemctl status dirsrv-admin ? dirsrv-admin.service - 389 Administration Server. Loaded: loaded (/usr/lib/systemd/system/dirsrv-admin.service; disabled; vendor preset: disabled) Active: inactive (dead) ..
Anda juga dapat menggunakan perintah stop-ds-admin untuk menghentikan Server Administrasi 389
Validasi Penyiapan Menggunakan Perintah LDAPSearch
Terakhir, gunakan perintah ldapsearch untuk memvalidasi bahwa penyiapan telah dilakukan dengan benar.
Berikut ini adalah sebagian output dari perintah ldapsearch:
# ldapsearch -x -b "dc=thegeekstuff,dc=com" .. .. dn: dc=thegeekstuff,dc=com objectClass: top objectClass: domain dc: thegeekstuff # Directory Administrators, thegeekstuff.com dn: cn=Directory Administrators,dc=thegeekstuff,dc=com objectClass: top objectClass: groupofuniquenames cn: Directory Administrators uniqueMember: cn=Directory Manager .. .. search: 2 result: 0 Success # numResponses: 10 # numEntries: 9