GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat LDAP 389 Directory Server na Linux s podrobnými kroky

389 Directory Server je open source podnikový LDAP server.

To může zpracovat velmi velký objem dat. Jednou z obrovských výhod serveru 389 LDAP je, že je rychlý a zpracuje až několik tisíc operací za sekundu.

To má několik pokročilých funkcí včetně asynchronní multi-master replikace pro horizontální škálování, která zase poskytuje 100% odolnost proti chybám a extrémně vysokou propustnost.

Také mějte na paměti, že to podporuje TLS, SASL pro ověřování a přenos. 389 Adresářový server je plně kompatibilní s LDAPv3.

Tento tutoriál vysvětluje, jak můžete nainstalovat a nakonfigurovat adresářový server 389 v prostředí Linuxu.

Nastavení úložiště EPEL

Pokud nemáte nastavení úložiště EPEL, ujistěte se, že jste jej nastavili, protože budeme instalovat 389 souvisejících balíčků z EPEL.

Nejprve si stáhněte epel rpm z webu Fedory, jak je uvedeno níže.

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

Dále nainstalujte úložiště epel na váš server.

# 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%]

Pokud vás místo adresářového serveru 389 zajímá OpenLDAP, přečtěte si toto:Jak nainstalovat a konfigurovat OpenLDAP v Linuxu

Správně nastavte soubor /etc/host

Ujistěte se, že je hostitelský soubor správně nastaven.

V tomto příkladu je následující aktuální nastavení souboru /etc/host.

# 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

Ve výše uvedeném:

  • 192.168.101.10 – je IP adresa serveru
  • deploy.thegeekstuff.com – Toto je úplný název domény serveru, kde se instaluje adresářový server 389
  • deploy – Toto je název hostitele serveru

Nastavte příslušné parametry sysctl

Přidejte do svého souboru /etc/sysctl.conf následující řádek:

# cat /etc/sysctl.conf 
net.ipv4.tcp_keepalive_time = 300
net.ipv4.ip_local_port_range = 1024 65000
fs.file-max = 64000

V závislosti na tom, kolik prostředků máte ve svém systému, možná budete chtít zvýšit výše uvedený maximální počet souborů o něco více.

Spusťte příkaz „sysctl -p“, jak je znázorněno níže, abyste se ujistili, že ve vašem systému byly provedeny výše uvedené změny.

# sysctl -p
net.ipv4.tcp_keepalive_time = 300
net.ipv4.ip_local_port_range = 1024 65000
fs.file-max = 64000

Ověřte, že byly provedeny změny:

# 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

Nastavte vhodné hodnoty Ulimit

Nastavte hodnotu ulimit na 8192, jak je uvedeno níže v souboru /etc/profile.

# echo "ulimit -n 8192" >> /etc/profile

Ověřte, zda je tato položka přidána do souboru /etc/profile.

# tail /etc/profile
..
..
unset i
unset -f pathmunge
ulimit -n 8192

Upravit přihlašovací soubor pam.d

Upravte soubor /etc/pam.d/login a přidejte následující řádek tak, aby obsahoval soubor pam_limits.so, jak je znázorněno níže.

# vi /etc/pam.d/login 
session    required     /usr/lib64/security/pam_limits.so

Ujistěte se, že je ve vašem systému přítomen soubor pam_limits.so.

# ls -l /usr/lib64/security/pam_limits.so 
-rwxr-xr-x. 1 root root 19584 Aug 18  2015 /usr/lib64/security/pam_limits.so

Poznámka:Na 32bitové verzi použijte následující, protože umístění tohoto souboru je jiné.

# vi /etc/pam.d/login 
session    required     /lib/security/pam_limits.so

Vytvořit administrátora LDAP

Vytvořte uživatele s názvem ldapadmin a přiřaďte mu heslo, jak je uvedeno níže:

useradd ldapadmin

passwd ldapadmin

Jakmile správně nastavíte server LDAP, pomůže vám toto:Jak přidat uživatele a skupiny LDAP

Nainstalujte 389 Directory Server Base a klienta OpenLDAP

Dále je třeba nainstalovat základní balíček adresářového serveru 389 a balíčky klientských obslužných programů OpenLDAP. Potřebujeme nainstalovat tyto dva balíčky:

  • 389-ds-base.x86_64
  • openldap-clients.x86_64

Pomocí příkazu yum nainstalujte dva výše uvedené balíčky:

# yum install 389-ds-base.x86_64 openldap-clients.x86_64

Kromě instalace balíčku 389-ds-base a openldap-client se v závislosti na vašem systému nainstalují také následující závislé balíčky:

  • 389-ds-base-libs
  • GeoIP
  • bind-libs
  • bind-utils
  • cyrus-sasl-gssapi
  • cyrus-sasl-md5
  • libicu
  • perl-Archive-Tar
  • perl-DB_File
  • perl-IO-Zlib
  • perl-Mozilla-LDAP
  • perl-NetAddr-IP
  • perl-Package-Constants
  • svrcore

Na tomto konkrétním systému byly také upgradovány následující balíčky, když byly nainstalovány dva výše uvedené balíčky:

  • bind-libs-lite
  • závazná licence
  • openldap

Pokud ve svém systému používáte úložiště EPEL poprvé, může vás požádat o přijetí klíče, jak je znázorněno níže. Zde řekněte „y“.

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

Nainstalujte balíčky 389 Directory Server Admin Packages

Dále nainstalujte následující balíčky, které souvisejí se správou serveru LDAP 389:

  • 389-ds.noarch Toto je adresář, administrace a konzola 389
  • 389-admin.x86_64 Toto je správce 389 Administration Server
  • 389-adminutil.x86_64 Obsahuje nástroje a knihovny, které jsou nutné pro správu 389
  • 389-ds-console-doc.noarch Toto jsou webové dokumenty pro konzolu pro správu adresářového serveru 389

Použijte příkaz yum a nainstalujte tyto 389 administrátorské balíčky adresářového serveru, jak je ukázáno níže:

# yum install 389-admin.x86_64 \
       389-adminutil.x86_64 389-ds.noarch \
       389-ds-base.x86_64 389-ds-console-doc.noarch

Kromě instalace těchto 4 balíčků se v závislosti na vašem systému nainstalovaly také následující závislé balíčky:

  • 389-admin-console
  • 389-admin-console-doc
  • 389-konzole
  • 389-ds-console
  • 389-dsgw
  • copy-jdk-configs
  • idm-console-framework
  • java-1.8.0-openjdk-headless
  • javapackages-tools
  • jss
  • ldapjdk
  • libxslt
  • lksctp-tools
  • mod_nss
  • perl-CGI
  • perl-FCGI
  • balíčky python-java
  • python-lxml
  • tzdata-java

Na tomto konkrétním systému byly při instalaci výše uvedených balíčků upgradovány také následující balíčky:

  • chkconfig
  • nspr
  • nss
  • nss-softokn
  • nss-softokn-freebl
  • nss-sysinit
  • nss-tools
  • nss-util

Nastavení 389 Directory Server – Spusťte setup-ds-admin.pl

Po instalaci požadovaných balíčků serveru 389 LDAP spusťte skript setup-ds-admin.pl, který nakonfiguruje nastavení serveru adresáře 389 ve vašem systému.

# setup-ds-admin.pl 

Výše uvedený program vás požádá o zadání několika hodnot. Většina z nich je intuitivní a přímočará.

Níže jsem však ukázal částečný výstup všude, kde to vyžaduje uživatelský vstup.

Nastavení 389 Directory Server – počáteční varovná zpráva

Během prvních několika výzev výše uvedeného skriptu setup-ds-admin.pl, v závislosti na nastavení vašeho systému, se vám mohou zobrazit následující VAROVÁNÍ. Chcete-li pokračovat, můžete říci „ano“:

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

Nastavení 389 Directory Server – zvolte Typický typ instalace

Pokud s adresářovým serverem 389 teprve začínáte, vyberte na následující obrazovce typické nastavení, které za vás nastaví všechny běžné možnosti konfigurace.

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

Nastavení 389 adresářového serveru – zadejte FQDN

Pokud jste soubor /etc/hosts nastavili správně, jak je vysvětleno v některém z předchozích nastavení, měl by zde správně vybrat název vašeho počítače, jak je znázorněno níže.

Zde stačí stisknout-enter a pokračovat.

Computer name [deploy.thegeekstuff.com]: 

Pokud váš server nemá správné nastavení FQDN, zobrazí se tato chybová zpráva během spouštění skriptu setup-ds-admin.pl. Stiskněte Ctrl-C a vyjděte z toho, vyřešte problém s FQDN a poté znovu spusťte setup-ds-admin.pl.

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

FQDN můžete také předat jako parametr skriptu setup-ds-admin.pl, jak je uvedeno níže:

# setup-ds-admin.pl General.FullMachineName=deploy.thegeekstuff.com
..
Computer name [deploy.thegeekstuff.com]: 
..

Nastavení 389 Directory Server – zadejte LDAP Admin User

Ve výchozím nastavení se jako uživatelské jméno a skupina použije dirsrv. Protože jsme v jednom z předchozích kroků vytvořili uživatele s názvem ldapadmin, uveďte to zde.

System User [dirsrv]: ldapadmin
System Group [dirsrv]: ldapadmin

Nastavení 389 Directory Server – Config Directory Server

Protože se jedná o první nastavení, které provádíme, zatím nemáme konfigurační adresářový server. Stisknutím klávesy Enter zde přijmete výchozí volbu, která je „ne“.

Ale když provádíte vícenásobnou instalaci tohoto, možná již máte nastavený konfigurační adresářový server, v takovém případě byste měli říci „ano“ a uvést tyto informace tam.

Do you want to register this software with an existing
configuration directory server? [no]: 

Nastavení adresářového serveru 389 – zadejte uživatelské jméno a heslo správce

V této fázi musíte zadat uživatelské jméno a heslo správce pro nový adresářový server, který se chystáte nastavit.

Toto uid a heslo budete používat pro přihlášení do konzole.

Configuration directory server
administrator ID [admin]: 
Password: 
Password (confirm): 

Nastavení adresářového serveru 389 – zadejte další parametry

Následuje několik dalších parametrů, které skript setup-ds-admin.pl vyzve. Tento název domény byl získán z úplného názvu domény, který jsme definovali v souboru /etc/hosts:

Administration Domain [thegeekstuff.com]: 

Výchozí číslo portu, jak si můžete představit z názvu, je 389. Stačí jej nechat tak, jak je, stisknutím klávesy enter:

Directory server network port [389]: 

Zadejte jedinečný identifikátor vašeho adresářového serveru.

Directory server identifier [deploy]: 

Nastavení 389 Directory Server – Nastavení stromové struktury LDAP

Nejprve podle toho nastavte strom adresářů. V tomto příkladu se jedná o kořen našeho adresářového stromu, který začíná thegeekstuff.com rozděleným podle dc, jak je uvedeno níže.

Suffix [dc=thegeekstuff, dc=com]: 

Dále určete správce adresářů, což je DN, kde budete mít administrativního uživatele, který bude provádět určité operace adresářového serveru.

Stisknutím klávesy Enter přijmete výchozí název. Zde zadejte heslo pro uživatele správce adresářů.

Directory Manager DN [cn=Directory Manager]: 
Password: 
Password (confirm): 

Zadejte port správce. Upozorňujeme, že se liší od portu vašeho aplikačního serveru nebo webového serveru. Zde pouze přijměte výchozí hodnotu.

Administration port [9830]: 

Nastavení 389 Directory Server – poslední fáze nastavení

Chcete-li zahájit konfiguraci adresářového serveru na základě hodnot, které jste dosud zadali, řekněte „ano“ následující závěrečné potvrzovací zprávě.

Are you ready to set up your servers? [yes]: yes

Uvidíte následující výstup indikující, že skript nastavuje adresářové servery na základě vašich konfiguračních hodnot.

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'

Pokud nemáte SELinux správně nastaven a nakonfigurován, zobrazí se následující zpráva ERROR. V tomto případě můžete chtít dočasně deaktivovat SELinux a spustit instalační skript.

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

Ověřte soubor protokolu nastavení

Poslední řádek instalačního skriptu zobrazí název souboru protokolu.

Otevřete soubor protokolu a ujistěte se, že se nezobrazuje žádná chybová zpráva. Mělo by to vypadat nějak takto:

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

Spusťte 389 Directory Server pomocí Systemctl

dirsrv je název spouštěcího programu.

Použijte systemctl ke spuštění 389 Directory Server, jak je uvedeno níže.

Před zahájením:

# systemctl status dirsrv.target
? dirsrv.target - 389 Directory Server
   Loaded: loaded (/usr/lib/systemd/system/dirsrv.target; disabled; vendor preset: disabled)
   Active: inactive (dead)

Označte hvězdičkou adresářový server 389:

# systemctl start dirsrv.target

Po spuštění:

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

Spusťte 389 Directory Server pomocí start-dirsrv

Místo použití systemctl můžete ke spuštění adresářového serveru použít také příkaz start-dirsrv, jak je ukázáno níže:

# start-dirsrv
Starting instance "deploy"

K zastavení použijte stop-dirsrv:

# stop-dirsrv
Stopping instance "deploy"

Následující zobrazí stav adresářového serveru

# 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

Spusťte správu 389 Directory Server pomocí Systemctl

Chcete-li ovládat server admin pro váš adresář 389, použijte systemctl, jak je uvedeno níže.

Administrační program je známý jako dirsrv-admin, jak je uvedeno níže.

# 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)
..

Můžete také použít příkaz stop-ds-admin k zastavení 389 Administration Server

Ověřte nastavení pomocí příkazu LDAPSearch

Nakonec pomocí příkazu ldapsearch ověřte, zda je nastavení provedeno správně.

Následuje částečný výstup příkazu 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. Jak nainstalovat webový server Nginx na Linux

  2. Jak nainstalovat LDAP 389 Directory Server na CentOS 6 VPS

  3. Jak nainstalovat Apache 2 s SSL na Linuxu (s mod_ssl, openssl)

  1. Jak nainstalovat Linux ve 3 krocích

  2. Jak nainstalovat Nextcloud s Dockerem na váš Linux Server

  3. Jak nainstalovat virtualizační Linux Server

  1. Jak nainstalovat SQL Server na Linux

  2. Jak nainstalovat Minecraft server na RHEL 8 Linux

  3. Jak nainstalovat webový server Apache na Debian 10 Linux