-
Notifications
You must be signed in to change notification settings - Fork 442
Server Diagnostics Troubleshooting
(work-in-progress, feel free to contribute)
Assumptions
- the system user is named "radicale"
- the system user "radicale" owns the the configured storage location
Since 3.0.0 a special command option exists to verify the storage of the collections:
# add optional for watching the progress: --logging-level debug
sudo -u radicale /usr/bin/radicale --verify-storage
It should not report any errors, otherwise particular VCF or ICS files have to be fixed manually.
Upload reported file to https://icalendar.org/validator.html and run validation.
- Result: external validator reports also an error -> fix manually or delete file
- Result: external validator reports OK -> continue here: Reporting-Issues
Background: "radicale" do not support a nested storage hierachy.
Solution: check for any folder in which itself is a collection and move it on same level as $NAME. Check also content of related ".Radicale.props" file
# including optional for watching the progress: --logging-level debug
# Terminate with CTRL-C to finish test
sudo -u radicale /usr/bin/radicale --logging-level debug
- terminal#1 / watch logs:
journalctl -f -u radicale
- terminal#2 / start "radicale" service:
systemctl start radicale
- config section:
[server]
- config option:
hosts
Example:
netstat -nlpt |grep ":5232 "
tcp 0 0 127.0.0.1:5232 0.0.0.0:* LISTEN 4117/python3
tcp6 0 0 ::1:5232 :::* LISTEN 4117/python3
Direct connection tests, for tests via reverse proxy see Reverse-Proxy-Diagnostics-Troubleshooting
- config section:
[web]
- config option:
type
curl http://localhost:5232/
Successful result:
Redirected to /.web
curl http://localhost:5232/.web/
Successful result depends on auth and permission
- config section:
[auth]
- config option:
type
- config section:
[rights]
- config option:
type
+file
curl -s --request PROPFIND http://localhost:5232/
Access to the requested resource forbidden.
curl -s --header 'Depth: 0' --request PROPFIND -u USER1:USERPASS1 http://localhost:5232/ | xmllint --format - | grep "<href>"
Successful result:
<href>/</href>
<href>/</href>
<href>/USER1/</href>
curl -s --header 'Depth: 1' --request PROPFIND -u USER1:USERPASS1 http://localhost:5232/ | xmllint --format - | grep "<href>"
Successful result:
<href>/</href>
<href>/USER1/</href>
(example)
curl -s --header 'Depth: 1' --request PROPFIND -u USER1:USERPASS1 http://localhost:5232/USER1/ | xmllint --format - | grep -E "(^ <href>|displayname|C:calendar-description)"
Successful result:
<href>/USER1/</href>
<href>/USER1/mycalendar1/</href>
<displayname>MyCalendar1</displayname>
<C:calendar-description>MyCalendar1</C:calendar-description>
<href>/USER1/mysharedcalendar1/</href>
<displayname>MySharedCalendar1</displayname>
<C:calendar-description>MySharedCalendar1</C:calendar-description>
<href>/USER1/feiertagebayern/</href>
<displayname>Feiertage Bayern</displayname>
<C:calendar-description>Feiertage Bayern</C:calendar-description>