LDAP Server Installation
Install the related packages
[root@ldap ~]# yum install -y openldap openldap-clients openldap-servers migrationtools
[root@ldap ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@ldap ~]# chown ldap. /var/lib/ldap/DB_CONFIG
[root@ldap openldap-servers]# systemctl start slapd
[root@ldap openldap-servers]# systemctl enable slapd
Created symlink from /etc/systemd/system/multi-user.target.wants/slapd.service to /usr/lib/systemd/system/slapd.service.
[root@ldap ~]# setsebool -P allow_ypbind=0 authlogin_nsswitch_use_ldap=0
setsebool: SELinux is disabled.
[root@ldap ~]# netstat -tlnp | grep slapd
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 44929/slapd
tcp6 0 0 :::389 :::* LISTEN 44929/slapd
[root@ldap ~]#
Configure LDAP Settings
[root@ldap openldap-servers]# slappasswd
New password:
Re-enter new password:
{SSHA}zOBsp9sogWCV0MDoE5KzqVXXGg3fbran
[root@ldap openldap-servers]#
Create the ldif file.
[root@ldap ~]# vi chrootpw.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}zOBsp9sogWCV0MDoE5KzqVXXGg3fbran
[root@ldap ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={0}config,cn=config"
[root@ldap ~]#
Import the base schemas.
[root@ldap ~]# cd /etc/openldap/schema/
[root@ldap schema]# for def in /etc/openldap/schema/*.ldif ; do ldapadd -Y EXTERNAL -H ldapi:/// -f $def; done
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=collective,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=corba,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=core,cn=schema,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
additional info: olcAttributeTypes: Duplicate attributeType: "2.5.4.2"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=duaconf,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=dyngroup,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=inetorgperson,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=java,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=misc,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=nis,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=openldap,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=pmi,cn=schema,cn=config"
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=ppolicy,cn=schema,cn=config"
[root@ldap schema]#
Set your own domain
Generate the password for Manager.
Our domain is gemii.cc, so we replaced the "dc=,dc=" with "dc=gemii, dc=cc".
And the SSHA password is replaced by the token just created.
[root@ldap schema]# slappasswd
New password:
Re-enter new password:
{SSHA}V263ZDFqrYGHyDpxOsc4rZmb/OWuIUUd
[root@ldap schema]#
[root@ldap ~]# vi chdomain.ldif
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
read by dn.base="cn=Manager,dc=gemii,dc=cc" read by * none
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=gemii,dc=cc
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=gemii,dc=cc
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}V263ZDFqrYGHyDpxOsc4rZmb/OWuIUUd
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=gemii,dc=cc" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=gemii,dc=cc" write by * read
~
~
~
~
~
~
~
~
"chdomain.ldif" [New] 29L, 862C written
[root@ldap ~]#
[root@ldap ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}monitor,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
[root@ldap ~]#
[root@ldap ~]# vi basedomain.ldif
dn: dc=gemii,dc=cc
objectClass: top
objectClass: dcObject
objectclass: organization
o: Server World
dc: gemii
dn: cn=Manager,dc=gemii,dc=cc
objectClass: organizationalRole
cn: Manager
description: Directory Manager
dn: ou=People,dc=gemii,dc=cc
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=gemii,dc=cc
objectClass: organizationalUnit
ou: Group
~
~
"basedomain.ldif" [New] 20L, 361C written
[root@ldap ~]#
[root@ldap ~]# ldapadd -x -D cn=Manager,dc=gemii,dc=cc -W -f basedomain.ldif
Enter LDAP Password:
adding new entry "dc=gemii,dc=cc"
adding new entry "cn=Manager,dc=gemii,dc=cc"
adding new entry "ou=People,dc=gemii,dc=cc"
adding new entry "ou=Group,dc=gemii,dc=cc"
[root@ldap ~]#
Add firewall rule
[root@ldap ~]# firewall-cmd --add-service=ldap --permanent
success
[root@ldap ~]# firewall-cmd --reload
success
[root@ldap ~]#
Add a user
Initialize a password firstly.
[root@ldap ~]# slappasswd
New password:
Re-enter new password:
{SSHA}dyYqthUCBL7Jfll9BzAcOgI3UkF7PyJk
[root@ldap ~]#
Prepare user conf file.
[root@ldap ~]# vi ldapuser.ldif
dn: uid=cent,ou=People,dc=gemii,dc=cc
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Cent
sn: Linux
userPassword: {SSHA}dyYqthUCBL7Jfll9BzAcOgI3UkF7PyJk
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/cent
dn: cn=cent,ou=Group,dc=gemii,dc=cc
objectClass: posixGroup
cn: Cent
gidNumber: 1000
memberUid: cent
~
"ldapuser.ldif" [New] 18L, 373C written
[root@ldap ~]#
Load the user with Manager's password.
[root@ldap ~]# ldapadd -x -D cn=Manager,dc=gemii,dc=cc -W -f ldapuser.ldif
Enter LDAP Password:
adding new entry "uid=cent,ou=People,dc=gemii,dc=cc"
adding new entry "cn=cent,ou=Group,dc=gemii,dc=cc"
[root@ldap ~]#
Install phpLDAPadmin to Manage LDAP
[root@ldap ~]# yum -y install httpd
[root@ldap ~]# vi /etc/httpd/conf/httpd.conf
# line 86: change to admin's email address
ServerAdmin root@srv.world
# line 95: change to your server's name
ServerName www.srv.world:80
# line 151: change
AllowOverride All
# line 164: add file name that it can access only with directory's name
DirectoryIndex index.html index.cgi index.php
# add follows to the end
# server's response header
ServerTokens Prod
# keepalive is ON
KeepAlive On
[root@ldap ~]# systemctl start httpd
[root@ldap ~]# systemctl enable httpd
[root@ldap ~]# firewall-cmd --add-service=http --permanent
success
[root@ldap ~]# firewall-cmd --reload
success
[root@ldap ~]# vi /var/www/html/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Test Page
</div>
</body>
</html>
Install PHP
[root@ ldap ~]# yum -y install php php-mbstring php-pear
[root@ ldap ~]# vi /etc/php.ini
# line 878: uncomment and add your timezone
date.timezone = "Asia/Shanghai"
[root@ ldap ~]# systemctl restart httpd
[root@ ldap ~]# vi /var/www/html/index.php
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
<?php
print Date("Y/m/d");
?>
</div>
</body>
</html>
Install PHPLDAPAdmin
[root@ldap ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@ldap ~]# rpm -ivh epel-release-latest-7.noarch.rpm
[root@ldap ~]# yum repolist ##檢查是否已新增至源列表
# install from EPEL
[root@ldap ~]# yum --enablerepo=epel -y install phpldapadmin
[root@ldap ~]# vi /etc/phpldapadmin/config.php
# line 397: uncomment, line 398: comment out
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');
[root@dlp ~]# vi /etc/httpd/conf.d/phpldapadmin.conf
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs
<Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
# Apache 2.4
# line 12: add access permission
Require local
Require ip 192.168.0.0/16
[root@ldap ~]# systemctl restart httpd
Open the Admin page
http://192.168.0.137:8888/phpldapadmin/
相關文章
- Windows Server 2019 Installation 安裝.net 3.5WindowsServer
- IOMESH Installation
- 2.3.3.2 Application InstallationAPP
- LDAP系列(三)LDAP + Samba 安裝配置LDASamba
- Realcase: Failed to upgrade SQL Server 2016 SP2 CU11. (Installation success or error status: 1648)AISQLServerError
- A Tomcat 8.0 installation is expectedTomcat
- LDAP 介紹LDA
- Console LDAP 配置解密LDA解密
- LDAP 服務部署LDA
- Adding Drivers into VMWare ESXi Installation Image
- 07-Plugin ‘scala’ is incompatible with this installationPlugin
- Include manifest for over-the-air installationAI
- ldap安裝詳細LDA
- LDAP:如何在windows系統下安裝LDAP及連線測試LDAWindows
- LDAP注入與防禦剖析LDA
- LDAP 中 DN CN DC OULDA
- Windows 環境安裝LdapWindowsLDA
- k8s接入ldapK8SLDA
- Odoo 連線ldap 域認證OdooLDA
- LDAP--Jenkins詳解筆記LDAJenkins筆記
- LDAP應用篇(3)Nginx接入LDANginx
- 域滲透之ldap協議LDA協議
- LDAP啟動TLS 完整操作流程LDATLS
- falcon適配ldap密碼同步LDA密碼
- After mysql installation, we need to change the password of root as belowMySql
- 極狐GitLab 如何配置多個 LDAP?GitlabLDA
- 利用Docker部署管理LDAP及其初次使用DockerLDA
- 安裝Docker Desktop報錯WSL 2 installation is incompleteDocker
- Installation failed with message INSTALL_FAILED_USER_RESTRICTED錯誤AIREST
- LDAP是什麼意思?有什麼用?LDA
- Python使用LDAP做使用者認證PythonLDA
- LDAP:開啟潘多拉寶盒的鑰匙LDA
- 使用LDAP查詢快速提升域許可權LDA
- 如何使用Choerodon LDAP以及配置定時任務LDA
- php_ldap域整合模組安裝-159PHPLDA
- LDAP落地實戰(三):GitLab整合OpenLDAP認證LDAGitlab
- LDAP落地實戰(二):SVN整合OpenLDAP認證LDA
- LDAP落地實戰(四):Jenkins整合OpenLDAP認證LDAJenkins
- Task01&Task02:課程簡介、Installation、Getting Start