Установка и конфигурация Baïkal
Согласно домашней странице, Baïkal - это легковесный CalDAV + CardDAV сервер, предназначенный для развёртывания точки синхронизации календарей и адресных книг на собственных мощностях.
Сам по себе он обладает вполне пригодной для применения инструкцией по установке, однако, есть некоторые нюансы, которые следует учитывать в случае, если операционной системой для него выступает Debian.
В данном руководстве рассматривается развёртывание Baïkal 0.10.1 на Debian 13.2.
Ввиду того, что развёртывание полагается применять для личных и семейных целей, в качестве СУБД будет использоваться sqlite3, а в качестве веб-сервера - NGINX.
Для примера, мы будем рассматривать установку на свеже-развёрнутый Debian в варианте "с установкой стандартных системных утилит".
После авторизации на сервере, настройки IP-адреса, доменного имени и часового пояса, нам потребуется установить сопутствующее программное обеспечение:
sudo apt install unzip nginx php-fpm php-sqlite3 php8.4-xml
Затем, нам необходимо загрузить дистрибутив Baïkal и распаковать его в директорию с веб-сайтами.
Также мы удалим дистрибутив Baïkal после распаковки:
wget https://github.com/sabre-io/Baikal/releases/download/0.10.1/baikal-0.10.1.zip && \
sudo unzip baikal-0.10.1.zip -d /var/www/ && \
rm baikal-0.10.1.zip
Теперь необходимо изменить владельца двух директорий в папке сайта.
Baïkal будет использовать их для файла конфигурации и базы данных:
sudo chown -R www-data:www-data /var/www/baikal/Specific /var/www/baikal/config
Можем переходить к настройке NGINX.
Создадим файл конфигурации для Baïkal:
sudo touch /etc/nginx/sites-available/baikal
После создания мы поместим в него конфигурацию для NGINX (например, при помощи nano):
server {
listen 80;
server_name baikal.example;
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|config) {
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:/run/php/php8.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
В качестве значения директивы server_name приведёно имя baikal.example.
Не забудьте изменить его на назначенное вашему серверу доменное имя!
Отключим стандартный сайт NGINX, подключим сайт Baïkal и перезапустим NGINX:
sudo rm /etc/nginx/sites-enabled/default && \
sudo ln -s /etc/nginx/sites-available/baikal /etc/nginx/sites-enabled/baikal && \
sudo systemctl restart nginx.service
Готово.
Можем попробовать перейти по ссылке:
http://baikal.example
Если всё было сделано правильно, то должна открыться страница первичной конфигурации:

В приведённом руководстве развёртывание намеренно произведено без использования SSL, так как предметом рукововодства выступает именно Baïkal.
Если ваш экземпляр Baïkal доступен из сети Интернет, то я настоятельно рекомендую использовать SSL.
На этом развёртывание можно считать завершённым.