Full Lab vBullentin Authenticate with LDAP Server

Discussion in 'Web Server & Database' started by thanhdc, Sep 22, 2014.

  1. thanhdc

    thanhdc Super Moderator

    Joined:
    Aug 10, 2014
    Messages:
    139
    Likes Received:
    1
    Trophy Points:
    18
    I. Tổng quan:

    1.1 Sơ đồ:

    [​IMG]


    1.2 Yêu cầu:

    vBullentin sử dụng user của LDAP server để login và post bài viết,...


    II. Cài đặt, cấu hình:


    2.1 Config LDAP:

    Trước tiên bạn phải đảm bảo là đã cài thành công một con DC (Domian Controller) trên Windows Server 2008 R2, quá trình cài sẽ cài luôn DNS trên server này …


    AdsiEdit.msc

    [​IMG]


    [​IMG]


    [​IMG]


    Tạo user để test…

    [​IMG]


    [​IMG]


    2.2 Install WEB SERVER:

    [​IMG]



    [​IMG]

    [​IMG]


    [​IMG]


    [​IMG]


    [​IMG]


    [​IMG]


    Tự động Download va Install các gói cần thiết…
    Tự động cài PHP, MySQL, PHPMyAdmin,...

    [​IMG]


    [​IMG]


    [​IMG]


    [​IMG]


    [​IMG]



    [​IMG]


     
    Last edited: Sep 23, 2014
  2. thanhdc

    thanhdc Super Moderator

    Joined:
    Aug 10, 2014
    Messages:
    139
    Likes Received:
    1
    Trophy Points:
    18
    2.3 Config Web Server

    nano phpinfo.php

    [​IMG]



    Vào http://172.16.1.40/svuit/php.info xem thông tin PHP
    Mặc định gói php5-ldap chưa được cài…

    [​IMG]



    Cài gói php5-ldap


    [TABLE="class: grid, width: 800"]

    root@lamp www/svuit# apt-get install php5-ldap
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
    libapache2-mod-php5 lsof php5-cli php5-common php5-mcrypt php5-mysql
    The following NEW packages will be installed:
    lsof php5-ldap
    The following packages will be upgraded:
    libapache2-mod-php5 php5-cli php5-common php5-mcrypt php5-mysql
    5 upgraded, 2 newly installed, 0 to remove and 12 not upgraded.
    Need to get 6261 kB of archives.
    After this operation, 552 kB of additional disk space will be used.
    Do you want to continue [Y/n]?
    [/TABLE]


    [TABLE="class: grid, width: 800"]

    root@lamp www/svuit# service apache2 restart
    [....] Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
    ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
    . ok
    [/TABLE]




    [TABLE="class: grid, width: 800"]

    root@lamp www/svuit# dpkg --get-selections | grep ldap
    libaprutil1-ldap install
    libldap-2.4-2:amd64 install
    php5-ldap install
    [/TABLE]


    Cài gói php-codesnifferCài gói này để giúp tương thích giữa các phiên bản php…

    [TABLE="class: grid, width: 800"]

    root@lamp www/svuit# apt-get install php-codesniffer
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
    pear-phpunit-channel php-timer php5
    The following NEW packages will be installed:
    pear-phpunit-channel php-codesniffer php-timer php5
    0 upgraded, 4 newly installed, 0 to remove and 12 not upgraded.
    Need to get 467 kB of archives.
    After this operation, 3507 kB of additional disk space will be used.
    Do you want to continue [Y/n]?
    [/TABLE]



    Liệt kê các mod đã enable

    [TABLE="class: grid, width: 800"]

    root@lamp www/svuit# ls /etc/apache2/mods-enabled
    alias.conf authz_default.load autoindex.conf deflate.load mime.conf perl.load reqtimeout.conf ssl.conf
    alias.load authz_groupfile.load autoindex.load dir.conf mime.load php5.conf reqtimeout.load ssl.load
    auth_basic.load authz_host.load cgi.load dir.load negotiation.conf php5.load setenvif.conf status.conf
    authn_file.load authz_user.load deflate.conf env.load negotiation.load python.load setenvif.load status.load

    Nếu như mode authnz_ldap đã được enable
    root@wordpress ~# ls /etc/apache2/mods-enabled | grep ldap
    authnz_ldap.load
    ldap.conf
    ldap.load
    root@wordpress ~#
    [/TABLE]


    ENABLE mod ldap và authnz_ldap

    [TABLE="class: grid, width: 800"]

    a2enmod authnz_ldap
    a2enmod ldap
    /etc/init.d/apache2 restart

    root@lamp www/svuit# a2enmod authnz_ldap
    Considering dependency ldap for authnz_ldap:
    Enabling module ldap.
    Enabling module authnz_ldap.
    To activate the new configuration, you need to run:
    service apache2 restart
    root@lamp www/svuit# a2enmod ldap
    Module ldap already enabled
    root@lamp www/svuit# /etc/init.d/apache2 restart
    [....] Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
    ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
    . ok
    Lưu ý: bạn cũng có thể chạy lệnh a2enmod ldap authnz_ldap để enable cùng lúc 2 mode



    Kiểm tra lại, bảo đảm 2 mode đã được enable
    root@lamp www/svuit# ls /etc/apache2/mods-enabled | grep ldap
    authnz_ldap.load
    ldap.conf
    ldap.load
    root@lamp www/svuit#
    [/TABLE]



    Edit file /etc/hostsLưu ý: webserver phải phân giải được domain svuit.com thì mới có thể xác thực được ldap

    [​IMG]


    [TABLE="class: grid, width: 800"]

    Kiểm tra bảm đảm phân giải được domain svuit.com
    root@lamp www/svuit# ping svuit.com
    PING svuit.com (172.16.1.200) 56(84) bytes of data.
    64 bytes from svuit.com (172.16.1.200): icmp_req=1 ttl=128 time=1.23 ms
    64 bytes from svuit.com (172.16.1.200): icmp_req=2 ttl=128 time=0.316 ms
    64 bytes from svuit.com (172.16.1.200): icmp_req=3 ttl=128 time=1.03 ms
    64 bytes from svuit.com (172.16.1.200): icmp_req=4 ttl=128 time=0.326 ms
    [/TABLE]
     
    Last edited: Sep 23, 2014
  3. thanhdc

    thanhdc Super Moderator

    Joined:
    Aug 10, 2014
    Messages:
    139
    Likes Received:
    1
    Trophy Points:
    18
    2.4 INSTALL vBullentin 4.2.2


    http://www.vnseo.edu.vn/threads/download-vbb-4-2-2-vbulletin-suite-4-2-2.13749.html
    vBulletin Suite 4.2.2 chính thức ra mắt và cập nhật [​IMG], cái này được Nulled By VietVBB-Team.


    Link download:
    https://app.box.com/s/6lup78vgdbw7n7ng8czi

    Upload source vBullentin
    [​IMG]

    Sử dùng WinSCP để upload, copy, edit,…

    [​IMG]


    Upload source vào /var/www/

    [​IMG]


    Dùng PuTTy để chạy lệnh Linux:

    [​IMG]


    [​IMG]


    Đổi tên thư mục upload thành svuit
    Đổi tên file config.php.new thành config.php
    Edit file cấu hình config.php

    [TABLE="class: grid, width: 800"]

    root@lamp ~# cd /var/www/
    root@lamp /var/www# mv upload svuit
    root@lamp /var/www#
    root@lamp /var/www# cd svuit/includes/
    root@lamp svuit/includes# mv config.php.new config.php
    root@lamp svuit/includes# nano config.php
    [/TABLE]



    Sửa nội dung trong file cau hinh config.php:

    [TABLE="class: grid, width: 800"]

    $config['Database']['dbtype'] = 'mysql';
    $config['Database']['dbname'] = 'svuit';
    $config['Database']['tableprefix'] = '';
    $config['MasterServer']['servername'] = 'localhost';
    $config['MasterServer']['port'] = 3306;
    $config['MasterServer']['username'] = 'root';
    $config['MasterServer']['password'] = '123456';
    [/TABLE]


    Thêm @ini_set('display_errors', false); vào file cấu hình config.php

    [TABLE="class: grid, width: 800"]

    <?php
    @ini_set('display_errors', false);

    ?>
    [/TABLE]



    Truy cập vào đường dẫn http://172.16.1.40/svuit/install/install.php để bắt đầu quá trình cài…

    [​IMG]

    ====Edit svuit.com --> VIETVBB.VN



    Bỏ qua lỗi…

    [​IMG]



    Chọn Begin Install để bắt đầu cài…

    [​IMG]
    [​IMG]



    Chỉnh sửa một số thông tin Forum

    [​IMG]


    [​IMG]



    Tạo Administrator Account (User Name tùy thích)


    [​IMG]


    Bỏ qua ko cài CMS default data…
    Bạn nào thích thì chọn Yes để cài nội dung mẫu cho Forum.


    [​IMG]


    Install Complete…

    Yêu cầu phải xóa, hoặc đổi tên thư mục install


    [​IMG]


    root@lamp www/svuit# rm -rf install
    OR:
    root@lamp www/svuit# mv install install_svuit

    [​IMG]


    Login vào Admin CP:

    [​IMG]


    Admin CP

    [​IMG]
     
    Last edited: Sep 22, 2014
  4. thanhdc

    thanhdc Super Moderator

    Joined:
    Aug 10, 2014
    Messages:
    139
    Likes Received:
    1
    Trophy Points:
    18
    2.5 Install plugin LDAP Authentication

    Lưu ý: bạn có thể download plugin tại đây: http://vbwarez.net/threads/1397-vBulletin-Ldap-Authentication-Plugin-1-0-1
    đây là bản gôc chưa chỉnh sửa hổ trợ cho các phiên bản vBullentin 4.0 trở về trước (Mình thử cài plugin này cho bản vbb 4.0 nhưng kết quả cũng ko dc ..)

    Dựa trên bản này mình đã lập trình lại để nó có thể chạy được trên vBullentin 4.2,
    Hiện tại thì code mình sửa có thể xác thực tốt với LDAP của Domain Controller Windows Server 2008 R2.
    Link download: http://svuit.com/vBulletin-Ldap-Authentication-Plugin-2-0-1.zip
    Or http://svuit.com/ldapAuth_2.0.1.zip
    Or https://drive.google.com/folderview?id=0Byd5pXHPhHDOclNzYzhxczJ4LWs&usp
    Để có một môi trường hoàn chỉnh để test bạn cũng phải khá vất vả,
    bạn phải dựng Server Web chạy Linux, cài apache, php, mysql, phpmyadmin,… cài các plugin ldap, enable các plugin, …
    Các webserver dùng Xampp, Appser, Vertrigo, … chạy trên Windows khi enable extension php_ldap.dll thì bị lỗi, … nên ko dùng được…
    vBullentin v4.0, 4.2 cài trên PHP 5.4 trở lên thì báo lỗi ….Vấn đề tương thích giữa các phiên bản PHP…Xác thực ko được do cấu hình DC ko đúng,…..


    Copy code xác thực Ldap vào
    /var/www/svuit/

    [​IMG]


    Edit file ldapconfig.inc.php

    [​IMG]


    Copy file hocks_ldap.xml vào svuit/includes/xml/

    [​IMG]


    Copy

    [​IMG]


    Paste

    [​IMG]


    Edit file svuit/includes/clash_bootstrap.php

    [​IMG]


    Vào Import Plugin

    [​IMG]
     
    Last edited: Sep 23, 2014
  5. thanhdc

    thanhdc Super Moderator

    Joined:
    Aug 10, 2014
    Messages:
    139
    Likes Received:
    1
    Trophy Points:
    18
    III. KẾT QUẢ :


    Trước khi test, bạn phải đảm bảo là trên DC đã có user svuit01,
    và bạn đã thiết lập địa chỉ email cho tài khoản này, nếu ko có địa chỉ email sẽ ko thể login được…



    Login

    [​IMG]


    Redirecting…

    [​IMG]


    Login thành công:

    [​IMG]


    Login Vào phpMyAdmin

    [​IMG]



    Vào database svuit

    [​IMG]


    Vào user
    Bạn sẽ thấy user svuit01 vừa được tạo với các thông tin giống với thông tin trên LDAP (như username, email)
    Lưu ý: password là một chuỗi md5 ngẫu nhiên bất kỳ…
    nên ko login dc bằng pass này mà vẫn phải dùng pass của LDAP để xác thực…

    [​IMG]


    Tạo một chủ đề mới:

    [​IMG]


    Chủ đề đã được tạo thành công…

    [​IMG]




    Bổ xung:


    Trong quá trình Test có thể bạn cấu hình chưa đúng nên ko thể xác thực được .
    vBullentin giới hạn login sai 5 lần sẽ bị khóa login trong 15 phút …

    [​IMG]

    Để cho vBullentin cho phép bạn tiếp tục đăng nhập
    Bạn vào database svuit ==> vào mục SQL ==> chạy script “TRUNCATE strikes;”

    [​IMG]


    Hoặc đơn giản hơn, bạn vào Admin CP ==> Setting ==> Options ==> General Settings: tắt tính năng User Login “Strikes” System

    [​IMG]



    Download:

    Full VMWare WebServer + Ldap Authentication Plugin
    Ldap Authentication Plugin 2.0.1
    https://drive.google.com/folderview?id=0Byd5pXHPhHDOclNzYzhxczJ4LWs&usp
     
    Last edited: Sep 23, 2014
  6. staythesame

    staythesame New Member

    Joined:
    Jan 13, 2015
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Dear Bạn
    Bài viết của bạn rất hay . mình đã đăng kí thành viên để cảm ơn bài viết này .
    Mình bổ sung 1 chút : hoàn toàn thực hiện được với apache+ php+mysql cài đặt trên window.
    apache : 2.4.10 ( 64bit)
    Php : 5.6.1
    Mysql : 5.6.22
    Thanks bạn vì bài viết hay
     
    Last edited: Jan 13, 2015
  7. nontakjaba

    nontakjaba Member

    Joined:
    Dec 10, 2017
    Messages:
    103
    Likes Received:
    0
    Trophy Points:
    16
    Gender:
    Male
    Cam on ban da chia se
     

Share This Page