From 15ba189277edb186484b91708106087daf627793 Mon Sep 17 00:00:00 2001 From: Endial Fang Date: Mon, 25 Sep 2023 12:32:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E4=B8=BA2.6=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index ea778e1..389fe7b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ # 该部分变量,在编译命令中通过 `--build-arg` 传入;如果未设置,则使用下面对应的默认值 ARG APP_NAME=openldap # 设置当前应用名称 -ARG APP_VER=2.5.16 # 设置当前应用版本 +ARG APP_VER=2.6.6 # 设置当前应用版本 ARG REGISTRY_URL="docker.colovu.com/" # 设置默认仓库地址,默认为本地仓库;定义时需要包含末尾的`/` ARG APT_SOURCE=aliyun # 设置 apt-get 源:default / ustc / aliyun ARG LOCAL_URL="http://local.colovu.com/dist" # 编译镜像时指定用于加速的本地软件包存储服务器地址 @@ -35,14 +35,19 @@ RUN select_source ${APT_SOURCE}; # 安装依赖的软件包及库 # 官方推荐包:Cyrus SASL 2.1.27+、OpenSSL 1.1.1+、libevent 2.1.8+、libsodium(groff) -RUN install_pkg libperl-dev libcrypto++-dev libsasl2-dev libevent-dev libdb5.3-dev groff groff-base +# groff: 解决`soelim: not found`问题 +RUN install_pkg libwrap0 libwrap0-dev libcrypt1 libcrypt-dev libsodium23 libsodium-dev libsasl2-2 libsasl2-dev \ + libevent-2.1-7 libevent-dev groff groff-base unixodbc unixodbc-dev libperl5.36 libperl-dev +RUN install_pkg libwrap0-dev libcrypt-dev libsodium-dev libsasl2-dev libevent-dev groff-base unixodbc-dev libperl-dev # dbuilder已安装: libtool libltdl7 libltdl-dev libssl3 libssl-dev +apt-get install -y libwrap0 libwrap0-dev libcrypt1 libcrypt-dev libsodium23 libsodium-dev libsasl2-2 libsasl2-dev libevent-2.1-7 libevent-dev groff groff-base unixodbc unixodbc-dev libperl5.36 libperl-dev + # 参考文档: # 编译: https://www.cnblogs.com/si-jie/p/8214206.html # seolim解决(groff): http://www.emreakkas.com/linux-tips/ubuntu-solve-bin-sh-soelim-not-found -# 下载并解压软件包(OpenLDAP 2.4.59) +# 下载并解压软件包 RUN set -eux; \ appName=${APP_NAME}-${APP_VER}.tgz; \ [ -n ${LOCAL_URL} ] && localURL=${LOCAL_URL}/${APP_NAME}; \ @@ -61,12 +66,25 @@ RUN set -eux; \ CPPFLAGS="-I/usr/local/include -D_GNU_SOURCE" \ ./configure \ --prefix=/usr/local/${APP_NAME} \ + \ --enable-dynamic --enable-syslog \ - --enable-slapd --enable-cleartext --enable-crypt --enable-spasswd --enable-modules \ - --enable-bdb --enable-mdb --enable-ndb=no --enable-sql=no \ - --enable-overlays \ - --enable-balancer \ - --with-cyrus-sasl --with-tls=openssl --with-systemd=no \ + \ + --enable-slapd --enable-cleartext --enable-crypt --enable-spasswd --enable-modules --enable-rlookups --enable-wrappers \ + \ + --enable-dnssrv=mod --enable-ldap=mod --enable-mdb=mod --enable-meta=mod --enable-asyncmeta=mod --enable-null=mod \ + --enable-passwd=mod --enable-perl=mod --enable-relay=mod --enable-sock=mod --enable-sql=mod \ + \ + --enable-overlays=mod --enable-accesslog=mod --enable-auditlog=mod --enable-autoca=mod --enable-collect=mod \ + --enable-constraint=mod --enable-dds=mod --enable-deref=mod --enable-dyngroup=mod --enable-dynlist=mod \ + --enable-homedir=mod --enable-memberof=mod --enable-otp=mod --enable-ppolicy=mod --enable-refint=mod \ + --enable-remoteauth=mod --enable-retcode=mod --enable-sssvlv=mod --enable-syncprov=mod --enable-unique=mod \ + --enable-valsort=mod \ + \ + --enable-argon2 \ + \ + --enable-balancer=mod \ + \ + --with-cyrus-sasl --with-tls=openssl --with-systemd=no --with-argon2=libsodium \ ; \ make depend; \ make -j "$(nproc)" && make install; @@ -97,7 +115,7 @@ ENV APP_NAME=${APP_NAME} \ APP_VER=${APP_VER} \ APP_EXEC=slapd \ APP_USER=${APP_NAME} \ - LD_LIBRARY_PATH="/usr/local/${APP_NAME}/lib" \ + LD_LIBRARY_PATH="/usr/local/${APP_NAME}/lib:/usr/local/${APP_NAME}/libexec/openldap" \ PATH="${PATH}:/usr/local/${APP_NAME}/sbin:/usr/local/${APP_NAME}/bin:/usr/local/${APP_NAME}/libexec" LABEL \