http://sabre.io/baikal/install/
wget https://github.com/sabre-io/Baikal/releases/download/0.6.0/baikal-0.6.0.zip
unzip baikal-0.6.0.zip
mv baikal /var/www/html
cd /var/www/html
chown -fR www-data:www-data baikal
apt-get install nginx php7.3 php7.3-sqlite php-sabre-dav
NginX vhost:
server {
listen 80;
server_name default_server;
root /var/www/html/baikal;
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/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Nginx proxy with configured upstream:
server {
listen 80;
server_name baikal.server.tld;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name baikal.server.tld;
root /var/www/html;
index index.php index.html index.htm;
location / {
gzip off;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_pass http://caldav;
}
ssl_certificate /etc/letsencrypt/live/cert.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cert.tld/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
}
Go to setup wizard and select SQLite db while installing it. Configure user and calendar. Calendar is then available via DAV at baikal.server.tld/html/cal.php/calendars/ via browser.