Mac上安装OpenLDAP服务器详细教程(Homebrew安装和自带的ldap)

news2024/11/16 20:32:05

目录

前言

一、安装 Homebrew(如果尚未安装)

二、使用 Homebrew 安装 OpenLDAP

三、配置 OpenLDAP

步骤一:更新PATH和环境变量

步骤二:配置slapd.conf

步骤三:初始化和启动 OpenLDAP 服务

1.创建数据库目录

2.设置权限

3.配置数据库文件

步骤三:slapd.d配置目录

1.使用slaptest生成配置

2.报错1:数据库目录缺失

3.报错2:数据库文件缺失

4.报错3: slapd.d 目录不为空

步骤四:启动slapd

步骤五:验证LDAP服务

步骤六:创建LaunchAgent(可选)

其他:更换ldif文件

1.重建testldap.ldif

2.加载 LDIF 文件

3.确认 LDAP 条目存在

四、MAC自带版本和Homebrew安装版本的说明

1.macOS自带的OpenLDAP

2.Homebrew安装的OpenLDAP

五、macOS自带的OpenLDAP。

步骤一:确认OpenLDAP安装位置

步骤二:编辑配置文件

步骤三:创建数据目录

步骤四:生成slapd.d配置目录

步骤五:启动slapd

步骤六:验证LDAP服务

自动启动配置(可选)

六、macOS自带的OpenLDAP 和 homebrew 安装的区别

1. 安装位置

2. 配置文件路径

3. 版本管理

4. 更新和安装方式

5. 启动和管理服务

选择哪一个?

结论


目录

前言

一、安装 Homebrew(如果尚未安装)

二、使用 Homebrew 安装 OpenLDAP

三、配置 OpenLDAP

步骤一:更新PATH和环境变量

步骤二:配置slapd.conf

步骤三:初始化和启动 OpenLDAP 服务

1.创建数据库目录

2.设置权限

3.配置数据库文件

步骤三:slapd.d配置目录

1.使用slaptest生成配置

2.报错1:数据库目录缺失

3.报错2:数据库文件缺失

4.报错3: slapd.d 目录不为空

步骤四:启动slapd

步骤五:验证LDAP服务

步骤六:创建LaunchAgent(可选)

四、MAC自带版本和Homebrew安装版本的说明

1.macOS自带的OpenLDAP

2.Homebrew安装的OpenLDAP

五、macOS自带的OpenLDAP。

步骤一:确认OpenLDAP安装位置

步骤二:编辑配置文件

步骤三:创建数据目录

步骤四:生成slapd.d配置目录

步骤五:启动slapd

步骤六:验证LDAP服务

自动启动配置(可选)

六、macOS自带的OpenLDAP 和 homebrew 安装的区别

1. 安装位置

2. 配置文件路径

3. 版本管理

4. 更新和安装方式

5. 启动和管理服务

选择哪一个?

结论


前言

在macOS上安装LDAP服务器,最常用的选择是OpenLDAP。下面是如何使用Homebrew来安装OpenLDAP的步骤:

注意:以下命令和过程适用于基于Homebrew的安装方式,如果您使用的是Mac with Apple Silicon (M1, M2等),请注意路径可能略有不同(通常为/opt/homebrew而非/usr/local)。

本文以M2举例(MAC有自带的OpenLDAP,后面有比较两个安装版本)

一、安装 Homebrew(如果尚未安装)

如果尚未安装Homebrew,在终端中运行以下命令进行安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

此脚本会安装Homebrew及其依赖项。

二、使用 Homebrew 安装 OpenLDAP

1、更新Homebrew以确保您安装的是最新版的软件:

brew update

2、安装OpenLDAP:

brew install openldap

三、配置 OpenLDAP

OpenLDAP 的配置文件通常位于 /etc/openldap//usr/local/etc/openldap/ (根据您的系统和OpenLDAP版本,路径可能有所不同)。可以查看Homebrew安装信息来确认实际路径:

brew info openldap

MAC M2是以下路径。都在/opt/homebrew/下: 

 

  • /opt/homebrew/opt/openldap/bin/:可执行文件
  • /opt/homebrew/opt/openldap/sbin/:系统管理的可执行文件
  • /opt/homebrew/opt/openldap/lib/:库文件
  • /opt/homebrew/opt/openldap/libexe/:启动脚本  slapd文件
  • /opt/homebrew/etc/openldap/:配置文件  slapd.d 、slapd.conf 、slapd.ldif都在这里

/opt/homebrew/etc/openldap

/opt/homebrew/opt/openldap/libexec

只有slapd文件

步骤一:更新PATH和环境变量

按照Homebrew的提示,更新你的环境变量以确保系统使用Homebrew安装的OpenLDAP版本。

根据提示设置环境变量:

echo 'export PATH="/opt/homebrew/opt/openldap/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/openldap/sbin:$PATH"' >> ~/.zshrc
echo 'export LDFLAGS="-L/opt/homebrew/opt/openldap/lib"' >> ~/.zshrc
echo 'export CPPFLAGS="-I/opt/homebrew/opt/openldap/include"' >> ~/.zshrc
source ~/.zshrc

我这里只配置了PATH两个。

步骤二:配置slapd.conf

配置slapd.conf文件

在/opt/homebrew/etc/openldap目录下(安装后会有默认生成的一些文件,我做了备份,重新创建了文件):

/opt/homebrew/etc/openldap目录中创建并编辑slapd.conf文件(也可以使用vi vim都等编辑):

sudo nano /opt/homebrew/etc/openldap/slapd.conf

示例slapd.conf内容:

include /opt/homebrew/etc/openldap/schema/core.schema
pidfile /opt/homebrew/var/run/slapd.pid
argsfile /opt/homebrew/var/run/slapd.args

database mdb
maxsize 1073741824
suffix "dc=testldap,dc=com"
rootdn "cn=admin,dc=testldap,dc=com"
rootpw secret
#数据库文件目录
directory /opt/homebrew/var/openldap-data
index objectClass eq
  • 修改suffixrootdn以匹配你的域名。
  • 修改rootpw为你的管理员密码

步骤三:初始化和启动 OpenLDAP 服务

要初始化LDAP目录,您首先需要创建一个LDIF文件,该文件定义了您的LDAP树和它的顶级条目(比如域名)。然后使用ldapadd命令将其添加到数据库中。

默认情况下,OpenLDAP 不会随系统自动启动。可以手动启动 slapd,以便测试配置是否有效:

1.创建数据库目录

目录: /opt/homebrew/var/openldap-data

 如果 directory /opt/homebrew/var/openldap-data 中指定的目录不存在,你需要手动创建它:

sudo mkdir -p /opt/homebrew/var/openldap-data

这条命令会创建一个名为 openldap-data 的目录,位于 /opt/homebrew/var/ 下。确保目录创建成功,并且具有适当的权限以供 OpenLDAP 使用。

2.设置权限

sudo chown -R ldap:ldap /opt/homebrew/var/openldap-data



如果提示:

chown: ldap: illegal group name



说明 ldap 组不存在,你可以尝试使用其他合适的组,例如 staff。staff 组通常存在于 macOS 系统中,并且用于一般的用户权限。以下是将数据库目录设置为 staff 组的命令:


sudo chown -R :staff /opt/homebrew/var/openldap-data

3.配置数据库文件

要生成数据库文件,你需要运行 OpenLDAP 的 slapadd 工具,并提供一个 LDIF 文件来填充数据库。以下是生成数据库文件的基本步骤:

1)创建 LDIF 文件:

首先,你需要创建一个 LDIF 文件,用于定义你的 LDAP 数据。这个文件包含了条目(entry)和属性(attribute)的定义。这是一个示例 LDIF 文件的简单例子:

在目录/opt/homebrew/var/openldap-data下创建testldap.ldif文件(可以使用 vi vim编辑器)

# LDIF 文件示例

# 定义根节点
dn: dc=testldap,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Example Organization
dc: testldap

# 定义管理员条目
dn: cn=admin,dc=testldap,dc=com
objectClass: organizationalRole
cn: admin

2)运行 slapadd

使用 slapadd 工具将 LDIF 文件加载到数据库中。运行以下命令:

sudo slapadd -F /opt/homebrew/etc/openldap/slapd.d -l your_ldif_file.ldif

例如:
sudo slapadd -F /opt/homebrew/etc/openldap/slapd.d -l /opt/homebrew/var/openldap-data/testldap.ldif

替换 your_ldif_file.ldif 为你的 LDIF 文件的路径和名称。

-F 选项指定了 slapd.d 配置目录的路径,这样 slapadd 将把数据加载到正确的位置。

加载后openldap-data文件下会生成如下文件:

步骤三:slapd.d配置目录

1.使用slaptest生成配置

sudo slaptest -f /opt/homebrew/etc/openldap/slapd.conf -F /opt/homebrew/etc/openldap/slapd.d

如果没有错误,上述命令会将配置文件转换为新的格式并存储在/opt/homebrew/etc/openldap/slapd.d目录中。

2.报错1:数据库目录缺失

/opt/homebrew/etc/openldap/slapd.conf: line 10: invalid path: No such file or directory

第10行这个目录不存在:

3.报错2:数据库文件缺失

mdb_db_open: database "dc=testldap,dc=com" cannot be opened: No such file or directory (2). Restore from backup!
backend_startup_one (type=mdb, suffix="dc=testldap,dc=com"): bi_db_open failed! (2)
slap_startup failed (test would succeed using the -u switch)

4.报错3: slapd.d 目录不为空

slaptest如果报以下错误:

config_setup_ldif: expected directory /opt/homebrew/etc/openldap/slapd.d to be empty! slaptest: bad configuration directory!

错误消息表明 slapd.d 目录不是空的,但 slaptest 需要该目录为空才能正常工作。这可能是由于之前运行 slaptest 或其他操作导致 slapd.d 目录中存在了一些文件。

  1. 清空 slapd.d 目录:

    首先,确保 slapd.d 目录为空。你可以手动删除其中的文件:

    sudo rm -rf /opt/homebrew/etc/openldap/slapd.d/*

    运行完这个命令后,确保 slapd.d 目录为空。

  2. 重新运行 slaptest

    确保 slapd.d 目录为空后,重新运行 slaptest 命令:

    sudo slaptest -f /opt/homebrew/etc/openldap/slapd.conf -F /opt/homebrew/etc/openldap/slapd.d

    如果一切设置正确,slaptest 应该能够成功创建配置目录。

步骤四:启动slapd

启动slapd守护进程

确认slapd存在位置:/opt/homebrew/opt/openldap/libexec/slapd

 sudo /opt/homebrew/opt/openldap/libexec/slapd -F /opt/homebrew/etc/openldap/slapd.d -d 1

使用-d 1参数以调试模式启动,可以看到详细的日志输出。这有助于排查启动问题。

步骤五:验证LDAP服务

使用ldapsearch验证服务

ldapsearch -x -H ldap://localhost:389 -b "dc=testldap,dc=com"

连接成功,如下图: 

步骤六:创建LaunchAgent(可选)

如果希望OpenLDAP随系统启动,可以创建一个LaunchAgent。

创建LaunchAgent文件

创建文件~/Library/LaunchAgents/homebrew.mxcl.openldap.plist,内容如下:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>homebrew.mxcl.openldap</string> <key>ProgramArguments</key> <array> <string>/opt/homebrew/opt/openldap/libexec/slapd</string> <string>-F</string> <string>/opt/homebrew/etc/openldap/slapd.d</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> <key>StandardErrorPath</key> <string>/opt/homebrew/var/log/slapd.log</string> <key>StandardOutPath</key> <string>/opt/homebrew/var/log/slapd.log</string> </dict> </plist>

加载LaunchAgent

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.openldap.plist launchctl start homebrew.mxcl.openldap

其他:更换ldif文件

如果想创建一个包含 uid=admin 的 LDIF 文件,并加载到 LDAP 服务器中。可以更换ldif文件,例如:

1.重建testldap.ldif

清空并重新创建 OpenLDAP 数据目录(确保数据目录为空):

sudo rm -rf /opt/homebrew/var/openldap-data/*

 确保数据目录的权限正确:

sudo chown -R :staff /opt/homebrew/var/openldap-data

 文件内容:

dn: dc=testldap,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Test LDAP
dc: testldap

dn: cn=admin,dc=testldap,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
userPassword: secret

dn: uid=admin,dc=testldap,dc=com
objectClass: inetOrgPerson
cn: Admin
sn: Admin
uid: admin
userPassword: secret

2.加载 LDIF 文件

使用 slapadd 命令加载这个 LDIF 文件: 

sudo slapadd -F /opt/homebrew/etc/openldap/slapd.d -l /opt/homebrew/var/openldap-data/testldap.ldif

 启动

 sudo /opt/homebrew/opt/openldap/libexec/slapd -F /opt/homebrew/etc/openldap/slapd.d -d 1

3.确认 LDAP 条目存在

再次使用 ldapsearch 命令确认条目存在:

ldapsearch -x -H ldap://localhost:389 -D "cn=admin,dc=testldap,dc=com" -W -b "dc=testldap,dc=com" "(uid=admin)"

确保这次搜索结果包含 uid=admin 条目。

四、MAC自带版本和Homebrew安装版本的说明

macOS自带了OpenLDAP,但其配置文件和安装位置与通过Homebrew安装的OpenLDAP可能有所不同。以下是对这两个安装版本的说明和如何处理的建议:

1.macOS自带的OpenLDAP

macOS自带的OpenLDAP相关文件通常位于 /etc/openldap 目录下。这个目录包含默认的配置文件和示例文件,例如:

  • AppleOpenLDAP.plist
  • ldap.conf
  • ldap.conf.default
  • schema/ 目录
  • slapd.conf.default
  • DB_CONFIG.example

2.Homebrew安装的OpenLDAP

通过Homebrew安装的OpenLDAP文件通常位于 /opt/homebrew/Cellar/openldap/ 目录下。这个目录下的内容一般包括:

  • bin/:可执行文件
  • sbin/:系统管理的可执行文件
  • lib/:库文件
  • etc/openldap/:配置文件

更新环境变量,为了使用Homebrew安装的OpenLDAP,需要确保Homebrew路径在系统的PATH中优先:

echo 'export PATH="/opt/homebrew/opt/openldap/bin:$PATH"' >> ~/.zshrc 
echo 'export PATH="/opt/homebrew/opt/openldap/sbin:$PATH"' >> ~/.zshrc 
source ~/.zshrc

五、macOS自带的OpenLDAP。

以下是如何配置和启动macOS自带的OpenLDAP服务的详细步骤。

步骤一:确认OpenLDAP安装位置

macOS自带的OpenLDAP通常位于/usr/libexec目录下,配置文件在/etc/openldap目录中。

步骤二:编辑配置文件

编辑slapd.conf文件

/etc/openldap目录中找到并编辑slapd.conf文件:

sudo nano /etc/openldap/slapd.conf

示例slapd.conf内容:

include /etc/openldap/schema/core.schema
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
​
database mdb
maxsize 1073741824
suffix "dc=my-domain,dc=com"
rootdn "cn=admin,dc=my-domain,dc=com"
rootpw secret
directory /var/lib/openldap/openldap-data
index objectClass eq
  • 修改suffixrootdn以匹配你的域名。

  • 修改rootpw为你的管理员密码。

步骤三:创建数据目录

确保数据目录存在并有正确的权限:

sudo mkdir -p /var/lib/openldap/openldap-data
sudo chown -R ldap:ldap /var/lib/openldap/openldap-data

步骤四:生成slapd.d配置目录

创建slapd.d目录

sudo mkdir -p /etc/openldap/slapd.d

使用slaptest生成配置

sudo slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

步骤五:启动slapd

启动slapd守护进程

sudo /usr/libexec/slapd -F /etc/openldap/slapd.d -d 1

使用-d 1参数以调试模式启动,可以看到详细的日志输出。这有助于排查启动问题。

步骤六:验证LDAP服务

使用ldapsearch验证服务

ldapsearch -x -H ldap://localhost:389 -b "dc=my-domain,dc=com"

自动启动配置(可选)

如果希望OpenLDAP随系统启动,可以创建一个LaunchDaemon。

1.创建LaunchDaemon文件

创建文件/Library/LaunchDaemons/org.openldap.slapd.plist,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.openldap.slapd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/libexec/slapd</string>
        <string>-F</string>
        <string>/etc/openldap/slapd.d</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardErrorPath</key>
    <string>/var/log/slapd.log</string>
    <key>StandardOutPath</key>
    <string>/var/log/slapd.log</string>
</dict>
</plist>

2.加载LaunchDaemon

sudo launchctl load /Library/LaunchDaemons/org.openldap.slapd.plist
sudo launchctl start org.openldap.slapd

六、macOS自带的OpenLDAP 和 homebrew 安装的区别

macOS自带的OpenLDAP和通过Homebrew安装的OpenLDAP之间有几个关键区别,包括安装位置、配置文件路径、版本管理和更新方式。这些区别可能会影响如何管理和使用OpenLDAP服务。以下是详细的比较:

1. 安装位置

  • macOS自带的OpenLDAP

    • 可执行文件位于系统路径,例如 /usr/libexec/slapd
    • 配置文件位于 /etc/openldap 目录。
    • 数据库文件通常位于 /var/db/openldap/var/lib/openldap
  • Homebrew安装的OpenLDAP

    • 可执行文件和库文件位于 Homebrew 的安装路径,例如 /usr/local/opt/openldap/opt/homebrew/opt/openldap(在Apple Silicon Mac上)。
    • 配置文件位于 Homebrew 的专用路径,如 /usr/local/etc/openldap/opt/homebrew/etc/openldap
    • 数据库文件路径通常在 Homebrew 安装目录下。

2. 配置文件路径

  • macOS自带的OpenLDAP

    • 配置文件位于 /etc/openldap,包括 slapd.confldap.conf 等。
    • 默认配置文件路径由系统管理,更新和修改需要使用系统管理权限。
  • Homebrew安装的OpenLDAP

    • 配置文件位于 /usr/local/etc/openldap/opt/homebrew/etc/openldap
    • 配置文件更易于用户管理和修改,适合开发和实验环境。

3. 版本管理

  • macOS自带的OpenLDAP

    • 由操作系统提供和维护,随系统更新。
    • 更新频率取决于操作系统的更新周期。
    • 版本可能较旧,不一定包含最新的特性和安全修复。
  • Homebrew安装的OpenLDAP

    • 由Homebrew社区维护和更新。
    • 更新频率更快,容易获得最新版本和修复。
    • 用户可以通过Homebrew命令轻松更新到最新版本。

4. 更新和安装方式

  • macOS自带的OpenLDAP

    • 通过系统更新进行升级,用户不需要手动干预。
    • 版本更新频率取决于操作系统更新。
  • Homebrew安装的OpenLDAP

    • 通过Homebrew命令进行安装和更新,例如 brew install openldapbrew upgrade openldap
    • 用户可以控制版本更新,适合需要使用特定版本的用户。

5. 启动和管理服务

  • macOS自带的OpenLDAP

    • 通常不默认启动,需要手动配置和启动。
    • 可以使用 macOS 的 launchd 服务进行管理。
  • Homebrew安装的OpenLDAP

    • 用户可以创建和管理自定义的 LaunchAgentLaunchDaemon 来启动和管理服务。
    • 更适合在开发环境中进行测试和实验。

选择哪一个?

  • 使用macOS自带的OpenLDAP

    • 如果你只需要一个简单的、快速配置的LDAP服务,并且不需要最新的功能和修复。
    • 如果你希望最小化依赖并使用系统自带的工具。
  • 使用Homebrew安装的OpenLDAP

    • 如果你需要最新版本和快速更新。
    • 如果你希望在配置和路径上有更多的灵活性。
    • 如果你需要在开发环境中进行大量的测试和实验,并希望避免对系统文件进行修改。

结论

根据你的需求选择适合的版本。如果你需要最新的功能和更灵活的配置管理,建议使用Homebrew安装的OpenLDAP;如果你只需要一个简单、稳定的LDAP服务,可以使用macOS自带的OpenLDAP。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1693026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解

目录 一、onMounted的前世今生 1.1、onMounted是什么 1.2、onMounted在vue2中的前身 1.2.1、vue2中的onMounted 1.2.2、Vue2与Vue3的onMounted对比 1.3、vue3中onMounted的用法 1.3.1、基础用法 1.3.2、顺序执行异步操作 1.3.3、并行执行多个异步操作 1.3.4、执行一次…

非等值连接、等值连接、自然连接

目录 一、笛卡尔积 二、三种连接的关系 三、非等值连接 四、等值连接 五、自然连接 一、笛卡尔积 要理解非等值连接、等值连接、自然连接首先要理解笛卡尔积。 学过《离散数学》的应该很熟悉笛卡尔积。 简单来说&#xff0c;就是有两个集合&#xff0c;其中一个集合中的元…

【华三包过】2024年/华三H3C/云计算GB0-713

H3CNE-cloud-云计算-713 想转行 想继续深入 题库覆盖百分百&#xff0c;题库有新版106道新版113道旧版88道 H3C认证云计算工程师&#xff08;H3C Certified Network Engineer for Cloud&#xff0c;简称H3CNE-Cloud&#xff09; 认证定位于全面掌握虚拟化技术原理及相关产品/…

部门来了个测试开发,听说是00后,上来一顿操作给我看蒙了...

公司新来了个同事&#xff0c;听说大学是学的广告专业&#xff0c;因为喜欢IT行业就找了个培训班&#xff0c;后来在一家小公司实习半年&#xff0c;现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍&#xff0c;服务器缩减一半&#xff0c;性能反而提升4倍&#xff01…

Ollama| 搭建本地大模型,最简单的方法!效果直逼GPT

很多人想在本地电脑上搭建一个大模型聊天机器人。总是觉得离自己有点远&#xff0c;尤其是对ai没有了解的童鞋。那么今天我要和你推荐ollama&#xff0c;无论你是否懂开发&#xff0c;哪怕是零基础&#xff0c;只需十分钟&#xff0c;Ollama工具就可以帮助我们在本地电脑上搭建…

【vue-6】监听

一、监听watch 完整示例代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Documen…

回见,那果园

记不得何时开始骑行&#xff0c;何时开始爬山&#xff0c;何时偶遇洛师傅&#xff0c;何时进了那半山腰的果园。 似乎很远&#xff0c;又很近。 昨天打电话给果园的师傅&#xff0c;本意问问杏是否熟了&#xff0c;周末骑行过去、进山聊天顺道吃个新鲜。 洛师傅呵呵的笑…

【vue-1】vue入门—创建一个vue应用

最近在闲暇时间想学习一下前端框架vue&#xff0c;主要参考以下两个学习资料。 官网 快速上手 | Vue.js b站学习视频 2.创建一个Vue3应用_哔哩哔哩_bilibili 一、创建一个vue3应用 <!DOCTYPE html> <html lang"en"> <head><meta charset&q…

KubeKey 安装 K8s

官网教程 在 Linux 上以 All-in-One 模式安装 KubeSphere 步骤 1&#xff1a;准备 Linux 机器 若要以 All-in-One 模式进行安装&#xff0c;您仅需参考以下对机器硬件和操作系统的要求准备一台主机。 硬件推荐配置 操作系统最低配置Ubuntu 16.04, 18.04, 20.04, 22.042 核 …

C++入门:从C语言到C++的过渡(3)

目录 1.内联函数 1.1内联函数的定义 1.2特性 2.auto关键字 2.1auto的简介 2.2注意事项 3.范围for 4.nullptr空指针 1.内联函数 在C语言中&#xff0c;无论使用宏常量还是宏函数都容易出错&#xff0c;而且无法调试。而C为了弥补这一缺陷&#xff0c;引入了内联函数的概…

SpringBoot3.x + JDK21 整合 Mybatis-Plus

前言 SpringBoot3.0 开始最低要求 Java 17&#xff0c;虽然目前最新的版本为 JDK22&#xff0c;但是在官网上看到 JDK23 在今年9月又要发布了&#xff0c;感觉这 JDK 也有点太过于给力了 所以我们选择用目前的 LTS 版本 JDK21 就好了&#xff0c;不用追求最新的 springboot 版…

【大数据】MapReduce JAVA API编程实践及适用场景介绍

目录 1.前言 2.mapreduce编程示例 3.MapReduce适用场景 1.前言 本文是作者大数据系列专栏的其中一篇&#xff0c;前文我们依次聊了大数据的概论、分布式文件系统、分布式数据库、以及计算引擎mapreduce核心概念以及工作原理。 书接上文&#xff0c;本文将会继续聊一下mapr…

未来十年,IT行业的无限可能!

未来十年&#xff0c;IT行业的无限可能&#xff01; &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学…

2024 电工杯(B题)数学建模完整思路+完整代码全解全析

你是否在寻找数学建模比赛的突破点&#xff1f;数学建模进阶思路&#xff01; 作为经验丰富的数学建模团队&#xff0c;我们将为你带来2024电工杯数学建模竞赛&#xff08;B题&#xff09;的全面解析。这个解决方案包不仅包括完整的代码实现&#xff0c;还有详尽的建模过程和解…

短剧APP开发,短剧行业发展下的财富密码

今年以来&#xff0c;短剧市场展现出了繁荣发展的态势&#xff0c;成为了一个风口赛道。 短剧具有不拖沓、时长短、剧情紧凑等优势&#xff0c;顺应了当代人的生活&#xff0c;是当代人的“电子榨菜”。 短剧的快速发展同时也带动了新业态新模式的发展&#xff0c;短剧APP就是…

【Avalonia入门篇1】Avalonia的安装

目录 一、环境安装 1.1 安装.NET 1.2 安装Avalonia模板 1.3 安装VS编译器 1.4 安装Avalonia扩展 二、创建第一个Avalonia项目 一、环境安装 1.1 安装.NET 按照官网提示下载并安装.NET。如下图所示&#xff1a; 安装完成后&#xff0c;打开power shell&#xff0c;输入下…

Vue的学习 —— <Echarts组件库技术应用>

目录 前言 正文 一、ECharts技术简介 二、Vue3集成Echarts 1、安装Echarts 2、引入方式 三、Echarts基础篇 1、图表容器及大小 2、样式 2.1 颜色主题 3、坐标轴 5、数据集 5.1 在series中设置数据集 5.2 在dataset中设置数据集 四、常用图表实操 1、柱状图 2、…

特殊变量笔记2

案例需求 在demo4.sh中循环打印输出所有输入参数, 体验$*与$的区别 实现步骤 编辑demo4.sh脚本文件 # 增加命令: 实现直接输出所有输入后参数 # 增加命令: 使用循环打印输出所有输入参数演示 编辑demo4.sh文件 直接输出所有输入参数, 与循环方式输出所有输入参数(使用双引…

轻型web服务器搭建 阿里云

1.购买云服务器 2.远程连接云服务器 重置实例密码 重置后要重启服务器 登录云服务器 密码就是刚刚重置的 3.安装宝塔面板 宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 (bt.cn) 回车则开始安装&#xff0c;过程中会多次让输入y表示确认下一步&#xff0c;过程大概2…

3D 生成重建013-ProlificDreamer将SDS拓展到VSD算法进行高质量的3D生成

3D 生成重建013-ProlificDreamer将SDS拓展到VSD算法进行高质量的3D生成 文章目录 0论文工作1论文方法2效果 0论文工作 **分数蒸馏采样&#xff08;SDS&#xff09;**通过提取预先训练好的大规模文本到图像扩散模型&#xff0c;在文本到3d生成方面显示出了巨大的前景&#xff0…