In questo tutorial installeremo e dimostreremo l'uso di Minio su Ubuntu 18.04 Server LTS. Questo VPS ha un IP statico e imposterò i record DNS e le connessioni TLS per rendere questo negozio di oggetti il più sicuro e la produzione possibile.
Ecco i prerequisiti di cui avresti bisogno se vuoi seguire:
Installazione e configurazione varie
Accediamo ai nostri VP e prepara le cose per il funzionamento corretto.
Setup DNS
Vai a Nameserver in cui vengono mantenuti i record DNS del tuo dominio, molto probabilmente si trova sul sito Web del tuo registrar di dominio. Aggiungi un record A, puntando il tuo FQDN prescelto (ad esempio Minio.esempio.com) al tuo VPS 'IP_ADDRES.
Utente Minio
Prima di installare MINIO, creiamo un nuovo account utente UNIX con il quale verrà eseguito Minio. Non vogliamo eseguirlo come root o come utente normale che potrebbe avere un accesso sudo o altre applicazioni in esecuzione sotto di esso. Creiamo un account Minio System, chiamato Minio-User:
$ sudo useradd-system minio-uker --shell /sbin /nologinDownload Minio
Successivamente scarichiamo il minio binario (è scritto in go che compila in un piccolo binario leggero).
Ottieni il binario
$ CURL -O https: // dl.Minio.IO/Server/Minio/Release/Linux-AMD64/MINIOSpostare il binario in un luogo in cui si prevede che i binari risiedano:
$ sudo MV MINIO/USR/Local/BinRendi eseguibile il file binario e dai l'utente dell'utente e raggruppa la sua proprietà:
$ sudo chmod +x/usr/local/bin/minio/ecc. File di configurazione, script di avvio e dispositivo di archiviazione
Abbiamo bisogno di Minio per avviare il riavvio di System ed essere riconosciuti come servizio in esecuzione dal sistema operativo. Non farlo comporterebbe catastrofi come quando l'OOM-killer vede questo processo e decide che non è abbastanza utile. Avremmo anche bisogno di una directory in cui verranno salvati i dati effettivi del nostro negozio di oggetti:
$ sudo mkdir/usr/local/share/mineAssicurati che Minio abbia il pieno controllo su queste directory:
$ sudo chown minio-uker: MINIO-USER/USR/Local/Share/MinioAll'interno della directory /etc /default dobbiamo creare un file MINIO per specificare variabili di ambiente come il numero di porta su cui ascolteremo e la directory in cui i dati dovrebbero essere salvati (il volume). Abbiamo creato il volume in precedenza che era la directory/USR/Local/Share/Minio. Quindi usa il tuo editor di testo preferito per creare un file /etc/predefinito/minio e aggiungi i seguenti contenuti al suo interno:
MINIO_Volumes = "/usr/local/share/minio/"Assicurati di scrivere FDQN designato effettivo del VPS invece del letterale String Minio.esempio.com sopra. La porta numero 9000 è ciò che usano di solito nella documentazione, ma utilizzeremo l'ascolto di installazione TLS corretta alla porta 443. Dal momento che è un numero di porta inferiore a 1024, dobbiamo dire espressamente al sistema operativo che va bene per Minio ascoltare su queste porte:
$ sudo setcap 'cap_net_bind_service =+ep'/usr/local/bin/minioInfine, dobbiamo configurare il Minio servizio. Fortunatamente la sceneggiatura che lo fa è disponibile nel loro repo di Github e lo metteremo nel suo posto appropriato:
$ CURL -O https: // raw.githubusercontent.com/minio/minio-service/master/linux-systemd/Ricarica tutte le unità SystemD e abilita MINIO per iniziare l'avvio
$ sudo systemctl demone-ricaricamentoInfine, assicurati che il tuo firewall consenta la comunicazione alla porta 443.
Certificati TLS LetSencrypt utilizzando CERTBOT
Dobbiamo negoziare i certificati TLS tra il nostro server MINIO e leTsencrypt. CertBot è il client che lo fa per noi e automatizza anche i rinnovi del certificato. Installiamo la prima certificazione:
$ sudo apt updateQuindi installare i certificati, come documentato da Minio Docs:
$ sudo certbot certonly -Standalone -D Minio.esempio.com --staple -oCsp -mQui inserisci il tuo FQDN per il server Minio dopo il flag -d e il tuo indirizzo e -mail dopo il flag -m. L'indirizzo e -mail è importante in quanto consente di avvisare di avvisarti dei rinnovi in sospeso.
Le tue e -mail saranno ora presenti a/etc/letsencrypt/live/miniio.esempio.com. Naturalmente, l'ultimo nome della directory dipenderebbe dal tuo FQDN scelto. Ora copia i certificati nella directory di Minio /etc /Minio e dargli il permesso di accedervi.
$ cp/etc/letsencrypt/live/miniio.RANVIRSLOG.com/fullchain.PEM/ETC/MINIO/CERTS/PUBLIC.CrtOra sei pronto per utilizzare il servizio:
$ sudo Service Minio inizioProduzione:
L'output di questo comando conterrà la chiave di accesso (PAMH22LU3YJIFLU82H2E) e chiave segreta (IKJ+QTC0OQDN46R3DLFSJV5BCNM8UEEIBYPDG8QG) per Minio come mostrato in grassetto sopra. Le tue chiavi sarebbero diverse, quindi non copiare quelle menzionate qui.
Usando Minio
Apri il tuo browser e visita https: // miniio.esempio.com (Assicurati di utilizzare il FQDN assegnato) e utilizzare la chiave Access e Secret Elencata nel comando Stato MINIO SERVIZIO per accedere per la prima volta.
E sarai accolto dall'interfaccia utente Minio.
Qui puoi usare il segno più nell'angolo in basso a sinistra per caricare file o creare un nuovo secchio. Ho creato un nuovo secchio chiamato mybucket.
Puoi modificare la sua politica per leggere e scrivere e quindi caricare alcuni file (dire immagini) in questo secchio. Minio creerà un URL unico per ogni oggetto in un secchio. È possibile impostare politiche per la lettura e la scrittura per secchio e la data di scadenza sull'URL del singolo oggetto.
Questa è le basi di come inizi con un negozio di oggetti. Gli oggetti stessi idealmente non sono pensati per essere modificati appena letti o aggiunti ai secchi. Puoi integrarlo nella tua applicazione seguendo la documentazione ufficiale. Supporta una vasta gamma di linguaggi di programmazione che vanno da Go, Python, JavaScript a .NETTO.