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.

Installation von Redis aus dem AppStream Repository

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.

Starte und aktiviere den Redis-Dienst

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

Epel Repository installieren

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.

Neuen Benutzer redis hinzufügen und redis-Datenverzeichnis erstellen

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-*/

Redis Quellcode herunterladen

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.

Redis kompilieren und installieren

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 Version prüfen

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

Redis konfigurieren

Ä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

Redis-Dienstdatei einrichten

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.

Starte und aktiviere den Redis-Dienst

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„.

Mit dem Redis-Server verbinden, Authentifizierung prüfen und Ping-Befehl testen

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.

Redis verify deaktivierte den Befehl und benannte ihn um

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.

Das könnte dich auch interessieren …