Zainstaluj minio w Ubuntu Top 10.10 najlepszych LTS

Zainstaluj minio w Ubuntu Top 10.10 najlepszych LTS
Minio to samozatrudnione rozwiązanie do tworzenia własnego przechowywania obiektów. Jest to alternatywa dla AWS S3, jeśli wcześniej korzystałeś z tej usługi. Samo oprogramowanie Minio jest wysyłane jako zwykły binarny, a nawet oficjalna dokumentacja sugeruje, aby używać go w ten sposób, zamiast korzystać z menedżera pakietów. Istnieją oczywiście obrazy Docker, jeśli chcesz użyć ich do uruchamiania minio na swoim VPS.

W tym samouczku będziemy instalować i demonstrować użycie minio na Ubuntu 18.04 Serwer LTS. Ten VPS ma statyczne IP, a ja konfiguruję rekordy DNS i połączenia TLS, aby ten sklep obiektowy był tak bezpieczny i gotowy do produkcji, jak to możliwe.

Wymagania wstępne

Oto wymagania wstępne, których potrzebujesz, jeśli chcesz śledzić:

  1. VPS działający Ubuntu lub dowolne inne Linux Distro z statycznym adresem IP (IP_ADDRESS będzie naszym symbolem zastępczym, zastąpi go faktycznym adresem IP VPS)
  2. W pełni kwalifikowana nazwa domeny [FQDN]. przykład.com będzie naszym symbolami.

Instalacja i instalacja

Zalogujmy się do naszych VPS i przygotujmy rzeczy, aby Minio do uruchomienia.

Konfiguracja DNS

Przejdź do serwerów nazw, w którym prowadzone są rekordy DNS Twojej domeny, najprawdopodobniej znajduje się to na stronie internetowej rejestratora domeny. Dodaj rekord, wskazując wybrany FQDN (na przykład minio.przykład.com) do twojego VPS IP_ADDRESS.

Użytkownik minio

Zanim zainstalujemy Minio, utwórzmy nowe konto użytkownika UNIX, pod którym uruchomi się Minio. Nie chcemy uruchomić go jako root lub jako zwykły użytkownik, który może mieć dostęp do Sudo lub inne aplikacje. Tworzymy konto Minio System, o nazwie Minio-User:

$ Sudo UserAdd--System Minio-User-Shell /Sbin /Nologin

Pobieranie minio

Następnie pobieramy minio binarne (jest napisane w Go, które kompiluje się w małym lekkim binarnym).

Zdobądź plik binarny

$ curl -o https: // dl.Minio.IO/server/minio/release/Linux-AMD64/Minio

Przenieś binarną do miejsca, w którym zwykle oczekuje się binaria:

$ sudo mv minio/usr/local/bin

Uczyń plik binarny wykonywalny i daj użytkownik Minio-Usera i zgrupuj jego własność:

$ sudo chmod +x/usr/local/bin/minio
$ Sudo Chown Minio-User: Minio-User/USR/Local/Bin/Minio

/ETC Pliki konfiguracyjne, skrypty uruchamiające i urządzenie pamięci masowej

Potrzebujemy minio, aby uruchomić z ponownym uruchomieniem systemu i być rozpoznawanym przez system operacyjny jako usługa. Nie zrobiłoby tego katastrofy, na przykład gdy Killer OOM widzi ten proces i decyduje, że nie jest wystarczająco przydatny. Potrzebowalibyśmy również katalogu, w którym faktyczne dane naszego sklepu obiektowego zostaną zapisane:

$ sudo mkdir/usr/local/share/minio
$ sudo mkdir /etc /minio

Upewnij się, że Minio ma pełną kontrolę nad tymi katalogami:

$ Sudo Chown Minio-User: Minio-User/USR/Local/Share/Minio
$ Sudo Chown Minio-User: Minio-User /Etc /Minio

Wewnątrz katalogu /etc /domyślnego musimy utworzyć plik minio, aby określić zmienne środowiskowe, takie jak numer portu, na którym będziemy słuchać, oraz katalog, w którym dane powinny być zapisywane (wolumin). Wcześniej stworzyliśmy tom, który był katalogu/usr/local/share/minio. Więc użyj swojego ulubionego edytora tekstu, aby utworzyć plik /etc/default/minio i dodaj następujące zawartość w nim:

Minio_voluumes = "/usr/local/share/minio/"
Minio_opts = "-c /etc /minio-address minio.przykład.com: 443 ”

Upewnij się, że piszesz faktyczną wyznaczoną FDQN VPS zamiast dosłownego minio sznurka.przykład.com powyżej. Numer portu 9000 jest tym, czego zwykle używają w dokumentacji, ale będziemy używać odpowiedniego instalacji TLS słuchania w porcie 443. Ponieważ jest to numer portu mniejszy niż 1024, musimy wyraźnie powiedzieć systemowi systemu operacyjnego, że minio jest słuchać tych portów:

$ sudo setcap 'cap_net_bind_service =+ep'/usr/local/bin/minio

Na koniec musimy skonfigurować minio praca. Na szczęście skrypt, który jest dostępny w ich repozytorium Github i umieścimy go w odpowiednim miejscu:

$ curl -o https: // raw.Githubusercontent.com/minio/minio-service/master/Linux-Systemd/
Minio.praca
$ sudo mv minio.serwis/etc/systemd/system

Załaduj wszystkie jednostki SystemD i umożliwić Minio rozpoczęcie uruchomienia

$ sudo systemctl demon-powód
$ sudo systemctl włącza minio

Na koniec upewnij się, że Twoja zapora umożliwia komunikację w porcie 443.

LetsEncrypt TLS Certyfikaty za pomocą CertBot

Musimy wynegocjować certyfikaty TLS między naszym minio serwerem a LetsEncrypt. Certbot to klient, który robi to dla nas, a także automatyzuje odnowienia certyfikatów. Najpierw zainstalujmy CertBot:

Aktualizacja $ sudo apt
$ sudo apt-get instaluj oprogramowanie-properties-common
$ sudo add-apt-repozytory PPA: certbot/certbot
Aktualizacja $ sudo apt-get
$ sudo apt-get instaluj certbot

Następnie zainstaluj certyfikaty, jak udokumentowano przez Minio Docs:

$ sudo certbot certonly --standalone -d minio.przykład.com --staple -oCsp -m
Nazwa użytkownika@e -mail.com --agree-tos

Tutaj wpisujesz swój FQDN dla serwera minio po flagie -d i adres e -mail po flagi -m. Adres e -mail jest ważny, ponieważ pozwala LetsEncryptowi powiadomić Cię o oczekujących przedłużenia.

Twoje e -maile będą teraz obecne na/etc/letsencrypt/na żywo/minio.przykład.com. Oczywiście ostatnia nazwa katalogu zależałaby od wybranego FQDN. Teraz skopiuj certyfikaty do katalogu minio /etc /minio i daj mu zgodę na dostęp do nich.

$ cp/etc/limsecrrypt/na żywo/minio.Ranvirslog.com/Fullchain.PEM/etc/minio/certs/public.crt
$ cp/etc/limsecrrypt/na żywo/minio.Ranvirslog.com/privey.PEM/etc/minio/certs/private.klucz
$ Chown Minio-User: Minio-User/Etc/Minio/Certs/Public.crt
$ Chown Minio-User: Minio-User/Etc/Minio/Certs/Private.klucz

Teraz jesteś gotowy do skorzystania z usługi:

$ sudo service minio start
$ sudo service Minio Status

Wyjście:

  • Minio.Service - Minio
Załadowany: załadowany (/etc/systemd/system/minio.praca; wyłączony; PRESET dostawcy: włączony)
Aktywne: aktywne (działające) od wtorek 2018-10-09 11:54:41 PDT; 5s temu
Dokumenty: https: // dokumenty.Minio.io
Proces: 15874 execStartPre =/bin/bash -c [-n "$ Minio_Volumes"] && echo "
Minio_volulume nie ustawione w/etc/default/minio "(kod = wyjście, status = 0/Success)
Główny PID: 15877 (Minio)
Zadania: 13 (limit: 4915)
Cgroup: /system.Slice/Minio.praca
└─15877/usr/local/bin/minio server -C/etc/minio --address minio.przykład.com: 443 /usr /
lokalny/share/minio/
09 października 11:54:41 Nazwa hosta Minio [15877]: Dostęp do przeglądarki:
09 października 11:54:41 nazwa hosta Minio [15877]: https: // minio.przykład.com
09 października 11:54:41 Nazwa hosta Minio [15877]: Dostęp do linii poleceń: https: // dokumenty.Minio.IO/Docs/
Minio-Client-Quickstart-Guide
09 października 11:54:41 Nazwa hosta Minio [15877]: $ MC Config Host Dodaj MyMinio
https: // minio.przykład.com
PAMH22LU3YJIFLU82H2E IKJ+QTC0OQDN46R3DLFSJV5BCNM8UEEIBYPDG8QG

Wyjście tego polecenia będzie zawierać klucz dostępu (PAMH22LU3YJIFLU82H2E) i tajny klucz (IKJ+QTC0OQDN46R3DLFSJV5BCNM8UEEIBYPDG8QG) w przypadku minio, jak pokazano na pogrubionych literach powyżej. Twoje klucze byłyby inne, więc nie kopiuj tych wymienionych tutaj.

Za pomocą minio

Otwórz przeglądarkę i odwiedź https: // minio.przykład.com (Pamiętaj, aby użyć przypisanego FQDN) i użyj komendy Acces.

I zostaniesz powitany przez minio interfejs.

Tutaj możesz użyć znaku plus w lewym dolnym rogu, aby przesyłać pliki lub utworzyć nowy wiadro. Stworzyłem nowe wiadro o nazwie MyBucket.

Możesz edytować jego zasady do odczytania i pisania, a następnie przesłać kilka plików (powiedz obrazy) do tego wiadra. Minio utworzy unikalny adres URL dla każdego obiektu w wiadrze. Możesz ustawić zasady odczytu i zapisu na wiadro, a także datę ważności na adresie URL poszczególnych obiektów.

Wniosek

To są podstawy tego, jak zacząć od sklepu obiektowego. Same obiekty idealnie nie mają być modyfikowane, po prostu odczytu lub dodawane do wiader. Możesz zintegrować to z aplikacją, postępując zgodnie z oficjalną dokumentacją. Obsługuje szeroki zakres języków programowania, od Go, Python, JavaScript do .INTERNET.