PHP 개발 환경 너비 LDAP 설정

3263 단어 phpldap
이전에 PHP에서 LDAP를 인증하는 시스템을 만들었습니다.

그때 도커로 개발환경을 만들었으니 어떻게 설정하는지 메모해두겠습니다.

제가 사용한 환경은 아래와 같습니다.
  • macOS 카탈리나 10.15.5
  • Git
  • Docker Desktop for Mac

  • 설정 방법



    터미널을 열고 LAMP+OpenLDAP Dev Docker 저장소를 복제합니다.

    git clone https://github.com/ko31/lamp-dev-docker.git <your-project-name>
    


    컨테이너를 만들고 시작합니다.

    cd <my-project-name>
    docker-compose up -d
    


    그런 다음 http://localhost:8000에서 지역 웹사이트에 액세스할 수 있습니다.
    (문서 루트는 <your-project-name>/www/html 디렉토리입니다.)

    PHP에서 LDAP에 연결해보십시오



    시작하려면 LDAP 서버에 연결하는 사용자가 있는지 확인하십시오.

    http://localhost:8888에서 phpLDAPadmin을 열고 login를 클릭합니다.



    이 컨테이너에서 기본적으로 로그인 DN은 cn=admin,dc=example,dc=com이고 암호는 password입니다. 입력하고 authenticate를 클릭합니다.


    admin 사용자로 로그인할 수 있었던 것을 볼 수 있습니다.


    <your-project-name>/www/html/connect.php를 생성하고 다음을 입력합니다.

    <?php
    // LDAP settings
    const LDAP_HOST = "ldap-host";
    const LDAP_PORT = 389;
    const LDAP_DC = "dc=example,dc=com";
    const LDAP_CN = "admin";
    const LDAP_PASS = "password";
    
    // Connect LDAP server.
    $ldap_conn = ldap_connect(LDAP_HOST, LDAP_PORT);
    if (!$ldap_conn) {
        exit('Could not connect to LDAP server.');
    }
    
    // Switch protocol to LDAPv3.
    ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
    
    // Bind to LDAP directory.
    $ldap_dn = 'cn=' . LDAP_CN . ',' . LDAP_DC;
    $ldap_bind = ldap_bind($ldap_conn, $ldap_dn ,LDAP_PASS);
    if ($ldap_bind) {
        exit('LDAP bind successful..');
    } else {
        exit('LDAP bind failed.');
    }
    


    http://localhost:8000/connect.php에서 성공적인 연결을 확인할 수 있습니다.



    재미있게 보내세요!👍

    좋은 웹페이지 즐겨찾기