# CardDAVサーバとLDAPサーバ

**URL:** <https://forum.ficusonline.com/t/topic/538>\
**Category:** Server\
**Created:** [2025 年 11 月 4 日午後 1:20 UTC](https://forum.ficusonline.com/t/topic/538 "2025-11-04T13:20:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)\
**Post date:** [2025 年 11 月 4 日午後 1:20 UTC](https://forum.ficusonline.com/t/topic/538/1 "2025-11-04T13:20:41Z")

</div>

Linphoneのユーザ毎のコンタクトリストをデータベースとして保存し、デバイス間で共有するために必要なCardDAVサーバ、発信先を検索・リストアップするためのLDAPサーバを構築。

- 
#### CardDAVサーバ：[Baikal(sabre/dav)](https://sabre.io/baikal/)
- 
#### LDAPサーバ：[OpenLDAP](https://www.openldap.org/) + [phpLDAPadmin](https://phpldapadmin.org/)

* * *

---

<div class="post-metadata">

**Author:** ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)\
**Post date:** [2025 年 11 月 13 日午前 6:43 UTC](https://forum.ficusonline.com/t/topic/538/2 "2025-11-13T06:43:23Z")

</div>

## Baikalのインストール

条件：Apacheでhttpsを有効にしていること。Debian12へインストール。

Baikal は SQLite を標準 DB として使うため、`pdo_sqlite` と `sqlite3` の両方が必要です。  
SQLiteのインストール（PHP のバージョンが 8.2の場合）

```auto
$ sudo apt install php-sqlite3 php8.2-sqlite3

```

ダウンロード

```auto
$ git clone https://github.com/sabre-io/Baikal.git -b 0.10.1

```

ディレクトリの移動・アクセス権変更

```auto
$ sudo mv Baikal /var/www/
$ sudo chown -R www-data:www-data /var/www/Baikal

```

ComposerでPHP関連パッケージのインストール

```auto
$ cd /var/www/Baikal
$ sudo -u www-data composer install

```

アパッチ設定ファイルの作成

```auto
$ sudo nano /etc/apache2/sites-available/dav.example.com.conf

```

```ini
<VirtualHost *:443>

    DocumentRoot /var/www/Baikal/html
    ServerName dav.example.com

    RewriteEngine on
    # Generally already set by global Apache configuration
    # RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteRule /.well-known/carddav /dav.php [R=308,L]
    RewriteRule /.well-known/caldav /dav.php [R=308,L]

    <Directory "/var/www/Baikal/html">
        Options None
        # If you install cloning git repository, you may need the following
        Options +FollowSymlinks
        AllowOverride None
        # Configuration for apache-2.4:
        Require all granted
        # Configuration for apache-2.2:
        # Order allow,deny
        # Allow from all
    </Directory>

    <IfModule mod_expires.c>
        ExpiresActive Off
    </IfModule>

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/dav.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/dav.example.com/privkey.pem

</VirtualHost>

```

上記設定の再読込

```auto
$ sudo a2ensite dav.example.com.conf
$ sudo systemctl reload apache2

```

アクセスURL

> `https://dav.example.com`

 ![Screenshot from 2025-11-10 20-24-27](https://forum.ficusonline.com/uploads/default/original/2X/e/e025d95b4768d2519d9556b469ede775b4ea88ea.png)

 ![Screenshot from 2025-11-10 20-25-44](https://forum.ficusonline.com/uploads/default/original/2X/7/7f7d1142063fac3e0cad82b8a955502cc6575787.png)

 ![Screenshot from 2025-11-10 20-25-24](https://forum.ficusonline.com/uploads/default/original/2X/b/be171f8b95f7f6de3d5ea6dc89fd2a32cdfa8038.png)

 ![Screenshot from 2025-11-10 20-25-01](https://forum.ficusonline.com/uploads/default/original/2X/1/1c9ffae7470ddad900cd92ba6165d070c0c81e93.png)

 ![Screenshot from 2025-11-10 20-26-31](https://forum.ficusonline.com/uploads/default/original/2X/1/14336267b8d6f0cf51d83493c8b4d06145a917ac.png)

---

<div class="post-metadata">

**Author:** ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)\
**Post date:** [2025 年 11 月 13 日午前 7:10 UTC](https://forum.ficusonline.com/t/topic/538/3 "2025-11-13T07:10:59Z")

</div>

## OpenLDAP + phpLDAPadmin のインストール

各パッケージのインストール

```auto
$ sudo apt install slapd ldap-utils phpldapadmin -y

```

再設定

```auto
$ sudo dpkg-reconfigure slapd

```

| 質問 | 推奨回答例 |
| --- | --- |
| Omit OpenLDAP server configuration? | いいえ |
| DNS domain name | [example.com](http://example.com) |
| Organization name | Example Com |
| Administrator password | 任意の安全なパスワード |
| Database backend | MDB |
| Do you want the database to be removed when slapd is purged? | いいえ |
| Move old database? | はい |

ステータス確認

```auto
$ sudo systemctl status slapd

```

```auto
$ ldapsearch -x -LLL -H ldap://localhost -b dc=example,dc=com dn

```

TLS認証ファイルのコピー

```auto
$ sudo mkdir -p /etc/ssl/ldap
$ sudo cp /etc/letsencrypt/live/ldap.example.com/fullchain.pem /etc/ssl/ldap/
$ sudo cp /etc/letsencrypt/live/ldap.example.com/privkey.pem /etc/ssl/ldap/
$ sudo chown openldap:openldap /etc/ssl/ldap/*.pem
$ sudo chmod 400 /etc/ssl/ldap/*.pem

```

ldaps:/// を追加

```auto
$ sudo nano /etc/default/slapd

```

> SLAPD\_SERVICES=“ldap:/// ldaps:/// ldapi:///”

TLSファイル作成

```auto
$ nano ldap-tls.ldif

```

```auto
dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/ldap/fullchain.pem
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/ldap/privkey.pem

```

TLSファイル読込

```auto
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ./ldap-tls.ldif

```

LDAPサーバ再起動

```auto
$ sudo systemctl restart slapd

```

```auto
$ sudo ss -ltnp | grep slapd

```

LDAPS（636ポート）接続テスト：

```auto
$ ldapsearch -x -H ldaps://ldav.example.com -b dc=example,dc=com

```

StartTLS（389ポート）接続テスト：

```auto
$ ldapsearch -x -H ldap://ldap.example.com -ZZ -b dc=example,dc=com

```

phpLDAPadmin：ベースDNとバインドDNの設定

```auto
$ sudo nano /etc/phpldapadmin/config.php

```

```auto
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','base',array('dc=example,dc=com'));
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');

```

> 注）Debianでは自動的にApache設定が追加されます

* * *

アクセス  
`https://ldap.example.com/phpldapadmin`

 ![Screenshot from 2025-11-11 11-52-55](https://forum.ficusonline.com/uploads/default/original/2X/c/cc4c8b9078d0ae725938cfd38bce7a442e1b8eac.png)

 ![Screenshot from 2025-11-11 11-54-37](https://forum.ficusonline.com/uploads/default/original/2X/f/f59aea43730f52dc6be83ecf32f5e7a3e4bfb46f.png)

 ![Screenshot from 2025-11-11 11-56-16](https://forum.ficusonline.com/uploads/default/original/2X/f/f5ee2c101d9b9d765d1653bc72a56dfbb1db54ea.png)

 ![Screenshot from 2025-11-11 11-56-47](https://forum.ficusonline.com/uploads/default/original/2X/c/c845dde7ae0676c42838f102682bdbeb64cdd9c9.png)

 ![Screenshot from 2025-11-11 11-57-00](https://forum.ficusonline.com/uploads/default/original/2X/f/f19dfc55c6e31dd17373eb511200b0e4b2dc0635.png)

 ![Screenshot from 2025-11-11 18-44-48](https://forum.ficusonline.com/uploads/default/original/2X/7/719e8582c0c8bcede544bb773eea3385de0e356a.png)

 ![Screenshot from 2025-11-11 18-45-22](https://forum.ficusonline.com/uploads/default/original/2X/1/1ffcdb45676fa56c797ac8ed723707daeb7eba09.png)
