Rspamd packages

CentOS

Supported distributions:

  • CentOS 7 (x86_64), requires EPEL.
  • CentOS 8 (x86_64), requires EPEL.

Please note that CentOS rpm packages requires EPEL to be installed in your system as many dependencies are missing from the base CentOS repositories. You can learn how to install EPEL from their site: https://fedoraproject.org/wiki/EPEL. Fedora packages do not require EPEL or any other third-party repository. Please bear in mind, that you might also need debug symbols package for Rspamd to be able to fill bug reports about possible crashes. Debug symbols are placed in rspamd-debug package and could be safely installed even in the production environment.

To install rspamd repo, please download the corresponding repository file and the signing key (both repo and all packages are signed with my GPG key). You could use the following commands to install rspamd stable1 RPM repository:

curl https://rspamd.com/rpm-stable/centos-7/rspamd.repo > /etc/yum.repos.d/rspamd.repo # For Centos-7
#curl https://rspamd.com/rpm-stable/centos-8/rspamd.repo > /etc/yum.repos.d/rspamd.repo # Uncomment for Centos-8
rpm --import https://rspamd.com/rpm-stable/gpg.key
yum update
yum install rspamd

For experimental2 branch packages, download rpm-experimental repofile as following:

curl https://rspamd.com/rpm/centos-7/rspamd-experimental.repo > /etc/yum.repos.d/rspamd.repo # For Centos-7
#curl https://rspamd.com/rpm/centos-8/rspamd-experimental.repo > /etc/yum.repos.d/rspamd.repo # Uncomment for Centos-8
rpm --import https://rspamd.com/rpm/gpg.key
yum update
yum install rspamd

For asan2 branch packages, download rpm-experimental-asan repofile as following:

curl https://rspamd.com/rpm-asan/centos-7/rspamd-experimental.repo > /etc/yum.repos.d/rspamd.repo # For Centos-7
#curl https://rspamd.com/rpm-asan/centos-8/rspamd-experimental.repo > /etc/yum.repos.d/rspamd.repo # Uncomment for Centos-8
rpm --import https://rspamd.com/rpm/gpg.key
yum update
yum install rspamd

1. Use STABLE branch of packages: those packages are the official rspamd releases which are recommended for production usage.

2. Use EXPERIMENTAL branch of packages: these packages are less stable and they are generated frequently from the current development branch. Experimental packages usually have more features but might be SOMETIMES broken in some points (nevertheless, bugs are usually quickly fixed after detection).

3. Use ASAN branch of packages: these are packages (both stable and experimental) designed to debug Rspamd issues, especially core files, using advanced debugging tools. Use these packages if you encounter an issue in Rspamd and you want it to be fixed.

Debian and Ubuntu Linux

Rspamd supports the following .deb based distributives:

  • Debian bookworm (since 3.5)
  • Debian bullseye
  • Ubuntu focal (since 2.5)
  • Ubuntu jammy (since 3.3)

To install the rspamd stable1 apt repository, please use the following commands:

#apt update # if running a minimal system
#apt-get install sudo # if running a minimal system
sudo apt-get install -y lsb-release wget gpg  # optional
CODENAME=`lsb_release -c -s`
sudo mkdir -p /etc/apt/keyrings
wget -O- https://rspamd.com/apt-stable/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/rspamd.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $CODENAME main" | sudo tee /etc/apt/sources.list.d/rspamd.list
echo "deb-src [arch=amd64 signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $CODENAME main"  | sudo tee -a /etc/apt/sources.list.d/rspamd.list
sudo apt-get update
sudo apt-get --no-install-recommends install rspamd

If you have ubuntu-bionic or debian-buster, then you might need to add llvm repository as Rspamd now requires a compatible standard c++ library that supports C++ 20 standard since version 3.5. To enable this repo you can use the following commands:

sudo apt-get install software-properties-common # For ubuntu-bionic only
add-apt-repository ppa:ubuntu-toolchain-r/test # For ubuntu-bionic only
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
echo "deb http://apt.llvm.org/$CODENAME/ llvm-toolchain-$CODENAME-16 main" | sudo tee /etc/apt/sources.list.d/llvm-16.list
echo "deb-src http://apt.llvm.org/$CODENAME/ llvm-toolchain-$CODENAME-16 main"  | sudo tee -a /etc/apt/sources.list.d/llvm-16.list
sudo apt-get update

This step might be needed for other distributives when their libraries are getting incompatible with Rspamd. Please check the llvm apt documentation about how to install those for your system.

For Hyperscan and LuaJIT information see the FAQ.

For experimental2 branch replace apt-stable with just apt:

#apt update # if running a minimal system
#apt-get install sudo # if running a minimal system
sudo apt-get install -y lsb-release wget gpg  # optional
CODENAME=`lsb_release -c -s`
sudo mkdir -p /etc/apt/keyrings
wget -O- https://rspamd.com/apt-stable/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/rspamd.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt/ $CODENAME main" | sudo tee /etc/apt/sources.list.d/rspamd.list
echo "deb-src [arch=amd64 signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt/ $CODENAME main"  | sudo tee -a /etc/apt/sources.list.d/rspamd.list
sudo apt-get update
sudo apt-get --no-install-recommends install rspamd

For ASAN2 branch install rspamd-asan package instead of rspamd (since 3.5).

Please bear in mind, that you might also need debug symbols package for Rspamd to be able to fill bug reports about possible crashes. Debug symbols are placed in rspamd-dbg (or rspamd-asan-dbg) package and could be safely installed even in the production environment. Check the quick start document for further steps.

Packages support policy

Check the support policy document to clarify what OS versions are supported by Rspamd packages.

Debian standard repos notes

Please DO NOT use those packages, as they are likely outdated and are not supported by Rspamd project in any way (so any associated issue will likely be closed automaticall). If you decide to use those packages then please address any issues to the Debian package maintainers.


1. Use STABLE branch of packages: those packages are the official rspamd releases which are recommended for production usage.

2. Use EXPERIMENTAL branch of packages: these packages are less stable and they are generated frequently from the current development branch. Experimental packages usually have more features but might be SOMETIMES broken in some points (nevertheless, bugs are usually quickly fixed after detection).

3. Use ASAN branch of packages: these are packages (both stable and experimental) designed to debug Rspamd issues, especially core files, using advanced debugging tools. Use these packages if you encounter an issue in Rspamd and you want it to be fixed.

Other Linux

Rspamd is also supported on the following Linux distributions:

  • Alpine Linux
  • Arch Linux
  • Gentoo Linux
  • OpenSUSE
  • Void Linux

Alpine Linux

Rspamd is available in the community repository

Arch Linux

Rspamd is available in the community repository

Gentoo Linux

Ebuilds for Gentoo Linux users are available in the main Gentoo Portage repository.

OpenSUSE

Packages for OpenSUSE Leap & Tumbleweed are available on OBS.

Void Linux

Packages for Void Linux are available in the main package repository.

BSD systems

Rspamd has been ported to the following BSD like operating systems:

  • FreeBSD
  • NetBSD
  • OpenBSD
  • macOS (using MacPorts)

FreeBSD users can install Rspamd from ports or use the experimental line of packages by rspamd-devel port.

Users of NetBSD (and other systems with pkgsrc) can use pkgsrc.

OpenBSD users can use ports.

macOS users can install from MacPorts:

sudo port install rspamd
sudo port load rspamd

Build rspamd from the sources

If there are no packages for your system or you want custom build options you can also build rspamd from the source code. To do that grab the source from github using git:

git clone --recursive https://github.com/rspamd/rspamd.git

Build requirements

Rspamd requires several 3-rd party software to build and run:

  • openssl - cryptography and SSL/TLS Toolkit
  • glib2 - common purposes library
  • ragel - state machine compiler.
  • LuaJIT - jit compiler for lua programming language. Plain Lua should work as well.
  • cmake - build system used to configure rspamd
  • sqlite3 - embedded database used to store some data by rspamd
  • libmagic - common library for detecting file types
  • libicu - unicode library
  • PCRE - regular expressions library
  • Hyperscan/Vectorscan - optional regexp performance boost library
  • zlib - compression library

You can either install them from sources or (recommended) install using package manager of your system.

It is also highly recommended to use Redis as it can be used by many Rspamd modules to improve their filtering quality (some modules will be turned off completely without Redis).

It is also recommended to build Rspamd with Hyperscan (x86_64 only) or Vectorscan (aarch64/ppc64le) and Jemalloc to improve performance.

Build process

To build rspamd we recommend to create a separate build directory:

$ mkdir rspamd.build
$ cd rspamd.build
$ cmake ../rspamd -DENABLE_HYPERSCAN=ON -DENABLE_LUAJIT=ON -DCMAKE_BUILD_TYPE=RelWithDebuginfo
$ make
# make install

Alternatively, you can create a distribution package and use it for build your own packages. Here is an example for Debian GNU Linux OS:

$ mkdir rspamd.build
$ cd rspamd.build
$ ./dist.sh
$ tar xvf rspamd-<rspamd_version>.tar.xz
$ cd rspamd-<rspamd_version>
$ debuild