Baikal requires:

Installation instructions

To install Baïkal, download the latest zip file from the releases page on github. After downloading the file, unpack it and upload it to your server.

After uploading, you must make sure that the Specific directory is writeable by your webserver process. This might mean that you need to give 'world-write' access via your FTP client, or maybe that you run chown www-data:www-data Specific on a console.

After that step has been completed, you can access the installer by browsing to

Follow the intructions there to complete the installation.

Securing your installation

Only the html directory is needed to be accessible by your web browser. You may choose to lock out access to any other directory using your webserver configuration.

In particular you should really make sure that the Specific directory is not accessible directly, as this could contain your sql database.

Apache vhost installation

The following configuration file may be used as a standard template to configure an apache vhost as a dedicated Baïkal vhost:

<VirtualHost *:80>

    DocumentRoot /var/www/baikal/html

    RewriteEngine On
    RewriteRule /.well-known/carddav /dav.php [R,L]
    RewriteRule /.well-known/caldav /dav.php [R,L]

    <Directory "/var/www/baikal/html">
        Options None
        Options +FollowSymlinks
        AllowOverride All

        # Confiugration for apache-2.2:
        Order allow,deny
        Allow from all

        # Confiugration for apache-2.4:
        Require all granted


Nginx configuration

The following configuration may be used for nginx:

server {
  listen       80;

  root  /var/www/baikal/html;
  index index.php;

  rewrite ^/.well-known/caldav /dav.php redirect;
  rewrite ^/.well-known/carddav /dav.php redirect;

  charset utf-8;

  location ~ /(\.ht|Core|Specific) {
    deny all;
    return 404;

  location ~ ^(.+\.php)(.*)$ {
    try_files $fastcgi_script_name =404;
    include        /etc/nginx/fastcgi_params;
    fastcgi_split_path_info  ^(.+\.php)(.*)$;
    fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO        $fastcgi_path_info;