日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Openldap2.5.13编译安装

發(fā)布時間:2024/3/26 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Openldap2.5.13编译安装 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Openldap2.5.13編譯安裝

本篇文章沒有很全面,采用的是編譯安裝,yum安裝參考我的另外一篇文章

一、準備

  • openssl-1.1.1.tar.gz 下載地址:https://ftp.openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gz

  • openldap-2.5.13.tgz 下載地址:https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.5.13.tgz

  • 更換yum源

    # "備份原來的源" mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# "下載、替換為阿里云源配置" wget /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# "更新yum緩存" yum clean all yum makecache
  • 創(chuàng)建要放置安裝的文件夾(這里根據(jù)實際情況定義)

    mkdir /oakxian #項目的總安裝路徑 mkdir /oakxian/soft #安裝包所在位置 mkdir /oakxian/server #項目軟件安裝位置 mkdir /oakxian/log #項目日志位置
  • 關閉防火墻和selinux

    [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config [root@localhost ~]# setenforce 0
  • 二、編譯并配置openssl-1.1.1

    1、openldap需要用到openssl 1.1.1或以上版本,但是centos7截止到2021年07月14日官方y(tǒng)um源中沒有并沒有openssl 1.1.1以上的版本。所以使用源碼進行編譯

    2、查看當前環(huán)境openssl版本,不滿足條件,則先進行openssl-1.1.1安裝

    [root@localhost ~]# openssl version OpenSSL 1.0.2k-fips 26 Jan 2017

    3、編譯oepnssl需要用到gcc,使用yum安裝gcc

    yum install gcc

    4、檢查服務器是否安裝zlib

    whereis zlib

    ? 如果服務器已經(jīng)安裝則會輸出路徑 ,沒有安裝的需要執(zhí)行下載安裝命令

    yum install zlib-devel

    ? 再次檢查服務器中zlib,顯示已經(jīng)存在

    [root@localhost ~]# whereis zlib zlib: /usr/include/zlib.h /usr/share/man/man3/zlib.3.gz

    5、將下載的openssl安裝包放置/oakxian/soft目錄下并解壓

    openssl-1.1.1.tar.gz 下載地址:https://ftp.openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gz

    tar -zxf openssl-1.1.1.tar.gz

    6、編譯openssl-1.1.1并將其安裝到/oakxian/server/openssl目錄下

    cd /oakxian/soft/openssl-1.1.1 #進入解壓后的目錄下#執(zhí)行配置文件,并設置安裝位置為/oakxian/server/openssl ./config shared zlib --prefix=/oakxian/server/openssl make && make install #編譯安裝

    --prefix是指定安裝目錄的,shared zlib庫是在安裝時尋找zlib庫依賴的

    7、安裝完成后構建依賴

    cd /oakxian/soft/openssl-1.1.1 ./config -tmake depend

    8、在編譯時使用的動態(tài)鏈接庫文件中,加入openssl路徑

    vim /etc/ld.so.conf文件,在文件末尾加上 /oakxian/server/openssl/lib (填寫實際位置)

    執(zhí)行配置生效命令

    ldconfig

    9、添加openssl到環(huán)境變量

    vim /etc/profile 文件 ,添加如下內容到末尾

    export OPENSSL=/oakxian/server/openssl/bin export PATH=$OPENSSL:$PATH:$HOME/bin

    執(zhí)行:

    source /etc/profile

    10、正常安裝完成后,查看openssl版本

    [root@localhost server]# openssl version OpenSSL 1.1.1 11 Sep 2018

    注:執(zhí)行openssl version可能會報如下錯誤

    /usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

    解決辦法:

    #位置根據(jù)實際情況填寫,默認位置為:/usr/local/openssl/lib/libssl.so.1.1 sudo ln -s /oakxian/server/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 sudo ln -s /oakxian/server/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

    三、Cyrus SASL安裝

    這個是編譯安裝必須要的依賴包,如果選擇yum源安裝,則不需要(yum安裝自帶了)

    #安裝SASL機制依賴包 yum -y install cyrus-sasl-*

    四、編譯安裝openldap-2.5.13

    1、下載所需依賴

    yum -y install unixODBC-devel.x86_64 yum install -y libtool-ltdl libtool-ltdl-devel tcp_wrappers tcp_wrappers-devel yum -y install gcc #gcc也需要,上面已安裝過

    2、下載openldap包到/oakxian/soft目錄下,并編譯安裝到/oakxian/server/openldap目錄下

    cd /oakxian/soft #到壓縮包所在位置 tar -zxf openldap-2.5.13.tgz #解壓 cd /oakxian/soft/openldap-2.5.13 #進入解壓后目錄

    執(zhí)行configure配置:

    注意,編譯時需要用到上文中已經(jīng)編譯好的openssl相關頭文件以及庫

    ./configure CPPFLAGS="-I/usr/local/include -I/oakxian/server/openssl/include" \LDFLAGS="-L/usr/local/lib -L/oakxian/server/openssl/lib" \--datadir=/oakxian/server/openldap/data \--enable-ldap --enable-cleartext --enable-sql --enable-spasswd \--enable-dynamic --enable-syslog --with-cyrus-sasl --enable-ppolicy \--enable-crypt --enable-modules --enable-wrappers \--enable-overlays --enable-accesslog --enable-debug \--prefix=/oakxian/server/openldap/ --with-tls=openssl

    說明:–enable-overlays會安裝所有模塊到slapd中,會帶有memberof屬性,不需要單獨添加memberof模塊,需要配置文件中添加:overlay memberof,來開啟

    注意,需要configure都校驗通過后再進行編譯安裝,即上述操作沒有報錯,提示如下圖:

    執(zhí)行:

    make depend

    make前需要修改一下編譯模式 #解決"for.c:3:2: 附注:使用 -std=c99 或 -std=gnu99 來編譯您的代碼"報錯

    cd /oakxian/soft/openldap-2.5.13 vim servers/slapd/back-sql/add.c

    修改如下圖所示,將i變量提出到for循環(huán)外

    執(zhí)行:

    make make test #時間較久 make install

    編譯好后openldap就安裝到了指定目錄/oakxian/server/openldap目錄下

    3、配置環(huán)境變量

    vim /etc/profile,添加如下內容

    LDAP_HOME=/oakxian/server/openldap PATH=$PATH:$LDAP_HOME/bin:$LDAP_HOME/sbin:$LDAP_HOME/libexec export PATH

    source /etc/profile

    五、配置openldap

    1、設置超級密碼rootpw

    [root@localhost ~]# slappasswd -s 123456 {SSHA}3hz85TJMt4n8QOdEDXI7MbfEcCbS9UJM #創(chuàng)建directory目錄,需要根據(jù)slapd.conf文件中directory的值創(chuàng)建 mkdir /oakxian/server/openldap/var/openldap-data#先啟動slapd [root@localhost openldap]# slapd -d 256 -h "ldap:/// ldapi:///"#重啟一個shell頁面,執(zhí)行以下命令: #創(chuàng)建slapd.d目錄 mkdir /oakxian/server/openldap/etc/openldap/slapd.d #生成對應slapd.d下相關配置文件 slaptest -f /oakxian/server/openldap/etc/openldap/slapd.conf -F /oakxian/server/openldap/etc/openldap/slapd.d#修改權限 vim /oakxian/server/openldap/etc/openldap/slapd.d/cn\=config/olcDatabase\=\{0\}config.ldif#----將默認olcAccess: {0}to * by * none修改為如下內容: olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * none#重啟slapd,在第一個啟動的等待命令界面,ctrl+c停止slapd,再執(zhí)行啟動命令 [root@localhost openldap]# slapd -d 256 -h "ldap:/// ldapi:///"/這一步也不執(zhí)行 ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif

    2、導入schema

    文件都在/oakxian/server/openldap/etc/openldap/schema目錄下

    ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/collective.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/corba.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/dsee.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/duaconf.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/inetorgperson.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/dyngroup.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/java.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/misc.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/namedobject.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/openldap.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/pmi.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/msuser.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /oakxian/server/openldap/etc/openldap/schema/dyngroup.ldif

    注意:如果報錯:additional info: olcAttributeTypes: Duplicate attributeType

    則證明已經(jīng)包含對應的schema,上述schema,后兩個msuser和dyngroup我在導入時顯示重復

    3、創(chuàng)建根域,與超級管理員

    [root@localhost ~]# slappasswd -s 123456 {SSHA}l+9FKL3GIYmQH1QMwVHm5ytWaxu3wIhZ

    vim domain-dbadmin.ldif

    dn: olcDatabase={0}config,cn=config changetype: modify replace: olcAccess olcAccess: {0}to *by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manageby dn.base="cn=directory manager,dc=cbpm,dc=com" readby * nonedn: olcDatabase={1}mdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=cbpm,dc=comdn: olcDatabase={1}mdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=directory manager,dc=cbpm,dc=comdn: olcDatabase={1}mdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}l+9FKL3GIYmQH1QMwVHm5ytWaxu3wIhZdn: olcDatabase={1}mdb,cn=config changetype: modify add: olcAccess olcAccess: {0}to attrs=userPassword,shadowLastChangeby dn="cn=directory manager,dc=cbpm,dc=com" writeby anonymous authby self writeby * none olcAccess: {1}to dn.base=""by * read olcAccess: {2}to *by dn="cn=directory manager,dc=cbpm,dc=com" writeby * read

    ldapmodify -Y EXTERNAL -H ldapi:/// -f domain-dbadmin.ldif

    總結

    以上是生活随笔為你收集整理的Openldap2.5.13编译安装的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。