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.