코딩마을방범대

우분투에 OpenLDAP & phpLdapAdmin 구축하기 본문

💡 백엔드/우분투

우분투에 OpenLDAP & phpLdapAdmin 구축하기

신짱구 5세 2023. 9. 12. 16:59

 

 

OpenLDAP 구축하기

※ 모든 명령어는 root 권한으로 실행

 

 

1. OpenLDAP 설치

# apt update && apt -y install slapd ldap-utils
# dpkg-reconfigure slapd
Question Answer
If you enable this option, no initial configuration or database will be created for you.
Omit OpenLDAP server configuration? [yes/no] 
N
DNS domain name:  [설정할 도메인 네임]
ex) ldap.dbkim.co.kr
Organization name: [조직명]
Administrator password: [설정할 암호]
(두 번 입력)
Do you want the database to be removed when slapd is purged? [yes/no]
(slapd를 제거했을 때 DB 정보를 지울 것인지)
Y
There are still files in /var/lib/ldap which will probably break the configuration process. If you
enable this option, the maintainer scripts will move the old database files out of the way before
creating a new database.

Move old database? [yes/no] 
Y

 

 

 


 

 

2. LDAP 설정 확인

# slapcat

방화벽이 실행 중이라면 아래 명령어를 통해 연결 허용 시켜주기
# ufw allow ldap

 

 

 


 

 

3. admin 추가

# vi basedn.ldif
dn: ou=people,dc=example,dc=com
objectClass: organizationalUnit
objectClass: top
ou: people

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups

 

아래 명령어를 이용해 해당 파일 등록

# ldapadd -x -D cn=admin,dc=example,dc=com -W -f basedn.ldif

 

 

 

 

 

 


 

 

 

 

 

 

 

phpLDAP 구축하기

 

 

1. phpLDAPAdmin 등 설치

# apt update && apt -y install apache2 php php-cgi libapache2-mod-php php-mbstring php-common php-pear

 

 


 

 

2. php7.2-cgi를 apache에 추가하고 apache2 재시작

# a2enconf php7.2-cgi
# systemctl reload apache2

 

 

 


 

 

3. phpldapadmin 수동 다운로드

※ apt-get 으로 phpldapadmin을 설치할 경우 오래전 버전이라 많은 기능이 deprecated 되었으므로, git에서 수정된 버전을 다운받아야 한다고 한다.

# mkdir -p /var/www/html
# cd /var/www/html
# git clone https://github.com/breisig/phpLDAPadmin.git
# mv phpLDAPadmin phpldapadmin

 

 

 


 

 

4. conf 파일 수정

# cp /var/www/html/phpldapadmin/config/config.php.example /var/www/html/phpldapadmin/config/config.php

# vi /var/www/html/phpldapadmin/config/config.php
$servers->setValue('server','host','127.0.0.1'); # 293번 줄 - 주석 제거 및 ip 주소 수정
$servers->setValue('server','base',array('dc=example,dc=co,dc=kr')); # 300번 줄 - array()에 도메인 추가
$servers->setValue('server','tls',false);  # 335번 줄 - 주석 제거
$servers->setValue('login','anon_bind',false);  # 453번 줄 - 주석 제거, false로 수정
만약 방화벽이 실행 중이라면 아래 명령어를 통해 포트 허용
# ufw allow proto tcp from any to any port 80,443

 

 

 


 

 

 

5. phpLDAPadmin 사이트 접속 테스트

 

http://<서버 ip>/phpldapadmin 로 접속!

 

Login DN: cn=admin, dc~

 

 

 

 

 


참고사이트

Ubuntu 20.04에서 OpenLDAP 및 phpLDAPadmin을 설치하고 구성하는 방법

OpenLDAP + phpLDAPAdmin 설치 (on Ubuntu)

 

 

SMALL

'💡 백엔드 > 우분투' 카테고리의 다른 글

Nginx를 이용한 캐시 설정  (1) 2023.11.02
우분투의 CURL  (0) 2023.09.27
우분투에 FreeRadius 구축하기  (0) 2023.09.11
MobaXterm, vi 편집기 단축키 정리  (0) 2023.09.11
Docker 내에서 Docker 사용하기  (0) 2023.09.07