MinIO ist eine Open-Source-Lösung für leistungsstarkes Objektspeichern, die eine S3-kompatible API zum Verwalten und Teilen von Dateien als Objekte bereitstellt. Es basiert auf einer Server- und Konsolenarchitektur und ermöglicht verschiedene Zugriffsmethoden wie eine Weboberfläche, das mc-Kommandozeilenwerkzeug sowie weitere S3-kompatible Clients wie S3 Browser, Cyberduck und s3cmd.
In dieser Anleitung erfahren Sie, wie Sie MinIO auf Ubuntu 24.04 bereitstellen. Sie installieren und konfigurieren MinIO in einer Single Node Single Drive (SNSD)-Umgebung und binden ein Blockspeichergerät zum Speichern der Objekte ein.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Folgendes vorhanden ist:
- Ein Ubuntu 24.04 Server mit einem Nicht-Root-Benutzer und Sudo-Rechten.
- Ein A-Record einer Domain, der auf die Server-IP zeigt (z. B.
minio.example.com). - Ein bereitgestelltes und eingehängtes Blockspeichervolumen unter
/mnt/minio-data.
Passende Infrastruktur bei centron
Ubuntu-Server ohne eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →
MinIO installieren
MinIO ist nicht in den Standard-APT-Repositories von Ubuntu enthalten. Sie müssen das offizielle Debian-Paket von der MinIO-Release-Seite herunterladen und manuell mit dpkg installieren.
MinIO Debian-Paket herunterladen
$ wget https://dl.min.io/server/minio/release/linux-amd64/minio_20250422221226.0.0_amd64.deb -O minio.debDer obige Befehl lädt das MinIO-Debian-Paket herunter und speichert es als minio.deb. Um die neueste Version zu prüfen, besuchen Sie die offizielle Release-Seite.
MinIO-Paket installieren
$ sudo dpkg -i minio.debInstallation überprüfen
$ minio --versionDie Ausgabe sollte ähnlich aussehen wie:
minio version RELEASE.2025-04-22T22-12-26Z (commit-id=0d7408fc9969caf07de6a8c3a84f9fbb10a6739e) Runtime: go1.24.2 linux/amd64
MinIO konfigurieren
MinIO wird mit dem Befehl minio gesteuert. Dieser unterstützt Optionen zum Definieren von Ports, Speicherpfaden und Administrator-Zugangsdaten. Damit die Einstellungen dauerhaft bleiben, müssen sie in einer Konfigurationsdatei gespeichert werden.
Konfigurationsdatei erstellen
$ sudo nano /etc/default/minioFügen Sie den folgenden Inhalt ein:
MINIO_VOLUMES="/mnt/minio-data"
MINIO_OPTS="-C /etc/minio --address :9000 --console-address :9001"
MINIO_ROOT_USER="minio_admin"
MINIO_ROOT_PASSWORD="strong-password"Ersetzen Sie minio_admin und strong-password durch eigene Zugangsdaten (das Passwort muss mindestens 8 Zeichen haben).
MinIO-Benutzer erstellen
$ sudo useradd -m -s /usr/sbin/nologin minio-userBesitzrechte für Speicherverzeichnis zuweisen
$ sudo chown minio-user:minio-user /mnt/minio-dataDienst aktivieren und starten
$ sudo systemctl enable minio
$ sudo systemctl start minio.serviceStatus des Dienstes prüfen
$ sudo systemctl status minio.serviceMinIO mit SSL absichern
Standardmäßig läuft MinIO auf den Ports 9000 (API) und 9001 (Konsole). Aus Sicherheitsgründen wird empfohlen, HTTPS mit Let’s Encrypt Zertifikaten zu verwenden und die Konsole an Port 443 zu binden.
Certbot installieren und Zertifikate anfordern
$ sudo ufw allow 80/tcp
$ sudo apt install certbot -y
$ sudo certbot certonly --standalone -d minio.example.com -m hello@example.com --agree-tosAutomatische Verlängerung testen:
$ sudo certbot renew --dry-runSSL-Verzeichnis und Berechtigungen einrichten
$ sudo mkdir -p /opt/minio-certs
$ sudo cp /etc/letsencrypt/live/minio.example.com/fullchain.pem /opt/minio-certs/public.crt
$ sudo cp /etc/letsencrypt/live/minio.example.com/privkey.pem /opt/minio-certs/private.key
$ sudo chown -R minio-user:minio-user /opt/minio-certs/SSL-Bindung für MinIO aktivieren
$ which minio
$ sudo setcap cap_net_bind_service=+ep /usr/local/bin/minioKonfigurationsdatei anpassen
MINIO_VOLUMES="/mnt/minio-data"
MINIO_OPTS="-C /etc/minio --address :9000 --console-address :443 --certs-dir /opt/minio-certs"
MINIO_ROOT_USER="minio_admin"
MINIO_ROOT_PASSWORD="strong-password"
MINIO_DOMAIN="minio.example.com"Dienst neu starten
$ sudo systemctl restart minio
$ sudo systemctl status minioFirewall-Regeln aktualisieren
$ sudo ufw allow 443/tcp
$ sudo ufw allow 9000/tcp
$ sudo ufw reload
$ sudo ufw statusStellen Sie sicher, dass die Firewall aktiv ist und die Regeln für die Ports 80, 443 und 9000 angewendet sind.
Zugriff auf MinIO
Öffnen Sie Ihren Browser und rufen Sie Ihre MinIO-Domain über die folgende URL auf:
https://minio.example.com
Bestätigen Sie, dass die MinIO-Webkonsole geladen wird, und melden Sie sich mit den Administrator-Anmeldedaten aus /etc/default/minio an.
- BENUTZERNAME:
minio_admin - PASSWORT:
strong-password
Zugriff auf die MinIO-Webkonsole
Nach dem Einloggen wählen Sie im Hauptmenü Buckets, um einen neuen Objektspeicher-Bucket anzulegen.
Klicken Sie auf Bucket erstellen und geben Sie im Feld Bucket-Name einen Namen ein (z. B. centron-test).
Namenskonventionen für Buckets
- Länge: Bucket-Namen müssen zwischen 3 und 63 Zeichen lang sein.
- Zulässige Zeichen: Nur Kleinbuchstaben, Zahlen, Punkte (
.) und Bindestriche (-). - Keine aufeinanderfolgenden Punkte: Keine zwei Punkte hintereinander (
..) oder Punkt neben Bindestrich (-.oder.-). - Keine IP-Formatierung: Keine Namen im IP-Format (z. B.
192.168.5.4). - Kein
xn---Präfix: Namen dürfen nicht mitxn--beginnen. - Kein
-s3alias-Suffix: Namen dürfen nicht auf-s3aliasenden (reserviert für Access-Point-Aliasnamen). - Eindeutigkeit: Bucket-Namen müssen innerhalb einer Partition eindeutig sein.
Einen neuen MinIO-Bucket erstellen
Aktivieren Sie bei Bedarf zusätzliche Bucket-Funktionen:
- Versionierung: Behält mehrere Versionen desselben Objekts unter einem Schlüssel.
- Objektsperre: Verhindert Löschungen und ermöglicht Aufbewahrung/Legal Hold (nur bei Erstellung aktivierbar).
- Quota: Begrenzt die Gesamtmenge der im Bucket gespeicherten Daten.
- Retention: Verhindert Löschungen für einen definierten Zeitraum. Versionierung muss aktiviert sein.
Klicken Sie nach der Auswahl auf Bucket erstellen, um den MinIO-Objektspeicher-Bucket einzurichten.
Prüfen Sie anschließend, ob er in der Bucket-Liste erscheint. Klicken Sie auf den Namen, um die Eigenschaften einzusehen und zu konfigurieren.
Dateien über den Object Browser hochladen
Öffnen Sie im Hauptmenü den Object Browser.
Wählen Sie den neuen Bucket, klicken Sie auf Upload und dann auf Datei hochladen, um Dateien von Ihrem Gerät hinzuzufügen.
Überprüfen Sie, ob der Upload abgeschlossen ist und die Datei im Bucket erscheint. Um die Datei zu teilen, klicken Sie auf das Objekt und wählen Teilen, um eine verschlüsselte Download-URL zu erstellen.
Legen Sie die Ablaufzeit fest und klicken Sie auf das Kopiersymbol, um den Link freizugeben.
Zugriff auf MinIO mit einem S3 Browser
S3-Clients ermöglichen es, Objekte sicher hochzuladen und zu verwalten. Die MinIO-API lauscht auf Port 9000 und akzeptiert S3-Verbindungen. Verwenden Sie z. B. S3 Browser, um sich zu verbinden und Dateien hochzuladen.
- Gehen Sie in der MinIO-Konsole zu Access Keys, um neue Schlüssel zu erzeugen.
- Klicken Sie auf Access Key erstellen, um Access- und Secret-Keys zu generieren.
- Wählen Sie Ablaufdatum und Name, klicken Sie dann auf Erstellen, um die Schlüssel zu speichern.
Kopieren Sie die generierten Schlüssel oder klicken Sie auf Download for Import, um sie als Datei zu speichern.
- Laden Sie einen S3-Browser auf Ihr Gerät herunter und installieren Sie ihn.
- Öffnen Sie die Anwendung und wählen Sie im Menü Neues Konto hinzufügen.
Tragen Sie im Fenster Neues Konto hinzufügen Folgendes ein:
- Anzeigename: Name für Ihr MinIO-Konto.
- Konto-Typ: S3-kompatibler Speicher.
- API-Endpunkt: Ihre MinIO-API-URL (z. B.
minio.example.com:9000). - Access Key ID: Den zuvor generierten Access Key.
- Secret Access Key: Den zuvor generierten Secret Key.
- Sichere Übertragung: Aktivieren, um die Übertragung zu verschlüsseln.
Klicken Sie auf Änderungen speichern, um das Konto zu sichern und eine Verbindung zum MinIO-Server aufzubauen.
Vergewissern Sie sich, dass Ihre Buckets im S3 Browser angezeigt werden. Klicken Sie auf einen Bucket, um die Objekte zu sehen.
Zugriff auf MinIO mit s3cmd
s3cmd ist ein Kommandozeilen-Tool für S3-kompatible Speicher wie MinIO. Damit können Sie Buckets auflisten, erstellen, löschen sowie Objekte hoch- und herunterladen. Befolgen Sie diese Schritte, um s3cmd mit Ihrem MinIO-Server zu nutzen.
s3cmd-CLI-Tool installieren
Ubuntu/Debian
APT-Paketindex aktualisieren.
$ sudo apt updates3cmd-Paket installieren.
$ sudo apt install -y s3cmdRHEL/Rocky Linux
DNF-Cache aktualisieren.
$ sudo dnf makecaches3cmd-Paket installieren.
$ sudo dnf install -y s3cmdmacOS (Homebrew)
Homebrew aktualisieren.
% brew updates3cmd-Paket installieren.
% brew install s3cmdZugangsschlüssel konfigurieren
Nach der Installation konfigurieren Sie die Zugangsdaten zur Verbindung mit Ihrem MinIO-Server.
$ s3cmd --configureGeben Sie bei den Abfragen Folgendes ein:
- Access Key: Der in der MinIO-Konsole erstellte Access Key.
- Secret Key: Der in der MinIO-Konsole erstellte Secret Key.
- Default Region: Enter drücken, um den Standardwert zu übernehmen.
- S3 Endpoint: Ihre MinIO-API-URL (z. B.
minio.example.com:9000). - DNS-style bucket+hostname:port:
minio.example.com:9000eingeben. - Encryption password: Optional – Passwort zum Verschlüsseln der gespeicherten Konfiguration.
- Use HTTPS protocol: Mit Yes bestätigen, um HTTPS zu aktivieren.
- HTTP Proxy server name: Leer lassen, wenn kein Proxy genutzt wird.
Nach der Eingabe sehen Sie eine Übersicht wie folgt:
New settings:
Access Key: Your Access Key
Secret Key: Your Secret Access Key
Default Region: US
S3 Endpoint: minio.example.com:9000
DNS-style bucket+hostname:port template for accessing a bucket: minio.example.com:9000
Encryption password:
Path to GPG program: /usr/bin/gpg
Use HTTPS protocol: True
HTTP Proxy server name:
HTTP Proxy server port: 0
Test access with supplied credentials? [Y/n]Drücken Sie Y, um die Verbindung zu prüfen.
Häufige s3cmd-Befehle
Alle Buckets auf dem MinIO-Server auflisten:
$ s3cmd lsBeispielausgabe:
2025-04-27 05:06 s3://centron-testEinen neuen Bucket erstellen:
$ s3cmd mb s3://my-new-bucketErsetzen Sie my-new-bucket durch den gewünschten Bucket-Namen.
Erneut Buckets auflisten, um den neuen Bucket zu bestätigen:
$ s3cmd lsBeispielausgabe:
2025-04-27 09:52 s3://my-new-bucket
2025-04-27 05:06 s3://centron-testDatei in einen Bucket hochladen:
$ s3cmd put myfile.txt s3://my-new-bucket/Beispielausgabe:
upload: 'myfile.txt' -> 's3://my-new-bucket/myfile.txt' [1 of 1]
2611218 of 2611218 100% in 0s 11.14 MB/s doneObjekte in einem Bucket auflisten:
$ s3cmd ls s3://my-new-bucketBeispielausgabe:
2025-04-27 10:03 2611218 s3://my-new-bucket/myfile.txtLokale Testdatei löschen:
$ rm myfile.txtDatei aus einem MinIO-Bucket herunterladen:
$ s3cmd get s3://my-new-bucket/myfile.txtBeispielausgabe:
download: 's3://my-new-bucket/myfile.txt' -> './myfile.txt' [1 of 1]
2611218 of 2611218 100% in 0s 107.92 MB/s doneDatei aus einem Bucket löschen:
$ s3cmd del s3://my-new-bucket/myfile.txtBeispielausgabe:
delete: 's3://my-new-bucket/myfile.txt'Einen Bucket vom MinIO-Server löschen:
$ s3cmd rb s3://my-new-bucketBeispielausgabe:
Bucket 's3://my-new-bucket/' removedBuckets erneut auflisten, um die Löschung zu bestätigen:
$ s3cmd lsBeispielausgabe:
2025-04-27 05:06 s3://centron-testFazit
Sie haben MinIO auf Ubuntu 24.04 in einer Single Node Single Drive (SNSD)-Umgebung mit eingebundenem Blockspeicher bereitgestellt. Mit MinIO als Systemdienst und durch Let’s Encrypt SSL-Zertifikate abgesichert, ist Ihre Objektspeicherumgebung produktionsbereit. Sie können Daten über die gesicherte Webkonsole, mit Kommandozeilenwerkzeugen wie s3cmd oder Desktop-Clients wie S3 Browser verwalten und teilen. Weitere Konfigurationsoptionen und Details finden Sie in der offiziellen MinIO-Dokumentation.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.