GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare il server di directory LDAP 389 su Linux con passaggi dettagliati

389 Directory Server è un server LDAP aziendale open source.

Questo può gestire un enorme volume di dati. Uno degli enormi vantaggi del server 389 LDAP è che si accende velocemente ed elabora fino a gestire diverse migliaia di operazioni al secondo.

Questo ha diverse funzionalità avanzate tra cui la replica multi-master asincrona per il ridimensionamento orizzontale, che a sua volta fornisce una tolleranza agli errori del 100% e un throughput estremamente elevato.

Inoltre, tieni presente che questo supporta TLS, SASL per l'autenticazione e il trasporto. 389 Il server di directory è completamente conforme a LDAPv3.

Questo tutorial spiega come installare e configurare il server di directory 389 nel tuo ambiente Linux.

Imposta il repository EPEL

Se non hai configurato il repository EPEL, assicurati di configurarlo, poiché installeremo i pacchetti correlati 389 da EPEL.

Innanzitutto, scarica epel rpm dal sito Web di Fedora come mostrato di seguito.

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

Quindi, installa il repository epel sul tuo 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%]

Se sei interessato a OpenLDAP invece del server di directory 389, fai riferimento a questo:Come installare e configurare OpenLDAP su Linux

Imposta correttamente il file /etc/host

Assicurati che il file host sia impostato correttamente.

In questo esempio, quello che segue è l'attuale configurazione del file /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

In quanto sopra:

  • 192.168.101.10 – È l'indirizzo IP del server
  • deploy.thegeekstuff.com – Questo è l'FQDN del server in cui viene installato il server di directory 389
  • deploy – Questo è il nome host del server

Imposta parametri sysctl appropriati

Aggiungi la seguente riga al tuo file /etc/sysctl.conf:

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

A seconda della quantità di risorse che hai sul tuo sistema, potresti voler aumentare leggermente il numero massimo di file sopra.

Esegui il comando "sysctl -p" come mostrato di seguito per assicurarti che le modifiche precedenti vengano apportate al tuo sistema.

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

Verifica che le modifiche siano state apportate:

# 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

Imposta valori Ulimit appropriati

Imposta il valore ulimit su 8192 come mostrato di seguito nel tuo file /etc/profile.

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

Verifica che questa voce sia aggiunta al file /etc/profile.

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

Modifica file di accesso pam.d

Modifica il file /etc/pam.d/login e aggiungi la riga seguente per includere il file pam_limits.so come mostrato di seguito.

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

Assicurati che il file pam_limits.so sia presente sul tuo sistema.

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

Nota:su 32 bit, utilizza quanto segue, poiché la posizione di questo file è diversa.

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

Crea utente amministratore LDAP

Crea un utente chiamato ldapadmin e assegna una password come mostrato di seguito:

useradd ldapadmin

passwd ldapadmin

Dopo aver configurato correttamente il server LDAP, questo sarà di aiuto:Come aggiungere utenti e gruppi LDAP

Installa 389 Directory Server Base e client OpenLDAP

Successivamente è installare il pacchetto di base del server di directory 389 e i pacchetti di utilità client OpenLDAP. Dobbiamo installare questi due pacchetti:

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

Usando il comando yum installa i due pacchetti precedenti:

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

Oltre a installare i pacchetti 389-ds-base e openldap-client, a seconda del sistema in uso, verranno installati anche i seguenti pacchetti dipendenti:

  • 389-ds-base-libs
  • GeoIP
  • librerie di binding
  • utilità di associazione
  • cyrus-sasl-gssapi
  • cyrus-sasl-md5
  • libico
  • perl-Archivio-Tar
  • Perl-DB_File
  • perl-IO-Zlib
  • perl-Mozilla-LDAP
  • perl-NetAddr-IP
  • Costanti-pacchetto-perl
  • svrcore

Su questo particolare sistema, sono stati aggiornati anche i seguenti pacchetti quando sono stati installati i due pacchetti precedenti:

  • bind-libs-lite
  • licenza vincolante
  • apri l'app

Se stai usando il repository EPEL per la prima volta sul tuo sistema, questo potrebbe chiederti di accettare la chiave come mostrato di seguito. Dì "y" qui.

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

Installa 389 pacchetti di amministrazione di Directory Server

Quindi, installa i seguenti pacchetti correlati all'amministrazione di 389 LDAP Server:

  • 389-ds.noarch Questa è la suite di directory, amministrazione e console 389
  • 389-admin.x86_64 Questo è l'amministratore di 389 Administration Server
  • 389-adminutil.x86_64 Contiene le utilità e le librerie necessarie per l'amministrazione 389
  • 389-ds-console-doc.noarch Si tratta di documenti basati sul Web per la console di gestione del server di directory 389

Usa il comando yum e installa questi 389 pacchetti relativi all'amministratore del server di directory come mostrato di seguito:

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

Oltre a installare quei 4 pacchetti, a seconda del tuo sistema, questo ha anche installato i seguenti pcakges dipendenti:

  • 389-console-di-amministratore
  • 389-admin-console-doc
  • Console 389
  • Console 389-ds
  • 389-dsgw
  • copia-jdk-configs
  • framework-idm-console
  • java-1.8.0-openjdk-senza testa
  • strumenti-javapackages
  • jss
  • ldapjdk
  • libxslt
  • Strumenti lksctp
  • mod_nss
  • perl-CGI
  • perl-FCGI
  • pacchetti python-java
  • python-lxml
  • tzdata-java

Su questo particolare sistema, sono stati aggiornati anche i seguenti pacchetti quando sono stati installati i pacchetti precedenti:

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

Installazione del server di directory 389 – Esegui setup-ds-admin.pl

Dopo aver installato i pacchetti del server 389 LDAP richiesti, esegui lo script setup-ds-admin.pl, che configurerà la configurazione del server 389 Directory sul tuo sistema.

# setup-ds-admin.pl 

Il programma sopra ti chiederà di inserire diversi valori. La maggior parte di essi sono intuitivi e diretti.

Ma ho mostrato un output parziale di ogni punto in cui questo richiede l'input dell'utente di seguito.

Installazione del server di directory 389 – Messaggio di avviso iniziale

Durante i primi prompt dello script setup-ds-admin.pl di cui sopra, a seconda della configurazione del sistema, questo potrebbe fornire i seguenti messaggi di AVVISO. Puoi dire "sì" per continuare qui:

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

Installazione del server di directory 389:scegli il tipo di installazione tipico

Nella schermata seguente, se non conosci il server di directory 389, scegli l'impostazione tipica, che imposterà tutte le opzioni di configurazione comuni per te.

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

Installazione del server di directory 389:immettere FQDN

Se hai impostato correttamente il tuo file /etc/hosts come spiegato in uno dei setps precedenti, dovrebbe raccogliere correttamente il nome del tuo computer qui come mostrato di seguito.

Devi solo premere invio qui e andare avanti.

Computer name [deploy.thegeekstuff.com]: 

Se il tuo server non ha una configurazione FQDN corretta, vedrai questo messaggio di errore durante l'esecuzione dello script setup-ds-admin.pl. Premi Ctrl-C ed esci da questo, risolvi il problema FQDN e quindi esegui nuovamente 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

Puoi anche passare l'FQDN come parametro allo script setup-ds-admin.pl come mostrato di seguito:

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

Installazione del server di directory 389:immettere l'utente amministratore LDAP

Per impostazione predefinita, utilizzerà dirsrv come nome utente e gruppo. Poiché abbiamo creato un utente chiamato ldapadmin in uno dei nostri passaggi precedenti, specificalo qui.

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

Configura server directory 389 – Configura server directory

Poiché questa è la prima configurazione che stiamo facendo, non abbiamo ancora un server di directory di configurazione. Quindi, premi Invio qui per accettare la scelta predefinita, che è "no".

Ma quando esegui installazioni multiple di questo, potresti già avere la configurazione del server della directory di configurazione, nel qual caso dovresti dire "sì" e specificare lì quelle informazioni.

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

Installazione del server di directory 389:specificare il nome utente e la password dell'amministratore

A questo punto, devi specificare il nome utente e la password dell'amministratore per il nuovo server di directory che verrà configurato.

Utilizzerai questo uid e questa password per accedere alla console.

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

Installazione del server di directory 389:immettere parametri aggiuntivi

Di seguito sono riportati alcuni parametri aggiuntivi che verrà richiesto dallo script setup-ds-admin.pl. Questo nome di dominio è stato prelevato dall'FQDN che abbiamo definito nel file /etc/hosts:

Administration Domain [thegeekstuff.com]: 

Il numero di porta predefinito come puoi immaginare dal nome è 389. Lascialo così com'è premendo invio:

Directory server network port [389]: 

Inserisci l'identificatore univoco per il tuo server di directory.

Directory server identifier [deploy]: 

Configurazione del server di directory 389 – Configurazione della struttura ad albero LDAP

Innanzitutto, imposta di conseguenza il tuo albero di directory. In questo esempio, questa è la radice del nostro albero di directory, che inizia con thegeekstuff.com suddiviso per dc come mostrato di seguito.

Suffix [dc=thegeekstuff, dc=com]: 

Quindi, specifica il gestore di directory, che è un DN in cui avrai l'utente amministrativo che eseguirà determinate operazioni del server di directory.

Premere Invio per accettare il nome predefinito. Immettere qui la password per l'utente del gestore di directory.

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

Specificare la porta di amministrazione. Si noti che questo è diverso dal server delle applicazioni o dalla porta del server Web. Accetta solo il valore predefinito qui.

Administration port [9830]: 

Installazione di Directory Server 389 – Fasi finali dell'installazione

Dì "sì" al seguente messaggio di conferma finale per avviare la configurazione del server di directory in base ai valori che hai inserito finora.

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

Vedrai il seguente output che indica che lo script sta configurando i server di directory in base ai tuoi valori di configurazione.

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'

Se non hai SELinux configurato e configurato correttamente, riceverai il seguente messaggio di ERRORE. In questo caso, potresti voler disabilitare temporaneamente SELinux ed eseguire lo script di installazione.

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

Verifica il file di registro dell'installazione

L'ultima riga dello script di installazione mostrerà il nome del file di registro.

Apri il file di registro per assicurarti che non ci siano messaggi di errore. Dovrebbe essere simile al seguente:

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

Avvia 389 Directory Server usando Systemctl

dirsrv è il nome del programma di avvio.

Utilizzare systemctl per avviare 389 Directory Server come mostrato di seguito.

Prima di iniziare:

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

Speciali il server di directory 389:

# systemctl start dirsrv.target

Dopo l'avvio:

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

Avvia 389 Directory Server usando start-dirsrv

Invece di usare systemctl, puoi anche usare il comando start-dirsrv come mostrato di seguito per avviare il server di directory:

# start-dirsrv
Starting instance "deploy"

Usa stop-dirsrv per interromperlo:

# stop-dirsrv
Stopping instance "deploy"

Di seguito verrà visualizzato lo stato del server di directory

# 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

Avvia 389 Directory Server Admin usando Systemctl

Per controllare il server di amministrazione per la tua directory 389, usa systemctl come mostrato di seguito.

Il programma di amministrazione è noto come dirsrv-admin come mostrato di seguito.

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

Puoi anche utilizzare il comando stop-ds-admin per arrestare 389 Administration Server

Convalida la configurazione utilizzando il comando LDAPSearch

Infine, usa il comando ldapsearch per verificare che l'installazione sia stata eseguita correttamente.

Quello che segue è l'output parziale del comando 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. Come installare Nginx Web Server su Linux

  2. Come installare Nextcloud con Docker sul tuo server Linux

  3. Come installare LDAP 389 Directory Server su un CentOS 6 VPS

  4. Come installare Apache 2 con SSL su Linux (con mod_ssl, openssl)

  5. Come installare il server Linux di virtualizzazione

Come installare Softaculous su server Linux con cPanel?

Come installare Apache su Arch Linux

Come installare e configurare Caddy Web Server con PHP su Rocky Linux 8

Come installare Webmin su Ubuntu Linux

Come installare Jenkins su Rocky Linux 8

Come installare Configurare il client LDAP per 389 Directory Server