-
Notifications
You must be signed in to change notification settings - Fork 103
Install from packages
Ubuntu 22.04 is the only officially supported Linux distribution for the moment. Prebuilt packages are available for both patched kernel and Tempesta FW. Kernel package is build with patches from Ubuntu maintainers and kernel configuration.
Since Tempesta FW is implemented as in-kernel module and it is under development,
issues in it can affect stability of the kernel and may lead to a kernel
crush. As a solution kdump
is set as dependency for Tempesta FW. It allows to
save crash dump information to /var/crash/%Date%
and reboot system after the
crash. It is highly recommended to enable kdump
during install of
kdump-tools
package. kdump
requires system reboot after installation.
Installer script allows to install latest Tempesta FW release by single command.
It installs all the required packages, downloads latest Tempesta FW and patched
kernel releases (~50MB) to the working directory into tfw_downloads
directory
and installs them.
Run the next commands to automatically install or update Tempesta FW:
wget https://raw.githubusercontent.com/tempesta-tech/tempesta/master/pkg/scripts/tempesta_installer.sh
chmod +x tempesta_installer.sh
sudo ./tempesta_installer.sh --install
Once installation is completed reboot to a freshly installed kernel is required.
Choose entry Ubuntu, with Linux 5.10.35+
in
Advanced options for Ubuntu
submenu to load the patched kernel.
See section Running Tempesta FW for further instructions.
The same script can be used to remove Tempesta FW. --remove
option will hold
configuration file on server, while --purge
completely removes Tempesta FW and
all configuration files:
sudo ./tempesta_installer.sh --remove
sudo ./tempesta_installer.sh --purge
Download Ubuntu packages from
the patched kernel repository releases page.
Release page contains all packages built from linux
source package. But the
minimum set of packages to run Tempesta FW is relatively small:
- linux-headers-5.10.35+_5.10.35+-1_amd64.deb
- linux-image-5.10.35+_5.10.35+-1_amd64.deb
- linux-libc-dev_5.10.35+-1_amd64.deb
Simply install packages one-by-one in the same order as listed above:
dpkg -i <package-file>
Refer to Install from Sources section to compile and install custom kernel.
Tepmesta FW is available as a DKMS module from Tempesta FW releases page. That allow to recompile Tempesta FW once kernel was updated and support both AVX2 capable and not-capable machines with single package, but require to have compile-time dependencies.
First, install Tempesta FW package dependencies. This step can be skipped
if gdebi
is used to install packages from .deb
files, since it
can download required packages automatically.
apt-get install dkms libboost-dev libboost-program-options-dev kdump-tools
Configure DKMS to build installed modules against all kernels, not only
the running one. Append line below to /etc/dkms/framework.conf
:
autoinstall_all_kernels="yes"
Finally, install Tempesta FW:
dpkg -i tempesta-fw-dkms*
Once package is installed it will be build against all supported kernels. Installation of a new version of Tempesta FW package will not stop or reload running Tempesta FW instance. Manual restart is required.
First, reboot to tempesta-patched kernel. You may want to set the patched kernel as default.
Then, edit Tempesta FW configuration file:
sudo vim /etc/tempesta/tempesta_fw.conf
More information about configuration is available in Readme.
Finally, systemd unit files can be used for convenient management of Tempesta FW. To start and stop Tempesta FW use the next commands:
systemctl start tempesta-fw.service
systemctl stop tempesta-fw.service
To add or remove Tempesta FW from bootup process, use:
systemctl enable tempesta-fw.service
systemctl disable tempesta-fw.service
- Home
- Requirements
- Installation
-
Configuration
- Migration from Nginx
- On-the-fly reconfiguration
- Handling clients
- Backend servers
- Load Balancing
- Caching Responses
- Non-Idempotent Requests
- Modify HTTP Messages
- Virtual hosts and locations
- HTTP Session Management
- HTTP Tables
- HTTP(S) Security
- Header Via
- Health monitor
- TLS
- Virtual host confusion
- Traffic Filtering by Fingerprints
- Run & Stop
- Application Performance Monitoring
- Use cases
- Performance
- Contributing