Skip to content

02 Requirements

Shubhra Prakash Nandi edited this page Apr 18, 2026 · 20 revisions

Host

HTTP server

Requires support for WebDAV methods and PHP execution support either natively or via FastCGI proxy.

  • Apache2
  • Nginx

Sync database

Requires a relational database with transaction, referential integrity (foreign keys), triggers and PHP PDO driver support.

  • SQLite
  • MySQL / MariaDB
  • PostgreSQL

Support for the following is planned

  • SQL Server
  • Oracle

PHP / PHP-FPM

  • Version 5.6 and higher
  • Version 7.1 or higher recommended for better vCard v3.0 compatibility with vCard v4.0

Caching

The following backends are supported

  • Local filesystem
  • Memcached
  • APCu
  • Memory

Disk space

Installation

  • Minimum 10 MB free
  • Recommended 50 MB free

Memory

  • Minimum 128 MB
  • Recommended 512 MB

Backend

Requires directory server with LDAP v3 support.

  • OpenLDAP

Note: Other products may also work but have not been tested.

Configuration

Debian 11 GNU/Linux system is used as a reference for names here.

HTTP server

Apache2

Enable the below modules.

php7.4
rewrite
socache_shmcb
headers

Contents of virtual host configuration file (example for a minimal test setup with clean URLs) is given below.

<VirtualHost *:80>
ServerName ldap-carddav
ServerAdmin admin@example.org

# The DocumentRoot is also required
DocumentRoot <doc_root_path>

# Enabling clean URLs
RewriteEngine On

# If using mod_php use below
RewriteRule ^/(.*)$ /server.php [L]

# If using FastCGI use below instead of above
#RewriteRule ^/(.*)$ /server.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

# PHP settings if using mod_php. If using FastCGI comment out PHP settings below
# and add them to FastCGI server.

# Error logging
php_flag log_errors on
php_flag display_errors off
php_value error_log /var/log/apache2/error.log

# Output buffering needs to be off, to prevent high memory usage
php_flag output_buffering off

# This is also to prevent high memory usage
php_flag always_populate_raw_post_data off

# This is almost a given, but magic quotes is *still* on on some
# linux distributions
php_flag magic_quotes_gpc off

# SabreDAV is not compatible with mbstring function overloading
php_flag mbstring.func_overload off
</VirtualHost>

Refer to SabreDAV documentation here - https://sabre.io/dav/webservers/ for more information.

Sync database

Default configuration is OK for supported products for sync database. In case the below is/are not part of default configuration of the database product it needs to be applied.

Mysql / MariaDB

Set the following server variables.

[mysqld]
default_storage_engine = InnoDB

Clone this wiki locally