<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://www.seirios.org/seirios/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>ほほほのほ - serverapp:openldap</title>
        <description></description>
        <link>http://www.seirios.org/seirios/dokuwiki/</link>
        <lastBuildDate>Sun, 12 Apr 2026 22:39:13 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://www.seirios.org/seirios/dokuwiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>ほほほのほ</title>
            <link>http://www.seirios.org/seirios/dokuwiki/</link>
        </image>
        <item>
            <title>OpenLDAP Serverを建てる</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=serverapp:openldap:old1</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;openldap_serverを建てる&quot;&gt;OpenLDAP Serverを建てる&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Mail管理をVirtual Domainで実施しようとすると、どうしてもLDAPが欲しい局面があらわれる。なので、OpenLDAPを入れてみる。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenLDAP Server\u3092\u5efa\u3066\u308b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;openldap_server\u3092\u5efa\u3066\u308b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-204&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
というわけで、openldapをインストールする。
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; user/groupを作成&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; vipwして、user slapdを作成&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; mysqlはnologin/nohomeにしておく&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; groupにldapを作成&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; pkgsrcからinstall&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; mk.confに色々書くことになる。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;PKG_OPTIONS.openldap-client=    slp inet6               # kerberos sasl
PKG_OPTIONS.openldap-server=    bdb slp inet6 dso       # sasl smbk5pwd 
PKG_OPTIONS.odbc=               iodbc unixodbc&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; これで、あとはpkgsrc/databases/openldap-clientとpkgsrc/databases/openldap-serverをmake updateする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /etc/rc.conf.d/slapdを作成。/usr/pkg/share/examples/rc.d/slapdを/etc/rc.dにコピーして以下を加える&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=serverapp:openldap:old1&amp;amp;codeblock=1&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_&quot;&gt;slapd&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code&quot;&gt;start_precmd=&amp;quot;set_limits&amp;quot;

set_limits()
{
        ulimit -s 4096
}&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /etc/rc.confに以下を追加&lt;pre class=&quot;code&quot;&gt;slapd=YES&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /usr/pkg/share/examples/rc.d/slapd を/etc/rc.dにコピーする&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
以前は、pkgsrc下のOpenLDAPはUID=rootで動作していた。しかし現在では、その権限のないアカウント(slapd:ldap)で動作している。
従って、各種のpermissionを正しく設定しないと、はまることになるので注意。
&lt;/p&gt;

&lt;p&gt;
特にLDAP管理ツール(slapadd, slapindex等)をroot権限で動作させる場合に、注意が必要。
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# /usr/sbin/chown -R slapd:ldap /var/openldap/openldap-data/*
# /usr/sbin/chown :ldap /usr/pkg/etc/openldap/slapd.conf
# /bin/chmod 640 /usr/pkg/etc/openldap/slapd.conf&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Install&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;install&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;205-1727&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;初期設定&quot;&gt;初期設定&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
まず、Databaseの雛形が&lt;code&gt;/usr/pkg/share/examples/openldap/DB_CONFIG&lt;/code&gt;なので、これを&lt;code&gt;/var/openldap/openldap-data/&lt;/code&gt;にコピーする。
コピーしたら、&lt;code&gt;/usr/sbin/chown -R slapd:ldap /var/openldap/openldap-data/*&lt;/code&gt;を実行しておこう。
このファイルに、OpenLDAPのDB関係のパラメータを設定する事ができるので、性能問題を感じたらここに設定を入れる。
&lt;/p&gt;

&lt;p&gt;
OpenLDAP関連の設定は
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Server用の設定: /usr/pkg/etc/openldap/slapd.conf&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; client用の設定: /usr/pkg/etc/openldap/ldap.conf&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
で行う。
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=serverapp:openldap:old1&amp;amp;codeblock=4&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_conf&quot;&gt;slapd.conf&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code&quot;&gt;#######################################################################
# OpenLDAP slapd Configuration File.
# See slapd.conf(5) for details on configuration options.

# Database Schema
include         /usr/pkg/etc/openldap/schema/core.schema
include		/usr/pkg/etc/openldap/schema/cosine.schema
include		/usr/pkg/etc/openldap/schema/inetorgperson.schema
include		/usr/pkg/etc/openldap/schema/nis.schema
include		/usr/pkg/etc/openldap/schema/mail.schema

# System File
pidfile         /var/openldap/run/slapd.pid
argsfile        /var/openldap/run/slapd.args

#######################################################################
# BDB database definitions

database        monitor
database        bdb

#######################################################################
# Root DN Definition.

suffix          &amp;quot;o=example&amp;quot;
rootdn          &amp;quot;cn=Manager,o=example&amp;quot;
rootpw          secret
directory       /var/openldap/openldap-data

#######################################################################
# Access Control List.
access to dn.subtree=&amp;quot;ou=vmail,o=example&amp;quot; attrs=userPassword
        by self write
        by anonymous auth
        by * none

access to *
        by self write
        by * read

# Indices to maintain
index   objectClass     eq&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;/div&gt;

&lt;h5 id=&quot;passwordの作り方&quot;&gt;Passwordの作り方&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
上記slapd.conf内のrootpwには、RootDNのパスワードを入力する必要がある。
このパスワードは、以下の方法で作成する。
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ /usr/pkg/sbin/slappasswd -h [CRYPT|MD5|SMD5|SSHA|SHA] -s secret&lt;/pre&gt;

&lt;p&gt;
標準のHASH方式はSSHAなので、&lt;code&gt;slappasswd -s secret&lt;/code&gt;でパスワードを作成すればOK
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ slappasswd -s 12345678
{SSHA}tTTZQEwu7eair4ISCNmxrS/U2Qn8laHO
$ &lt;/pre&gt;

&lt;p&gt;
この結果を貼り付ければok
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u521d\u671f\u8a2d\u5b9a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u521d\u671f\u8a2d\u5b9a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1728-4102&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;openldap起動&quot;&gt;openldap起動&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
ここまで問題がなければ、
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# /etc/rc.d/slapd start&lt;/pre&gt;

&lt;p&gt;
でslapd(OpenLDAP Server)が起動する。
&lt;/p&gt;

&lt;p&gt;
なお、slapdを起動する際にlogに
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;bdb_monitor_db_open: monitoring disabled; configure monitor database to enable&lt;/pre&gt;

&lt;p&gt;
というメッセージがでることがあるが、これは、monitor database backend付きでCompileされているのに、database monitorを利用していない場合にでるメッセージなので、今は無視していて良い。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;openldap\u8d77\u52d5&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;openldap\u8d77\u52d5&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4103-4630&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;基本ディレクトリ作成&quot;&gt;基本ディレクトリ作成&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
とにかくまず、LDAPを動かすために必要な最小限のデータは登録しなければならない。
何はともあれ、基本ディレクトリと、その管理者を登録する。
&lt;/p&gt;

&lt;p&gt;
基本ディレクトリ構造は以下の通り
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/lib/exe/detail.php?id=serverapp%3Aopenldap%3Aold1&amp;amp;media=os:netbsd:pkgsrc:packages:openldap-dit.png&quot; class=&quot;media&quot; title=&quot;os:netbsd:pkgsrc:packages:openldap-dit.png&quot;&gt;&lt;img src=&quot;http://www.seirios.org/seirios/dokuwiki/lib/exe/fetch.php?media=os:netbsd:pkgsrc:packages:openldap-dit.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;OpenLDAPの初期状態のDIT&quot; alt=&quot;OpenLDAPの初期状態のDIT&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
この構造に合わせたLDIFファイルを作成する
&lt;/p&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=serverapp:openldap:old1&amp;amp;codeblock=9&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_ldif&quot;&gt;init.ldif&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code Initldif&quot;&gt;dn: o=example, c=net
objectClass: organization
o: example
&amp;nbsp;
dn: cn=Manager, o=example, c=net
objectClass: organizationalRole
cn: Manager&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
その後、以下のコマンドを入力して、DataをLDAP Serverに投入する
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ ldapadd -x -D &amp;quot;cn=Manager, o=example&amp;quot; -W -f init.ldif
Enter LDAP Password: 
adding new entry &amp;quot;o=example&amp;quot;

adding new entry &amp;quot;cn=Manager, o=example&amp;quot;&lt;/pre&gt;

&lt;p&gt;
これで最小限の設定は終了。あとはApplication毎の設定を投入するだけ。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u57fa\u672c\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4f5c\u6210&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u57fa\u672c\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4f5c\u6210&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4631-5581&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;いくつかのコマンドのメモ&quot;&gt;いくつかのコマンドのメモ&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; LDAPにデータを登録する&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;ldapadd -x -h localhost -D &amp;quot;cn=Manager,o=example&amp;quot; -w 12345654321 -f LDIF-file&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; とにかく見てみる&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;ldapsearch -x -h localhost -b &amp;#039;&amp;#039; -s base +&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; example/vmail/example.netからuidがtest1のデータを検索する&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;ldapsearch -x -h localhost -b &amp;#039;dc=example.net,ou=vmail,o=example&amp;#039; uid=test1&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; indexを更新する&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;slapindex -v -b o=example -f /usr/pkg/etc/openldap/slapd.conf&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u3044\u304f\u3064\u304b\u306e\u30b3\u30de\u30f3\u30c9\u306e\u30e1\u30e2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u3044\u304f\u3064\u304b\u306e\u30b3\u30de\u30f3\u30c9\u306e\u30e1\u30e2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5582-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 14 May 2018 04:14:34 +0000</pubDate>
        </item>
    </channel>
</rss>
