mirror of
https://github.com/Kozea/Radicale.git
synced 2025-08-01 18:18:31 +00:00
Created instructions for installing on OpenBSD 7.6
parent
b715b83bfb
commit
6b2ae3a62e
1 changed files with 115 additions and 0 deletions
115
Installing-on-OpenBSD-7.6.md
Normal file
115
Installing-on-OpenBSD-7.6.md
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
# Introduction
|
||||||
|
[OpenBSD 7.6](https://openbsd.org/76.html) has ports for Radicale 1.x and 2.x but not for 3.x. Given the recent fairly active development of Radicale a port for Radicale 3.x would become outdated rapidly. As an alternative here are step-by-step instructions for installing Radicale 3.x on [OpenBSD 7.6](https://openbsd.org/76.html).
|
||||||
|
|
||||||
|
## Limitations:
|
||||||
|
* These instructions only cover the [OpenBSD](https://openbsd.org) specific issues of installing Radicale itself. You may also want to set up TLS and/or a reverse proxy, authentication, etc. Please refer to the Radicale documentation, such as [https://radicale.org/v3.html](https://radicale.org/v3.html) or other parts of [this wiki](https://github.com/Kozea/Radicale/wiki), for these aspects of setting up the service.
|
||||||
|
* At the time of writing Radicale 3.3.0 was the latest version. Other versions are untested.
|
||||||
|
* Use at your own risk.
|
||||||
|
|
||||||
|
# Prerequisites
|
||||||
|
|
||||||
|
* A fresh installation of [OpenBSD 7.6](https://openbsd.org/76.html) is assumed.
|
||||||
|
* The [OpenBSD](https://openbsd.org) host needs to be able to access the Internet to install ports and to access the [pip](https://pypi.org/project/pip/) repository.
|
||||||
|
* Sufficient disk space to install [Python](https://python.org), the [virtual Python environment](https://docs.python.org/3/library/venv.html) and Radicale is assumed. (The needed space is not excessive, so in most cases this will be a non-issue.)
|
||||||
|
* You will need access as `root`, either directly or by using [doas(1)](https://man.openbsd.org/doas) on the host. These instructions assume direct `root` access as indicated by the `#` prompt. A `$` prompt indicates that no `root` access is required for the command.
|
||||||
|
|
||||||
|
These instructions may also work on [OpenBSD 7.5](https://openbsd.org/75.html) and on future versions. But this is untested.
|
||||||
|
|
||||||
|
# Installing Radicale
|
||||||
|
|
||||||
|
1. Add the ports for [Python](https://python.org) and [pip](https://pypi.org/project/pip/) (unless they are already installed):\
|
||||||
|
`# pkg_add python py3-pip`
|
||||||
|
2. Create a [virtual Python environment](https://docs.python.org/3/library/venv.html) to avoid mixing [pkg_add(1)](https://man.openbsd.org/pkg_add) and [pip](https://pypi.org/project/pip/) managed code:\
|
||||||
|
`# python3 -m venv /usr/local/lib/radicale`
|
||||||
|
3. [Optional] Update [pip](https://pypi.org/project/pip/) in the [virtual Python environment](https://docs.python.org/3/library/venv.html) to silence warnings when using [pip](https://pypi.org/project/pip/):\
|
||||||
|
`# /usr/local/lib/radicale/bin/pip install --upgrade pip`
|
||||||
|
4. Install Radicale into the [virtual Python environment](https://docs.python.org/3/library/venv.html):\
|
||||||
|
`# /usr/local/lib/radicale/bin/pip install radicale`
|
||||||
|
5. Create a user and group for running Radicale:\
|
||||||
|
`# useradd -g =uid -L daemon -c 'Radicale user' -s /sbin/nologin -u 672 -d /nonexistent _radicale`\
|
||||||
|
Note: This is the same user and group that is installed by the Radicale 2.x port. If you feel that it is too dangerous to reuse the same name and UID/GID then feel free to use different values, but make sure you adjust the following instructions accordingly.
|
||||||
|
6. Create a directory for the Radicale configuration:\
|
||||||
|
`# mkdir /etc/radicale`
|
||||||
|
7. Create at least a minimal configuration file `/etc/radicale/config` to override the default storage location `/var/lib/…` which doesn't exist on [OpenBSD](https://openbsd.org):
|
||||||
|
```ini
|
||||||
|
[storage]
|
||||||
|
filesystem_folder = /var/db/radicale/collections
|
||||||
|
```
|
||||||
|
Of course you will probably want to add your own configuration settings to this file as well.
|
||||||
|
|
||||||
|
8. Create the storage location and set its owner/group to the user/group created above:\
|
||||||
|
`mkdir /var/db/radicale;chown _radicale:_radicale /var/db/radicale`
|
||||||
|
9. Create an [rc.d(8)](https://man.openbsd.org/rc.d) service script for Radicale as `/etc/rc.d/radicale3` and make it executable:
|
||||||
|
```sh
|
||||||
|
#!/bin/ksh
|
||||||
|
|
||||||
|
daemon='/usr/local/lib/radicale/bin/radicale'
|
||||||
|
daemon_user='_radicale'
|
||||||
|
daemon_logger='daemon.info'
|
||||||
|
|
||||||
|
. /etc/rc.d/rc.subr
|
||||||
|
|
||||||
|
pexp=".* ${daemon}.*"
|
||||||
|
rc_reload=NO
|
||||||
|
rc_configtest=NO
|
||||||
|
rc_bg=YES
|
||||||
|
|
||||||
|
rc_cmd $1
|
||||||
|
```
|
||||||
|
`# chmod 755 /etc/rc.d/radicale3`
|
||||||
|
|
||||||
|
10. [Optional] Enable the service to start at system boot:\
|
||||||
|
`# rcctl enable radicale3`
|
||||||
|
11. Start the Radicale service:\
|
||||||
|
`# rcctl start radicale3`
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
Radicale Logs can be found in `/var/log/daemon`. You can configure [syslogd(8)](https://man.openbsd.org/syslogd) to place the logs into their own log file, e.g. by following these additional steps:
|
||||||
|
|
||||||
|
12. Add the following to the top of `/etc/syslogd.conf`:
|
||||||
|
```
|
||||||
|
!!radicale3
|
||||||
|
daemon.info /var/log/radicale
|
||||||
|
!*
|
||||||
|
```
|
||||||
|
13. Create the log file:\
|
||||||
|
`# touch /var/log/radicale`
|
||||||
|
14. Reload the [syslogd(8)](https://man.openbsd.org/syslogd) configuration:\
|
||||||
|
`# rcctl reload syslogd`
|
||||||
|
15. [Optional] Set up log rotation for the Radicale log file by adding something like the following to `/etc/newsyslog.conf`:\
|
||||||
|
`/var/log/radicale 644 7 250 * Z`
|
||||||
|
|
||||||
|
# Managing the service
|
||||||
|
FYI only (this is general [OpenBSD](https://openbsd.org) knowledge, not specific to Radicale). See [rcctl(8)](https://man.openbsd.org/rcctl) for details.
|
||||||
|
|
||||||
|
## Stop the service
|
||||||
|
`# rcctl stop radicale3`
|
||||||
|
|
||||||
|
## Check the service
|
||||||
|
`# rcctl check radicale3`
|
||||||
|
|
||||||
|
`# rcctl ls started`
|
||||||
|
|
||||||
|
## Restart the service/reload the configuration
|
||||||
|
`# rcctl restart radicale3`
|
||||||
|
|
||||||
|
## Disable launching the service a system boot
|
||||||
|
`# rcctl disable radicale3`
|
||||||
|
|
||||||
|
|
||||||
|
# Updating Radicale
|
||||||
|
Once installed as described above there may come a time when you want to update Radicale to the newest version.
|
||||||
|
|
||||||
|
1. Stop the Radicale service:\
|
||||||
|
`# rcctl stop radicale3`
|
||||||
|
2. Update Radicale in the [virtual Python environment](https://docs.python.org/3/library/venv.html):\
|
||||||
|
`# /usr/local/lib/radicale/bin/pip install --upgrade radicale`
|
||||||
|
3. Make any required changes to the configuration if the new version requires any changes.
|
||||||
|
4. Start the Radicale service:\
|
||||||
|
`# rcctl start radicale3`
|
||||||
|
|
||||||
|
|
||||||
|
# Other
|
||||||
|
|
||||||
|
Check which version of Radicale is installed:\
|
||||||
|
`$ /usr/local/lib/radicale/bin/pip show radicale`
|
Loading…
Add table
Add a link
Reference in a new issue