-
Notifications
You must be signed in to change notification settings - Fork 1
02 Requirements
Requires support for WebDAV methods and PHP execution support either natively or via FastCGI proxy.
- Apache2
- Nginx
Requires a relational database with transaction, referential integrity (foreign keys), triggers and PHP PDO driver support.
- MariaDB / MySQL
- PostgreSQL
- SQLite
Support for the following is planned
- Oracle
- SQL Server
- Version 5.6 or higher
- Version 7.1 or higher recommended for better vCard v3.0 compatibility with vCard v4.0
The following backends are supported
- Local filesystem
- Memcached
- APCu
- Memory
Installation
- Minimum 10 MB free
- Recommended 50 MB free
- Minimum 128 MB
- Recommended 512 MB
This application uses UNIX timestamp of the system to synchronize changes between the clients and the backend. Make sure the system clock shows correct time or is periodically synchronized with a NTP server.
Requires directory server with LDAP v3 support.
- OpenLDAP
Note: Other products may also work but have not been tested.
Debian 11 GNU/Linux system is used as a reference for names here.
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.
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.
Set the following server variables.
[mysqld]
default_storage_engine = InnoDB