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.
Oto wymagania wstępne, których potrzebujesz, jeśli chcesz śledzić:
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 /NologinPobieranie 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/MinioPrzenieś binarną do miejsca, w którym zwykle oczekuje się binaria:
$ sudo mv minio/usr/local/binUczyń plik binarny wykonywalny i daj użytkownik Minio-Usera i zgrupuj jego własność:
$ sudo chmod +x/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/minioUpewnij się, że Minio ma pełną kontrolę nad tymi katalogami:
$ Sudo Chown Minio-User: Minio-User/USR/Local/Share/MinioWewną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/"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/minioNa 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/Załaduj wszystkie jednostki SystemD i umożliwić Minio rozpoczęcie uruchomienia
$ sudo systemctl demon-powódNa 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 aptNastępnie zainstaluj certyfikaty, jak udokumentowano przez Minio Docs:
$ sudo certbot certonly --standalone -d minio.przykład.com --staple -oCsp -mTutaj 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.crtTeraz jesteś gotowy do skorzystania z usługi:
$ sudo service minio startWyjście:
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.
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.