This document contains instructions on installing Radicale on FreeBSD. It is aimed at a simple base install, and does not include reverse proxing or other hardening suitable for direct connection on the Internet.
All configuration in this guide is done as root.
Credits to this page for configuration file settings.
Installing FreeBSD
For this trial, I used FreeBSD 13.1 with all default settings during the installation process.
Installing Baikal
Configure pkg
for us:
pkg update
Install Baikal:
pkg install www/baikal
Install nginx:
pkg install www/nginx
Open /usr/local/etc/nginx/nginx.conf
, scroll down to the server
section, and replace the entire section with:
server { listen 80 default_server; server_name _; root /usr/local/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 /usr/local/etc/nginx/fastcgi_params; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
Open /usr/local/etc/php-fpm.d/www.config
and change the listen
directive to:
listen = /var/run/php-fpm.sock
Then, uncomment the following lines:
listen.owner = www
listen.group = www
listen.mode = 0660
Correct file permissions for Baikal running as www
:
chown -R www:www /usr/local/www/baikal/Specific /usr/local/www/baikal/config
Start FPM and nginx:
sysrc php_fpm_enable=YES
service php-fpm start
sysrc nginx_enable=YES
service nginx start
Finally, browse to the new install and follow the on-screen instructions to finalize configuration. For my testing, I simply used the sqlite backend.