第 2 章 设置一个新的 Directory 服务器实例

目录服务器支持创建新实例:

先决条件

2.1. 在命令行中使用 .inf 文件设置新实例

使用 .inf 安装目录服务器可让您自定义高级设置。例如,除了交互式安装程序和 Web 控制台中的设置外,您还可以在 .inf 文件中自定义以下设置:

  • 用户和组在服务启动后使用 ns-slapd Directory Server 进程。请注意,您必须在开始安装前手动创建用户和组。
  • 路径,如配置、备份和数据目录。
  • 证书的有效性。
  • 禁用严格的主机检查,当在负载均衡器后面使用 GSSAPI 安装实例时。

本节描述:

如果只想在安装过程中设置经常使用的配置参数,您可以使用交互式安装程序。详情请查看 第 2.2 节 “使用交互式安装程序在命令行中设置新实例”

2.1.1. 为 Directory 服务器实例安装创建 .inf 文件

在本节中,您将了解如何为 dscreate 实用程序创建 .inf 配置文件以及如何调整 .inf 文件到您的环境。在后续步骤中,您将使用此文件来创建新的 Directory 服务器实例。

流程
  1. 使用 dscreate create-template 命令创建模板 .inf 文件。例如,将模板存储在 /root/instance_name.inf 文件中:

    # dscreate create-template /root/instance_name.inf

    创建的文件具有所有可用的参数及描述

  2. 编辑您在上一步中创建的文件:

    1. 取消注释您要设置以自定义安装的参数。

      注意

      所有参数都具有默认值。但是,红帽建议为生产环境自定义某些参数。

      例如,至少设置以下参数:

      [slapd]
      # instance_name (str)
      # Description: ...
      # Default value: localhost
      instance_name = instance_name
      
      # root_password (str)
      # Description: ...
      # Default value: directory manager password
      root_password = password

      使用 dscreate create-template 命令创建的模板文件包含您可以在这些部分中配置的参数的完整列表。

    2. 在创建实例的过程中自动创建后缀:

      1. 取消注释 create_suffix_entry 参数,并将其设置为 true

        # create_suffix_entry (bool)
        # Description: ...
        # Default value: False
        create_suffix_entry = True
      2. 取消注释 suffix 参数,并设置后缀:

        # suffix (str)
        # Description: ...
        # Default value:
        suffix = dc=example,dc=com
        重要

        除了在实例创建过程中创建后缀外,您可以稍后创建它,如Red Hat Directory Server 管理指南中的创建数据库所述。https://access.redhat.com/documentation/zh-cn/red_hat_directory_server/11/html/administration_guide/configuring_directory_databases-creating_and_maintaining_databases#Creating_and_Maintaining_Databases-Creating_Databases但是,如果没有创建后缀,则无法将数据存储到这个实例中。

    3. (可选)取消注释其他参数,并将其设置为适合您环境的值。例如,使用这些参数为 LDAP 和 LDAPS 协议指定不同的端口。

      注意

      默认情况下,您创建的新实例包括启用自签名证书和 TLS。为了提高安全性,红帽建议您不要禁用此功能。请注意,您可以稍后将自签名证书替换为证书颁发机构(CA)发布的证书。

其他资源
  • 有关您可以在每个参数的 .inf 文件和描述中设置的参数的完整列表,请查看 dscreate create create-template 命令的模板文件。
  • 有关在安装后安装证书的详情,请参考 Red Hat Directory Server 管理指南中的 Directory Server 使用的 NSS 数据库 部分。

2.1.2. 使用 .inf 文件设置新的目录服务器实例

这部分论述了如何使用命令行使用 .inf 文件设置新的 Directory Server 实例。

先决条件
流程
  1. .inf 文件传递给 dscreate from-file 命令,以创建新实例。例如:

    # dscreate from-file /root/instance_name.inf
    Starting installation...
    Completed installation for instance_name

    创建的实例将自动启动,并配置为在系统引导时启动。

  2. 在防火墙中打开所需端口。请查看 第 2.1.3 节 “在防火墙中打开所需端口”

2.1.3. 在防火墙中打开所需端口

要允许其他机器通过网络连接到目录服务器,请在本地防火墙中打开所需的端口。

如果在实例创建过程中没有指定端口,实例将端口 389 用于 LDAP,和端口 636 用于 LDAPS 协议。

先决条件
  • 在实例创建过程中设置的 LDAP 和 LDAPS 协议的端口号。
流程
  1. 确保 firewalld 服务正在运行。

    • 查看 firewalld 当前是否正在运行:

      # systemctl status firewalld
      ● firewalld.service - firewalld - dynamic firewall daemon
         Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
         Active: active (running) since Fri 2018-06-15 14:06:33 CEST; 1h 17min ago
         ...
    • 要启动 firewalld 并将服务配置为在系统引导时自动启动:

      # systemctl start firewalld
      # systemctl enable firewalld
  2. 使用 firewall-cmd 工具打开所需的端口。例如,要在默认防火墙区中打开 LDAP 和 LDAPS 默认端口:

    # firewall-cmd --permanent --add-port={389/tcp,636/tcp}
  3. 重新载入防火墙配置,以确保立即进行更改:

    # firewall-cmd --reload
其他资源
  • 有关使用 firewall-cmd 在系统上打开端口的详情,请查看 Red Hat Enterprise Linux 安全指南firewall-cmd(1) man page。