GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal Server Direktori LDAP 389 Di Linux dengan Langkah Terperinci

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

Linux
  1. Cara Menginstal Server Web Nginx di Linux

  2. Cara Instal Apache 2 dengan SSL di Linux (dengan mod_ssl, openssl)

  3. Cara Menginstal Virtualisasi Server Linux

  1. Cara menginstal Linux dalam 3 langkah

  2. Cara Menginstal Nextcloud dengan Docker di Server Linux Anda

  3. Cara menginstal Server Direktori LDAP 389 pada CentOS 6 VPS

  1. Cara Menginstal SQL Server di Linux

  2. Cara menginstal server Minecraft di RHEL 8 Linux

  3. Cara Instal Apache Web Server di Debian 10 Linux