Categories: Anleitungen

Wie man Redis Server auf Rocky Linux installiert

Redis ist ein beliebter und quelloffener In-Memory-Schlüsselwert-Datenspeicher. Er unterstützt verschiedene Datenstrukturen wie Hash, Listen, Sets, Strings und vieles mehr. Redis ist nur für den Betrieb in einer vertrauenswürdigen Umgebung konzipiert und kann als Datenbank, Cache und Message Broker verwendet werden. Redis ist bekannt für seine breite Unterstützung, hohe Leistung, hohe Verfügbarkeit und Flexibilität.

Für einen kleinen Einsatz kannst du Redis als Standalone installieren. Für den großen Einsatz gibt es zusätzliche Komponenten wie Redis Sentinel für hohe Verfügbarkeit und Redis Cluster für die Partitionierung von Daten auf mehrere Redis Node Server.

In dieser Anleitung erfährst du, wie du Redis auf Rocky Linux installierst. Um die Installation zu vereinfachen, wirst du Redis aus dem AppStream Repository installieren. Wenn du aber die neueste Version von Redis (mit mehr Funktionen) haben möchtest, kannst du Redis aus dem Quellcode installieren, indem du es auf deinem System kompilierst.

Voraussetzungen

  • Ein Rocky Linux System. Stelle sicher, dass alle Pakete und Repositories auf die neueste Version aktualisiert sind
  • Ein Root-Benutzer oder ein Benutzer mit Root-Rechten. Du wirst diesen Benutzer für die Installation neuer Pakete und die Bearbeitung der Systemkonfigurationen verwenden.

Installation von Redis aus dem AppStream Repository

Wenn du Redis ganz einfach ohne Kompilierung installieren möchtest, kannst du es aus dem AppStream Repository von Rocky Linux installieren. Zurzeit bietet das Rocky Linux AppStream Repository Redis in der Version 5.x an. Wenn du Redis in der Version 6.x installieren möchtest, musst du es manuell installieren.

1. Um Redis aus dem AppStream-Repository zu installieren, führe den folgenden dnf-Befehl aus.

sudo dnf install redis

Gib nun„Y“ ein, um das Redis-Paket zu installieren.

2. Nachdem die Installation abgeschlossen ist, aktiviere Redis beim Systemstart mit dem Befehl systemctl (siehe unten).

sudo systemctl enable redis

3. Führe anschließend den folgenden Befehl aus, um den Redis-Dienst zu starten und seinen Status zu überprüfen.

sudo systemctl start redis
sudo systemctl status redis

Wenn der Redis-Dienst aktiv ist und läuft, siehst du eine ähnliche Ausgabe wie unten.

Im nächsten Schritt wirst du Redis wie im folgenden Abschnitt konfigurieren.

Installation von Redis aus der Quelle

Wenn du die neueste Version von Redis haben möchtest, kannst du sie manuell aus dem Quellcode installieren. Der größte Vorteil der Installation der neuesten Version von Redis ist, dass du immer die neuesten Funktionen und Pakete erhältst. Zu diesem Zeitpunkt holst du dir die neueste stabile Version 6.2, die du in diesem Schritt installieren wirst.

1. Zuerst musst du einige Paketabhängigkeiten installieren, bevor du Redis kompilieren kannst.

Füge das EPEL-Repository mit dem folgenden Befehl zu deinem System hinzu.

sudo dnf install epel-release -y

Installiere das Gruppenpaket„Development Tools“ und einige zusätzliche Pakete für die Kompilierung von Redis.

sudo dnf group install "Development Tools" -y
sudo dnf install jemalloc lua hiredis linenoise -y

Danach führst du den folgenden Befehl aus, um die Pakete openssl-devel (für TLS-Unterstützung) und systemd-devel (für systemd-Unterstützung) zu installieren.

sudo dnf install openssl-devel systemd-devel -y

2. Wenn die Installation aller Pakete abgeschlossen ist, führe den folgenden Befehl aus, um einen neuen Benutzer und eine neue Gruppe„redis“ zu erstellen.

sudo adduser --system --user-group --no-create-home --shell /sbin/nologin redis

Als Nächstes legst du ein neues Datenverzeichnis für Redis unter„/var/lib/redis“ an und änderst mit folgendem Befehl die Eigentumsrechte an diesem Verzeichnis auf den Benutzer„redis„.

sudo mkdir -p /var/lib/redis
sudo chown -R redis:redis /var/lib/redis

Und schon kannst du redis kompilieren und installieren.

3. Ändere das Arbeitsverzeichnis in„/usr/src“ und lade die neueste stabile Version des Redis-Quellcodes mit dem wget-Befehl herunter (siehe unten).

cd /usr/src/
wget https://download.redis.io/releases/redis-6.2.5.tar.gz

Entpacke nun den Redis-Quellcode und wechsle das Verzeichnis in das Verzeichnis „redis-*„.

tar -xzvf redis-6.2.5.tar.gz
cd redis-*/

4. Kompiliere den Redis-Quellcode mit dem folgenden Befehl.

sudo make BUILD_TLS=yes USE_SYSTEMD=yes

Optionen, die du kennen musst:

  • BUILD_TLS = TLS-Unterstützung für Redis aktivieren,
  • USE_SYSTEMD = aktiviere die Unterstützung für systemd, das Rocky-Linux-System, das systemd als Init-System verwendet.

Führe nun den folgenden Befehl aus.

sudo make test

Dieser Test wird einige Zeit in Anspruch nehmen. Wenn alles abgeschlossen ist, siehst du eine ähnliche Ausgabe wie unten.

\o/ All tests passed without errors!

Cleanup: may take some time… OK
make[1]: Leaving directory ‚/usr/src/redis-6.2.5/src‘

Vergewissere dich, dass alle Tests ohne Fehler bestanden wurden.

5. Als Nächstes kannst du Redis installieren, indem du den folgenden Befehl ausführst.

sudo make PREFIX=/usr install

Der Redis-Befehl wird im Verzeichnis„/usr/bin“ verfügbar sein, wie wir in der Option„PREFIX=“ oben angegeben haben.

Du kannst die Redis-Installation überprüfen, indem du die folgenden Befehle ausführst.

redis-server --version
redis-cli --version

Wenn die Installation erfolgreich war, siehst du die Version von Redis 6.2 wie auf dem Screenshot unten.

Redis konfigurieren

In diesem Schritt wirst du die Redis-Installation konfigurieren. Du kannst diesen Schritt für alle Redis-Installationen durchführen (Installation aus dem Quellcode oder Installation aus dem AppStream-Repository).

1. Wenn du Redis aus dem Quellcode installierst, führe den folgenden Befehl aus, um ein neues Redis-Konfigurationsverzeichnis zu erstellen.

mkdir -p /etc/redis

Kopiere nun die Beispielkonfiguration„redis.conf“ in das Verzeichnis„/etc/redis„.

cp /usr/src/redis-*/redis.conf /etc/redis/redis.conf

2. Führe den folgenden nano-Befehl aus, um die Konfigurationsdatei „redis.conf“ zu bearbeiten.

sudo nano /etc/redis/redis.conf

Ändere die standardmäßige „bind“-Adresse durch die IP-Adresse deines lokalen Netzwerks.

bind 127.0.0.1

Entferne das Kommentarzeichen bei der Option „daemonize“ und ändere den Wert in „yes“, damit Redis als Daemon läuft.

daemonize yes

Entferne das Kommentarzeichen bei der Option „supervised“ und ändere den Wert in „systemd“. Diese Option ermöglicht es Redis, mit dem Systemüberwachungsbaum zu interagieren.

supervised systemd

Gib als Arbeits- und Datenverzeichnis für Redis das Verzeichnis„/var/lib/redis“ an. Alle Redis-Datenbanken werden in diesem Verzeichnis verfügbar sein.

dir /var/lib/redis

Dekommentiere die Option „requirepass“ und ändere den Wert mit deinem Passwort. Mit dieser Option wird für alle Interaktionen von Clients ein Passwort zur Authentifizierung benötigt.

requirepass AJds9dshsd8wqejdw82389r3ej3983jk

Speichere die Konfiguration, indem du die Taste„Strg+x“ drückst,„y“ eingibst und dann„Enter“ drückst.

Konfigurieren der Servicedatei für Redis

Für die manuelle Installation von Redis musst du die Redis-Dienstdatei einrichten.

1. Führe den folgenden Befehl aus, um das Arbeitsverzeichnis in„/usr/src/redis-*/utils“ zu ändern und kopiere die systemd-Dienstdatei nach „/etc/systemd/system“.

cd /usr/src/redis-*/utils/
cp systemd-redis_server.service /etc/systemd/system/redis-server.service

2. Bearbeite die Konfiguration„redis-server.service“ mit nano.

sudo nano /etc/systemd/system/redis-server.service

Ändere einige Optionen in der Konfiguration wie unten beschrieben.

[Unit]
...
AssertPathExists=/var/lib/redis

[Service]

ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/bin/redis-cli shutdown
Restart=alway

User=redis
Group=redis
WorkingDirectory=/var/lib/redis

Drücke die Taste„Strg+x„, gib„y“ ein und drücke„Enter“ zum Speichern und Beenden.

3. Führe nun den folgenden Befehl aus, um den systemd-manager neu zu laden und die neue Konfiguration anzuwenden.

sudo systemctl daemon-reload

4. Danach führst du den folgenden Befehl aus, damit der redis-Dienst beim Systemstart automatisch ausgeführt wird.

sudo systemctl enable redis-server

5. Starte den Redis-Dienst und überprüfe seinen Status, indem du den folgenden Befehl ausführst.

sudo systemctl start redis-server
sudo systemctl status redis-server

Wenn dein Redis-Dienst aktiv ist und läuft, solltest du eine ähnliche Ausgabe wie unten sehen.

Umbenennen oder Deaktivieren des gefährlichen Redis-Befehls

Redis bietet eine Sicherheitsfunktion, mit der du einige gefährliche Befehle umbenennen oder komplett deaktivieren kannst. Das kannst du ganz einfach über die Redis-Konfigurationsdatei„redis.conf“ erledigen.

1. Bearbeite die redis-Konfigurationsdatei„redis.conf“ mit dem Befehl nano.

sudo nano /etc/redis/redis.conf

2. Um den Redis-Befehl vollständig zu deaktivieren, kannst du den Befehlsnamen mit einem leeren Anführungszeichen versehen, siehe unten.

rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command DEBUG ""

3. Um Redis-Befehle umzubenennen, kannst du den Befehlsnamen mit dem neuen Befehl als Ersatz wie folgt definieren.

rename-command SHUTDOWN SHUT_ME_DOWN
rename-command CONFIG CONFIG_ME_NOW

Speichere die Konfiguration, indem du die Taste„Strg+x“ drückst,„y“ eingibst und dann„Enter“ drückst.

4. Als Nächstes führst du den folgenden Befehl aus, um den Redis-Dienst neu zu starten und die Konfiguration anzuwenden.

sudo systemctl restart redis-server

Im nächsten Schritt überprüfst du die Redis-Authentifizierung, um sicherzugehen, dass sie funktioniert, und verwendest einige Befehle, die du gerade umbenannt hast.

Überprüfe die Redis-Installation

1. Zuerst musst du dich mit dem Redis-Server verbinden, indem du den Befehl„redis-cli“ verwendest (siehe unten).

redis-cli

Du kannst auch den Host und den Port mit dem unten stehenden Befehl angeben.

redis-cli -h 127.0.0.1 -p 6379

2. Als Nächstes musst du dich mit dem Befehl„auth“ wie unten beschrieben authentifizieren.

auth AJds9dshsd8wqejdw82389r3ej3983jk

Wenn deine Authentifizierung erfolgreich war, siehst du die Meldung„OK„.

3. Führe den Befehl „ping“ (siehe unten) aus. Dieser Befehl stellt sicher, dass die Authentifizierung und die Verbindung zum Redis-Server erfolgreich sind.

ping

Wenn die Verbindung erfolgreich ist, siehst du die Meldung„PONG„.

4. Als nächstes überprüfst du einige Befehle, die du oben deaktiviert oder umbenannt hast.

Führe den Befehl„CONFIG“ wie unten beschrieben aus.

CONFIG get bind

Du wirst die Fehlermeldung„ERR unknown command ‚CONFIG‘“ sehen, weil der Standardbefehl „CONFIG“ durch „CONFIG_ME_NOW“ ersetzt wurde.

Führe nun den Befehl‚CONFIG_ME_NOW‚ wie unten beschrieben aus.

CONFIG_ME_NOW get bind
CONFIG_ME_NOW get supervised

Wenn deine Installation erfolgreich war, siehst du eine ähnliche Ausgabe wie auf dem Screenshot unten.

Wenn du außerdem versuchst, die deaktivierten Befehle„FLUSHDB“ und„DEBUG“ auszuführen, erhältst du die gleiche Fehlermeldung wie„ERR unknown command„.

Fazit

Herzlichen Glückwunsch! Jetzt hast du Redis erfolgreich auf Rocky Linux installiert, indem du die beiden Methoden – Installation aus dem AppStream Repository oder Installation aus dem Quellcode – verwendet hast. Außerdem hast du gelernt, wie du den Einsatz von Redis absichern kannst, indem du die Authentifizierung aktivierst und einige gefährliche Redis-Befehle umbenennst oder deaktivierst. Im nächsten Schritt kannst du weitere Redis-Konfigurationen ausprobieren, z. B. TLS implementieren, Hochverfügbarkeit mit Redis Sentinel einrichten usw.

howtoforge

Recent Posts

Wie man MongoDB unter Debian 11 installiert und absichert

MongoDB ist eine universelle, dokumentenbasierte und verteilte Open-Source-Datenbank, die für moderne Anwendungsentwickler entwickelt wurde. In…

1 Tag ago

So installierst du Java 17 (JDK 17) unter Debian 11

Das Java Development Kit (JDK) ist der Name des Software Development Kits (SDK) für die…

1 Tag ago

So installierst du MongoDB auf AlmaLinux 8

MongoDB ist eine Open-Source-Dokumenten-orientierte NoSQL-Datenbank. Diese Anleitung zeigt dir, wie du MongoDB auf AlmaLinux 8…

2 Tagen ago

Gitea Installation auf Debian 11

Gitea ist ein freier, quelloffener, selbstgehosteter und bekannter Git-Server, der in der Programmiersprache Go geschrieben…

2 Tagen ago

So installierst du die Icinga 2 Überwachungssoftware unter Debian 11

Icinga2 ist ein freies, quelloffenes und eines der beliebtesten Netzwerküberwachungswerkzeuge. In diesem Artikel zeige ich…

2 Tagen ago

Was ist EFS (Elastic File System) in AWS und wie benutzt man es

Amazon Elastic File System (EFS) ist ein einfaches, skalierbares und vollständig verwaltetes NFS-Dateisystem für die…

5 Tagen ago