Ubuntu12.04VPSに基本的なLDAPサーバーをインストールして構成する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由: Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.
代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
序章
LDAP(Lightweight Directory Access Protocol)は、ファイルとディレクトリの階層を使用して、一元化された場所から関連情報を管理するためのプロトコルです。
これは、特定の方法でリレーショナルデータベースと同じように機能し、あらゆる種類の情報を整理および保存するために使用できます。 LDAPは、一般的に集中認証に使用されます。
このガイドでは、Ubuntu12.04VPSにOpenLDAPサーバーをインストールして構成する方法について説明します。 一部のユーザーとグループを追加します。 後のチュートリアルでは、LDAPを使用した認証について説明します。
LDAPをインストールする
OpenLDAPサーバーはUbuntuのデフォルトリポジトリの「slapd」パッケージに含まれているため、apt-getを使用して簡単にインストールできます。 また、いくつかの追加ユーティリティをインストールします。
sudo apt-get update sudo apt-get install slapd ldap-utils
管理者LDAPアカウントの管理者パスワードを入力して確認するように求められます。
slapdを再構成します
インストールが完了したら、実際にLDAPパッケージを再構成する必要があります。 次のように入力して、パッケージ構成ツールを起動します。
sudo dpkg-reconfigure slapd
ソフトウェアをどのように構成するかについて、一連の質問が表示されます。
- OpenLDAPサーバー構成を省略しますか? いいえ
- DNSドメイン名?
- これにより、ディレクトリパスの基本構造が作成されます。 メッセージを読んで、それがどのように機能するかを理解してください。
- これを構成する方法については、設定されたルールはありません。 このサーバーに実際のドメイン名がある場合は、それを使用できます。 それ以外の場合は、好きなものを使用してください。
- この記事では、これを test.com
と呼びます。
- 組織名?
- 繰り返しますが、これはあなた次第です
- このガイドでは、exampleを使用します。
- 管理者パスワード?
- インストール時に設定したパスワードを使用するか、別のパスワードを選択してください
- インストール時に設定したパスワードを使用するか、別のパスワードを選択してください
- 使用するデータベースバックエンド? HDB
- slapdがパージされたときにデータベースを削除しますか? いいえ
- 古いデータベースを移動しますか? はい
- LDAPv2プロトコルを許可しますか? いいえ
PHPldapadminをインストールします
PHPldapadminと呼ばれるWebインターフェイスを介してLDAPを管理します。 これは、Ubuntuのデフォルトのリポジトリでも利用できます。
次のコマンドでインストールします。
sudo apt-get install phpldapadmin
これにより、必要なすべてのWebサーバーとPHPの依存関係がインストールされます。
PHPldapadminを設定する
試す前に、Webインターフェイス構成ファイル内でいくつかの値を構成する必要があります。
ルート権限で構成ファイルを開きます。
sudo nano /etc/phpldapadmin/config.php
次のセクションを検索し、それに応じて変更します。
赤の値を、ドメイン名またはIPアドレスのいずれかを介してサーバーを参照する方法に変更します。
$ servers-> setValue('server'、'host'、' domain_nam_or_IP_address ');
次のパートでは、「slapd」を再構成したときにDNSドメイン名を要求されたときに指定したのと同じ値を反映する必要があります。
各ドメインコンポーネントを分離して、LDAPが理解できる形式に変換する必要があります。 ドメインコンポーネントは、ドットで区切られたものです。
これらのコンポーネントは、「dc」属性の値として指定されます。
たとえば、DNSドメイン名エントリが「 imaginary.lalala.com 」の場合、LDAPは「dc = imaginary、dc = lalala、dc=com」を参照する必要があります。 次のエントリを編集して、選択した名前を反映します(覚えているとおり、「 test.com 」です)。
$ servers-> setValue('server'、'base'、array('dc = test 、dc = com '));
次に変更する値は、最後のエントリで設定したものと同じドメインコンポーネントを使用します。 以下のエントリの「cn=admin」の後にこれらを追加します。
$ servers-> setValue('login'、'bind_id'、'cn = admin、dc = test 、dc = com ');
「hide_template_warning」属性に関する次のセクションを検索してください。 重要でない警告を回避するために、この行のコメントを解除し、値を「true」に設定します。
$ config-> custom->appearance ['hide_template_warning'] = true ;
ファイルを保存して閉じます。
Webインターフェイスにログインします
Webブラウザでドメイン名またはIPアドレスに続いて「/phpldapadmin」に移動すると、アクセスできます。
domain_name_or_IP_address / phpldapadmin
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/phpldap_initial.png ” alt =“ PHPldapadminの初期画面” />
左側の「ログイン」リンクをクリックします。
ログインプロンプトが表示されます。 PHPldapadminを正しく設定した場合は、正しいログインDN(識別名)を事前に入力しておく必要があります。 この場合、これは「cn = admin、dc = test、dc=com」になります。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/phpldap_login.png ” alt =“ PHPldapadmin login” />
slapd構成時に選択したパスワードを入力します。
最初は、かなりまばらなインターフェイスが表示されます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/phpldap_logged_in.png ” alt =“ PHPldapadminがログインしました” />
ドメインコンポーネント(dc = test、dc = com)の横にある「プラス」をクリックすると、使用している管理者ログインが表示されます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/phpldap_admin_entry.png ” alt =“ PHPldapadmin管理者エントリ” />
組織単位、グループ、およびユーザーを追加する
LDAPは非常に柔軟性があります。 アクセスする必要のある情報の種類と使用例に応じて、さまざまな方法で階層と関係を作成できます。
情報の基本構造を作成してから、情報を入力します。
組織単位を作成する
まず、いくつかのカテゴリの情報を作成し、後で情報を配置します。 これは基本的な設定であるため、必要なカテゴリはグループとユーザーの2つだけです。
左側の「ここに新しいエントリを作成」リンクをクリックします。
ここでは、作成できるさまざまな種類のエントリを確認できます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/object_selection.png ” alt =“ LDAPオブジェクトの選択” />
これは、情報量の多いエントリではなく、組織構造としてのみ使用しているため、「Generic:OrganizationalUnit」テンプレートを使用します。
組織単位の名前を作成するように求められます。 「グループ」と入力します。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/groups_name.png ” alt =“ LDAPグループ名” />
次に、変更をコミットする必要があります。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/commit_ou.png ” alt =“ LDAP commit ou” />
これが完了すると、左側に新しいエントリが表示されます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/ou_groups.png ” alt =“ LDAP ou groups” />
自分たちを動かすために、もう1つの組織構造を作成します。 手順を繰り返しますが、今回は「users」という名前を使用します。
完了すると、次のようなものが表示されます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/ou_complete.png ” alt =“ LDAP ou complete” />
グループを作成する
必要な権限に基づいて、ユーザーをさまざまな「アクセス」グループに編成するために使用できる3つの異なるグループを作成します。
「admin」グループ、「irc」グループ、および「user」グループを作成します。 次に、クライアントLDAP認証を設定すると、さまざまなグループのメンバーに認証を許可できます。
「グループ」組織単位内にグループを作成します。 作成した「グループ」カテゴリをクリックします。 メインペインで、グループカテゴリ内の[子エントリの作成]をクリックします。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/child_groups.png ” alt =“グループのLDAP子” />
今回は、「Generic:PosixGroup」カテゴリを選択します。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/posix_group.png ” alt =“ LDAP posix group” />
グループ名として「admin」を入力します。 「オブジェクトの作成」をクリックし、次のページで確認します。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/admin_group.png ” alt =“ LDAP管理者グループ” />
このプロセスを繰り返しますが、単に「admin」の名前を「irc」と「user」に置き換えます。 子エントリを作成する前に、必ず「ou = groups」エントリを再度クリックしてください。そうしないと、間違ったカテゴリでエントリを作成する可能性があります。
これで、左側のパネルに3つのグループが表示されます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/three_groups.png ” alt =“ LDAP 3グループ” />
「ou=groups」カテゴリのエントリの概要を表示するには、そのエントリをクリックしてから、「View3children」をクリックします。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/view_three_children.png ” alt =“ LDAPビュー3人の子” />
ユーザーの作成
次に、これらのグループに入れるユーザーを作成します。 「ou=users」カテゴリをクリックすることから始めます。 「子エントリの作成」をクリックします。
これらのエントリには「汎用:ユーザーアカウント」を選択します。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/user_account.png ” alt =“ LDAPユーザーアカウント” />
記入するフィールドがたくさんあります。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/user_fields.png ” alt =“ LDAPユーザーフィールド” />
すべてのエントリに、ユーザーにとって意味のある情報を入力します。
「共通名」は、カテゴリ内のエントリごとに一意である必要があることに注意してください。 そのため、自動入力されるデフォルトの「FirstName LastName」の代わりに、ユーザー名の形式を使用することをお勧めします。
下部にある「オブジェクトの作成」をクリックして、次のページで確認します。
追加のユーザーを作成するために、エントリをコピーする機能を利用します。
左側のパネルで作成したユーザーをクリックします。 メインペインで、[このエントリをコピーまたは移動する]をクリックします。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/copy_entry.png ” alt =“ LDAPコピーユーザーエントリ” />
エントリの「cn=user」部分を調整して、新しいエントリに使用する一般名を指すようにします。 下部にある[コピー]をクリックします。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/copy_common_name.png ” alt =“ LDAPコピーの共通名” />
最初のユーザーデータが入力された次のページが表示されます。 新しいユーザー情報に一致するように調整する必要があります。
必ずuidNumberを調整してください。 下部にある[オブジェクトの作成]ボタンをクリックします。
グループにユーザーを追加する
問題のグループをクリックすると、さまざまなグループにユーザーを追加できます。 メインペインで、[新しい属性の追加]を選択します。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/add_new_attr.png ” alt =“ LDAP add new attribute” />
ドロップダウンメニューから「memberUid」を選択します。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/memberuid_entry.png ” alt =“ LDAPメンバーuidエントリメニュー” />
表示されるテキストフィールドに、追加する最初のユーザーを入力します。 下部にある[オブジェクトの更新]をクリックします。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/add_user2.png ” alt =“ LDAP add user2” />
次に、[グループメンバーの変更]をクリックして、使用可能な選択肢からメンバーを選択することにより、メンバーを追加できます。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/ldap_basics/user_choices.png ” alt =“ LDAPユーザーの選択” />
結論
これで、いくつかのユーザーとグループで基本的なLDAPサーバーをセットアップする必要があります。 この情報を拡張し、さまざまな組織構造をすべて追加して、ビジネスの構造を複製することができます。
別のセクションで、さまざまなサービスのLDAPクレデンシャルを使用して認証する方法について説明します。