How to Install Xandikos on Debian Latest
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.
Prerequisites
Before starting, you will need the following:
- A Debian Latest system that is updated
- Root or sudo access to the server
Step 1: Install Python and Required Dependencies
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
Step 2: Clone the Xandikos Repository
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.
Step 3: Create a Python Virtual Environment
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.
Step 4: Install Xandikos and Its Dependencies
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.
Step 5: Configure and Run Xandikos
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:
- Open a web browser and go to
http://your-ip:5232/ - Enter your username and password and click "Login".
- You should see a list of your calendars and address books.
Congratulations! You have successfully installed and configured Xandikos on Debian Latest.