This tutorial will guide you through the process of installing Xandikos on Debian Latest. Xandikos is a CalDAV/CardDAV server that stores calendar and address book data.
Before starting, you will need the following:
Xandikos requires Python 3.5 or later to run. You can check the Python version on your system by running the command:
$ python3 --version
If you don't have Python 3 installed, you can install it using the command:
$ sudo apt-get install python3
Xandikos also requires several Python libraries to be installed. Use the following command to install them:
$ sudo apt-get install python3-pip python3-dev python3-venv \
libpython3-dev libffi-dev libssl-dev libpq-dev libxml2-dev libxslt1-dev
To download and install Xandikos, you need to clone the repository from GitHub. Change to a directory where you want to download Xandikos and run the command:
$ git clone https://github.com/jelmer/xandikos.git
This command will download the latest version of Xandikos to your local directory.
To install and run Xandikos, you should create a Python virtual environment. This will help to isolate Xandikos's dependencies from the rest of the system. Change to the directory where you downloaded Xandikos, and run the following commands:
$ python3 -m venv xandikos-env
$ source xandikos-env/bin/activate
The first command creates a new virtual environment, while the second command activates the environment.
With the virtual environment activated, you can now install Xandikos and its dependencies. Run the following command:
$ pip install -U pip setuptools
$ pip install -e .
The first command upgrades pip and setuptools to the latest version. The second command installs Xandikos and its dependencies in editable mode.
Finally, you need to configure and run Xandikos. Copy the example configuration file to create your own configuration:
$ cp config.ini.example config.ini
Edit the configuration file to specify your settings. You should change the username
and password
fields to a secure value.
[http]
listen = 0.0.0.0:5232
certfile =
keyfile =
[backend]
module = xandikos.backends.storage.sql_store
store = sqlite:///data/carddav.sqlite3;dbname=xandikos
username = xandikos
password = DefaultPassword
You can use any SQL database supported by SQLAlchemy for the store
field. For example, to use PostgreSQL, you would set the following:
store = postgresql://xandikos:password@localhost/xandikos
Once you have configured Xandikos, run the following command to start the server:
$ pserve config.ini
This command will start the server, and you should see a message indicating that the server is running. By default, Xandikos listens on port 5232.
You can verify that the server is working by trying to access it from a web browser or a CalDAV/CardDAV client. To get started with Xandikos, you can use the built-in WebDAV client:
http://your-ip:5232/
Congratulations! You have successfully installed and configured Xandikos on Debian Latest.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!