Eine bereits bestehende alpine linux installation wird vorausgesetzt. Siehe z.B. hier. nun folgendes:
# repository auf edge setzen und upgraden cat << +++EOF+++ > /etc/apk/repositories http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community #http://dl-cdn.alpinelinux.org/alpine/edge/testing +++EOF+++ apk update apk upgrade # daemontools installieren und starten apk add nano daemontools bash # daemontools svscanboot für boot aktivieren und starten rc-update add svscan service svscan start
Wir installieren nun minio als dienst in den daemontools und starten diesen
# service verzeichnis erstellen und hineinwechseln mkdir /srv/minio && cd /srv/minio # konfiguration erstellen mkdir configdir && cd configdir echo "on" > MINIO_BROWSER echo "ein testsystem" > MINIO_REGION_COMMENT echo "de-demo" > MINIO_REGION_NAME echo "hier_ein_passwort" > MINIO_ROOT_PASSWORD echo "hier_ein_benutzername" > MINIO_ROOT_USER cd .. # minio binary (amd64) herunterladen wget -c https://dl.min.io/server/minio/release/linux-amd64/minio wget -c https://dl.min.io/server/minio/release/linux-amd64/minio.sha256sum # sha256 hash prüfen grep -f <(cut -d " " -f 1 minio.sha256sum) -F <(sha256sum minio) && echo ok || echo error # binary ausführbar machen chmod +x minio # systemuser "minio" erstellen adduser --system --no-create-home --disabled-login --disabled-password minio # datenverzeichnis anlegen (z.B ein Mountpoint) # und dem systemuser zugriff darauf geben mkdir /mnt/data chown minio:minio /mnt/data # daemontools dienst erstellen cat << +++EOF+++ > /srv/minio/run #!/bin/sh exec 2>&1 exec setuidgid minio envdir configdir ./minio server /mnt/data/store{1...4} --address ":9001" --console-address ":9002" +++EOF+++ # ausführbar machen chmod +x /srv/minio/run # dienst starten und lebending halten ln -s /srv/minio/ /service/ # vergewissern, dass der dienst aktiv ist svstat /service/minio netstat -tanup | grep minio # server rebooten und nochmal vergewissern reboot svstat /service/minio netstat -tanup | grep minio
Rufe nun http://IP_ADRESSE_DES_SERVER:9002 auf, logge dich mich den Credentials ein und erstelle in der Webgui weitere Nutzer und entsprechende Buckets.
Du kannst zusätzlich mit einem apache proxy arbeiten, um TLS zur Verfügung zu stellen. Das erläutere ich hier nicht näher, aber Du kannst dich dabei an folgende Konfiguration anlehnen:
<VirtualHost *:443>
ServerName beispieldomain.de
SSLEngine on
SSLProtocol -All +TLSv1.2 +TLSv1.3
SSLCertificateFile /pfad/zu/beispieldomain.de/beispieldomain.de.cer
SSLCertificateKeyFile /pfad/zu/beispieldomain.de/beispieldomain.de.key
SSLCertificateChainFile /pfad/zu/beispieldomain.de/fullchain.cer
SSLCACertificateFile /pfad/zu/beispieldomain.de/ca.cer
ProxyRequests Off
ProxyVia Block
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://127.0.0.1:9002/
ProxyPassReverse / http://127.0.0.1:9002/
</VirtualHost>