I am following the steps of the radicale documentation and have got to running it as a service. However, when I ran radicale it failed to start. When I tried to run radicale manually, I get a permission denied error
[13] Permission denied: '/var/lib/radicale/collections'
] An exception occurred during server startup: [Errno
I have tried manually using mkdir to create /var/lib/radicale/collections and setting the owner using chown -R radicale:radicale to the “radicale” user, and I have also tried using chmod -R 770.
my config (/etc/radicale/config)
[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = autodetect
delay = 1
[server]
hosts = 0.0.0.0:5232, [::]:5232
max_connections = 20
max_content_length = 100000000
# 100 MB
timeout = 30
# 30 seconds
[storage]
filesystem_folder = /var/lib/radicale/collections
my radicale.service (/etc/systemd/system/radicale.service
[Unit]
Description=A simple CalDAV (calendar) and CardDAV (contact) server
After=network.target
Requires=network.target
[Service]
ExecStart=/usr/bin/env python3 -m radicale
Restart=on-failure
User=radicale
# Deny other users access to the calendar data
UMask=0027
# Optional security settings
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
PrivateDevices=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
NoNewPrivileges=true
ReadWritePaths=/var/lib/radicale/ /var/cache/radicale/
[Install]
WantedBy=multi-user.target
The user “radicale” needs access to the folder Permission denied says it clearly.
sudo chown -R radicale:radicale /var/lib/radicale
This should fix it
May have to chown /var/lib/radicale/collections as well:
ls -ld /var/lib/radicale/collections
If the directory doesn’t exist, create it:
sudo mkdir -p /var/lib/radicale/collections sudo chown radicale:radicale /var/lib/radicale/collections
sudo chown radicale:radicale /var/lib/radicale/collections sudo chmod 750 /var/lib/radicale/collections
At least that’s what my notes say.
The -R is the recursive switch
My bad.
I don’t know if you’re using debian but I encountered the same issue. The wiki has instructions to fix this (section create essential directories):