ldapサーバの構築検証
| 登録日 | :2024/09/08 06:36 |
|---|---|
| カテゴリ | :Linux |
LPIC対策のためにLDAPサーバを構築しようと考えました。
しかし、いろいろ試したもののRockyLinuxの標準リポジトリにopenldap-serversが登録されておらず、openldap-serversのインストールができません。一方でopenldap, openldap-clientsはインストール可能でした。
ldapサーバは、「389-ds-base」というものを使用する
どうやらRed Hatは、「389-ds-base」というパッケージでldapサーバを構築するようです。
389-ds-baseをインストールする手順は以下の通り
#まず、EPELリポジトリを有効にします
sudo dnf install epel-release -y
sudo dnf update -y
#次に、389 Directory Serverのモジュールを有効にします
sudo dnf module enable 389-ds -y
#そして、389 Directory Serverをインストールします
sudo dnf install 389-ds-base -y
#もし上記の手順でもインストールできない場合は、以下の追加の手順を試してください:
#利用可能なモジュールを確認します:
sudo dnf module list
#389-dsモジュールが表示されている場合、そのバージョンを確認し、特定のバージョンを指定してインストールします:
sudo dnf module install 389-ds:1.4/default -y
(1.4の部分は、実際に表示されたバージョンに置き換えてください)
どうしてもopenldapサーバを構築したい
LPICの試験範囲は、openldapのため、どうしてもopenldapサーバを構築したい場合はdockerを活用します。devian系のOSをdockerからインストールしてopenldapサーバを構築します。
LDAPサーバをDockerを使ってRockyLinux 8.8上に構築する手順を以下に示します。この方法であれば、ホストOSのパッケージ依存関係を気にせずにOpenLDAPサーバを構築できます。
Dockerのインストール:
まず、Dockerがインストールされていない場合は、インストールします。
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
#--allowerasingオプションが必要かもしれません。
sudo systemctl start docker
sudo systemctl enable docker
Docker Composeのインストール:
Docker Composeを使用すると、複数のコンテナを簡単に管理できます。
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
プロジェクトディレクトリの作成:
mkdir ldap-server
cd ldap-server
Docker Compose設定ファイルの作成:
docker-compose.ymlファイルを作成し、以下の内容を記述します。
version: '3'
services:
openldap:
image: osixia/openldap:1.5.0
container_name: openldap
environment:
LDAP_ORGANISATION: "Example Inc"
LDAP_DOMAIN: "example.com"
LDAP_ADMIN_PASSWORD: "adminpassword"
ports:
- "389:389"
- "636:636"
volumes:
- ./ldap:/var/lib/ldap
- ./slapd.d:/etc/ldap/slapd.d
phpldapadmin:
image: osixia/phpldapadmin:latest
container_name: phpldapadmin
environment:
PHPLDAPADMIN_LDAP_HOSTS: "openldap"
PHPLDAPADMIN_HTTPS: "false"
ports:
- "8080:80"
depends_on:
- openldap
LDAPサーバの起動:
sudo docker-compose up -d
LDAPサーバの動作確認:
sudo docker ps
このコマンドで、OpenLDAPとphpLDAPadminのコンテナが実行中であることを確認できます。
phpLDAPadminへのアクセス:
ブラウザでhttp://your_server_ip:8080にアクセスします。
※例)http://192.168.56.107:8080/index.php
ログイン DN: cn=admin,dc=example,dc=com
パスワード: adminpassword(docker-compose.ymlで設定したもの)
LDAPクライアントツールのインストール(オプション):
ホストマシンからLDAPサーバにアクセスするためのクライアントツールをインストールします。
sudo dnf install openldap-clients
LDAPサーバへの接続テスト:
ldapsearch -x -H ldap://localhost -b dc=example,dc=com -D "cn=admin,dc=example,dc=com" -W
[root@ldapserver ldap]# ldapsearch -x -H ldap://localhost -b dc=example,dc=com -D "cn=admin,dc=example,dc=com" -W
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# example.com
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Example Inc
dc: example
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
[root@ldapserver ldap]#
このコマンドを実行すると、パスワードの入力を求められます。正しいパスワードを入力すると、LDAPディレクトリの内容が表示されます。
以上の手順で、RockyLinux 8.8上にDockerを使ってOpenLDAPサーバを構築できます。この環境でLPIC試験対策のための練習や実験を行うことができます。ただし、実際の試験ではDockerを使用せずにネイティブにインストールする方法も理解しておく必要があるかもしれません。