Перейти к основному содержимому

Установка и конфигурация 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.

На этом развёртывание можно считать завершённым.