GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04にOpenLDAPサーバーをインストールして設定する方法

このチュートリアルでは、Ubuntu16.04LTSへのOpenLDAPサーバーのインストールと構成について見ていきます。 phpLDAPadminもインストールします Webベースの管理ツール。

OpenLDAPとは

OpenLDAP は、ネットワーククライアントにディレクトリサービスを提供するオープンソースの高速ディレクトリサーバーです。クライアントアプリケーションは、ライトウェイトディレクトリアクセスプロトコル(LDAP)を使用してOpenLDAPサーバーに接続します そのサーバーに保存されている組織情報にアクセスします。適切なアクセス権があれば、クライアントはディレクトリを検索し、ディレクトリ内のレコードを変更および操作できます。 OpenLDAPは、ディレクトリ内のデータの読み取りと変更の両方で効率的です。

OpenLDAPサーバーは、ユーザーアカウントの集中管理を提供するために最も一般的に使用されます。たとえば、OpenLDAPでアカウントを作成し、メールサーバー、FTPサーバー、Sambaサーバー、またはその他のサーバーに接続している場合は、サーバーごとに新しいアカウントを作成せずに、アカウントを使用してこれらのサーバーにログインできます。

Ubuntu16.04にOpenLDAPサーバーをインストールする方法

次のコマンドを実行して、Ubuntu16.04パッケージリポジトリからOpenLDAPサーバーとクライアントコマンドラインユーティリティをインストールします。 slapd スタンドアロンLDAPデーモンの略です 。

sudo apt install slapd ldap-utils

LDAPディレクトリの管理者エントリのパスワードを設定するように求められます。

完了すると、slapdが自動的に開始されます。次のコマンドでステータスを確認できます:

systemctl status slapd

デフォルトでは、openldapとして実行されます /etc/default/slapdで定義されているユーザー ファイル。

基本的なインストール後の構成

インストールプロセスでは、構成なしでパッケージがインストールされます。 OpenLDAPサーバーを正しく実行するには、インストール後の基本的な構成を行う必要があります。次のコマンドを実行して、構成ウィザードを開始します。

sudo dpkg-reconfigure slapd

一連の質問に答える必要があります。次のようにこれらの質問に答えてください:

LDAPサーバー構成を省略します:いいえ

DNSドメイン名:linuxbabe.comのようにドメイン名を入力します 。ドメイン名に正しいAレコードを設定する必要があります。 directory.linuxbabe.comのようなサブドメインを使用することもできます 。この情報は、ベースDN(識別名)を作成するために使用されます LDAPディレクトリの。

組織名:LinuxBabeのように組織名を入力します。

管理者パスワード:インストール時に設定したものと同じパスワードを入力します。

データベースバックエンド: MDB

BDB (Berkeley Database)は遅くて面倒です。これは非推奨であり、将来のOpenLDAPリリースでサポートが終了する予定です。 HDB (階層型データベース)はBDBバックエンドのバリアントであり、非推奨にもなります。

MDB 読み取りはBDBより5〜20倍高速です。書き込みは2〜5倍高速です。また、BDBの1/4のRAMを消費します。そのため、データベースバックエンドとしてMDBを選択します。

slapdがパージされたときにデータベースを削除しますか? いいえ

古いデータベースを移動しますか? はい

LDAPv2プロトコルを許可しますか? いいえ 。 LDAPの最新バージョンは、1997年に開発されたLDAPv.3です。LDAPv2は廃止されました。

これで、プロセスはあなたの答えに従ってOpenLDAPサービスを再構成します。これで、OpenLDAPサーバーを使用する準備が整いました。

LDAPクライアントの構成

/etc/ldap/ldap.conf すべてのOpenLDAPクライアントの設定ファイルです。このファイルを開きます。

sudo nano /etc/ldap/ldap.conf

ベースDNの2つのパラメータを指定する必要があります およびURI 私たちのOpenLDAPサーバーの。次のテキストをコピーしてファイルの最後に貼り付けます。 your-domainを置き換えます およびcom 必要に応じて。

BASE     dc=your-domain,dc=com
URI      ldap://localhost

最初の行はベースDNを定義します。これは、クライアントプログラムにディレクトリ内の検索を開始する場所を指示します。 OpenLDAPサーバーの設定時にサブドメインを使用した場合は、ここにサブドメインを追加する必要があります

BASE      dc=subdomain,dc=your-domain,dc=com

2行目は、OpenLDAPサーバーのURIを定義しています。 LDAPサーバーとクライアントは同じマシン上にあるため、URIをldap://localhostに設定する必要があります 。

OpenLDAPサーバーのテスト

OpenLDAPサーバーが実行され、クライアントの構成が完了したので、次のコマンドを実行してサーバーへのテスト接続を確立します。

ldapsearch -x

出力:

# extended LDIF
#
# LDAPv3
# base <dc=linuxbabe,dc=com> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# linuxbabe.com
dn: dc=linuxbabe,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: LinuxBabe

# admin, linuxbabe.com
dn: cn=admin,dc=linuxbabe,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

結果:0成功 OpenLDAPサーバーが機能していることを示します。次の行が表示された場合は、機能していません。

result: 32 No such object

phpLDAPadminのインストール

phpLDAPadminは、OpenLDAPサーバーを管理するためのWebベースのプログラムです。コマンドラインユーティリティを使用してOpenLDAPサーバーを管理できますが、使いやすいインターフェイスが必要な場合は、phpLDAPadminをインストールできます。

次のコマンドを実行して、UbuntuパッケージリポジトリからphpLDAPadminをインストールします。

sudo apt install phpldapadmin

UbuntuサーバーでWebサーバーが実行されていない場合、上記のコマンドはApacheWebサーバーを依存関係としてインストールします。 NginxなどのWebサーバーがすでに存在する場合、Apacheはインストールされません。

Apacheを使用する場合

インストールにより、構成ファイルphpldapadmin.confが配置されます /etc/apache2/conf-enabled/の下 ディレクトリ。インストールが完了すると、

でphpLDAPadminWebインターフェイスにアクセスできます。
your-server-ip/phpldapadmin

または

your-domain.com/phpldapadmin

HTTPSを有効にするには、Let’sEncryptから発行された無料のTLS証明書を取得してインストールします。

Nginxを使用する場合

Nginxユーザーは、phpLDAPadminのサーバーブロックファイルを手動で作成する必要があります。

sudo nano /etc/nginx/conf.d/phpldapadmin.conf

次のテキストをコピーしてファイルに貼り付けます。 ldap.your-domain.comをご希望のドメイン名に置き換えてください。

server {
        listen 80;
        server_name ldap.your-domain.com;

        root /usr/share/phpldapadmin/htdocs;
        index index.php index.html index.htm;

        error_log /var/log/nginx/phpldapadmin.error;
        access_log /var/log/nginx/phpldapadmin.access;

        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
            include fastcgi_params;
        }
}

ファイルを保存して閉じます。次に、Nginx構成にテキストを送信します。

sudo nginx -t

テストが成功した場合は、変更を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

これで、ldap.your-domain.comでphpLDAPadminWebインターフェイスにアクセスできます。 。 HTTPSを有効にするには、Let’sEncryptから発行された無料のTLS証明書を取得してインストールします。

phpLDAPadminの設定

コマンドラインクライアントで行ったのと同じように、いくつかの構成を行う必要があります。 phpLDAPadmin設定ファイルは/etc/phpldapadmin/config.phpにあります 。

sudo nano /etc/phpldapadmin/config.php

OpenLDAPとphpLDAPadminは同じマシンで実行されているため、SSL/TLS暗号化なしでデフォルトのLDAPポート389でローカルホストに接続するようにphpLDAPadminを構成します。

行293は、phpLDAPadminがローカルホストに接続することを指定しています。

$servers->setValue('server','host','127.0.0.1');

行296はデフォルトでコメント化されています。これは、標準ポート389が使用されることを意味します。

// $servers->setValue('server','port',389);

行335はデフォルトでコメント化されています。これは、TLS暗号化が有効になっていないことを意味します。

// $servers->setValue('server','tls',false);

次に、300行目に移動します。

$servers->setValue('server','base',array('dc=example,dc=com'));

次のように変更します:

$servers->setValue('server','base',array());

これにより、phpLDAPadminはOpenLDAPサーバーのベースDNを自動的に検出します。次に、匿名ログインを無効にすることができます。 453行目に移動します。

// $servers->setValue('login','anon_bind',true);

デフォルトでは、匿名ログインが有効になっています。これを無効にするには、コメント文字(2つのスラッシュ)を削除し、trueをfalseに変更する必要があります。

$servers->setValue('login','anon_bind',false);

これらの警告は煩わしく重要ではないため、テンプレートの警告を無効にすることをお勧めします。 161行目に移動します。

// $config->custom->appearance['hide_template_warning'] = false;

コメント文字を削除し、falseをtrueに変更します。

$config->custom->appearance['hide_template_warning'] = true;

ファイルを保存して閉じます。

phpLDAPadminWebインターフェイスへのアクセス

これで、Webブラウザを使用してphpLDAPadminツールをテストできます。 phpLDAPadminを最初にロードすると、次のようになります。

OpenLDAPサーバーにログインするには、ログインリンクをクリックします。ログインダイアログボックスが表示されます。デフォルトのログインDNはcn=admin,dc=example,dc=comです。 。 dc=exampleを変更する必要があるかもしれません 。私の場合、ログインDNをcn=admin,dc=linuxbabe,dc=comに変更する必要があります 。

パスワードは、OpenLDAPサーバーの設定中に設定した管理者パスワードです。 phpLDAPadminにログインすると、このディレクトリサーバーを管理できます。

それでおしまい!このチュートリアルが、両方のOpenLDAPサーバーのインストールと構成に役立つことを願っています。 およびphpLDAPadmin Ubuntu16.04で。次のチュートリアルでは、OpenLDAPでユーザーログインを認証するようにUbuntuを構成する方法を説明します。


Ubuntu
  1. Ubuntu20.04にAlgoVPNServerをインストールして構成する方法

  2. Ubuntu20.04にDHCPサーバーをインストールして構成する方法

  3. Ubuntu20.04にSquidプロキシをインストールして構成する方法

  1. Ubuntu20.04にNFSサーバーをインストールして構成する方法

  2. UbuntuにRedisサーバーをインストールして構成する方法

  3. Ubuntu14.04にOpenLDAPとphpLDAPadminをインストールして設定します

  1. Ubuntu20.04にVNCをインストールして構成する方法

  2. Ubuntu18.04にVNCをインストールして構成する方法

  3. Ubuntu18.04にNFSサーバーをインストールして構成する方法