Forked from mahirrudin/ubuntu-bionic-openldap-mysql.sh
Created
February 4, 2019 12:20
-
-
Save pavan538/0159396d9a1e9f004bd4f23ff659e3b2 to your computer and use it in GitHub Desktop.
OpenLDAP with MySQL Backend - Ubuntu 18.04
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## installation openldap with backend mysql | |
sudo apt update && sudo apt upgrade -y && sudo reboot | |
sudo apt install mysql-server unixodbc make gcc libmysqlclient-dev unixodbc-dev groff ldap-utils | |
## mysql login as root | |
sudo mysql -u root | |
CREATE DATABASE ldap | |
CREATE USER 'ldap'@'%' IDENTIFIED BY 'S3cureP4ssw0rd$'; | |
GRANT ALL PRIVILEGES ON ldap.* TO 'ldap'@'%'; | |
CREATE USER 'ldap'@'localhost' IDENTIFIED BY 'S3cureP4ssw0rd$'; | |
GRANT ALL PRIVILEGES ON ldap.* TO 'ldap'@'localhost'; | |
FLUSH PRIVILEGES; | |
EXIT | |
## create table to ldap database | |
git clone https://gist.github.com/mahirrudin/bdde7e60fe2a4a3e7b17c5ee28bf02c0 init-ldap.sql | |
sudo mysql -u root ldap < init-ldap.sql | |
## install mysql odbc connector | |
wget https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.11-linux-ubuntu18.04-x86-64bit.tar.gz | |
tar -xvzf mysql-connector-odbc-8.0.11-linux-ubuntu18.04-x86-64bit.tar.gz | |
cd mysql-connector-odbc-*/ | |
sudo cp lib/libmyodbc8* /usr/lib/x86_64-linux-gnu/odbc/ | |
## create file /etc/odbcinst.ini | |
[MySQL Unicode] | |
Description = MySQL ODBC 8.0 Unicode Driver | |
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8w.so | |
Setup = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8S.so | |
FileUsage = 1 | |
[MySQL ANSI] | |
Description = MySQL ODBC 8.0 ANSI Driver | |
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so | |
Setup = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8S.so | |
FileUsage = 1 | |
## edit /etc/odbc.ini | |
[ldap] | |
Description = MySQL Connector for LDAP | |
Driver = MySQL Unicode | |
Database = ldap | |
Server = 127.0.0.1 | |
User = ldap | |
Password = ldap | |
Port = 3306 | |
## check ldap connection if it works | |
sudo echo "show databases" | isql -v ldap | |
+---------------------------------------+ | |
| Connected! | | |
| | | |
| sql-statement | | |
| help [tablename] | | |
| quit | | |
| | | |
+---------------------------------------+ | |
SQL> show databases | |
+-----------------------------------------------------------------+ | |
| Database | | |
+-----------------------------------------------------------------+ | |
| information_schema | | |
| ldap | | |
+-----------------------------------------------------------------+ | |
## download, compile, and install openldap from source | |
## more information http://www.linuxfromscratch.org/blfs/view/svn/server/openldap.html | |
wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.46.tgz | |
tar -xvzf openldap-2.4.46.tgz | |
sudo mv openldap-2.4.* /opt/openldap | |
cd /opt/openldap | |
sudo ./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/share/man --infodir=/usr/share/info --enable-sql --disable-bdb --disable-ndb --disable-hdb | |
sudo make depend | |
sudo make | |
sudo make install | |
## create password for openldap configuration | |
sudo /usr/sbin/slappasswd -h {SSHA} | |
## edit /etc/openldap/slapd.conf | |
################### Start of Configuration ############################ | |
# OpenLDAP Configuration by mahirrudin | |
####################################################################### | |
include /etc/openldap/schema/core.schema | |
include /etc/openldap/schema/cosine.schema | |
include /etc/openldap/schema/inetorgperson.schema | |
pidfile /var/run/slapd.pid | |
argsfile /var/run/slapd.args | |
####################################################################### | |
# SQL database definitions | |
####################################################################### | |
database sql | |
suffix "dc=boekoe,dc=id" | |
rootdn "cn=administrator,dc=boekoe,dc=id" | |
rootpw {SSHA}Th2pCgWlUzNg2gghclpU1IF4lWfPRIKV | |
# SQL configuration | |
dbname ldap | |
dbuser ldap | |
dbpasswd S3cureP4ssw0rd$ | |
has_ldapinfo_dn_ru no | |
subtree_cond "ldap_entries.dn LIKE CONCAT('%',?)" | |
################### End of Configuration ############################## | |
## running openldap | |
sudo /opt/openldap/servers/slapd/slapd -d 5 -h 'ldap:/// ldapi:///' -f /etc/openldap/slapd.conf & | |
## check if ldap working normally | |
ldapsearch -x -b "dc=life,dc=com" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment