Cara Install MINIO pada Linux Debian NAT VPS
NATVPS.id – MinIO adalah Sebuah Cloud Storage Server dengan performa tinggi yang fokus pada kompatibilitas integrasi dengan Amazon S3. MinIO sendiri sebenarnya dibangun untuk tujuan skala besar pada kategori AI / ML. Walaupun didesain untuk skala besar. Anda tetap bisa menjalankan MinIO dengan skala kecil menggunakan Skema Single-Node Single-Drive (SNSD) pada Instalasi MinIO. Pada artikel kali ini Anda akan belajar Cara Install MinIO pada Linux Debian NAT VPS.
Pada Kasus ini IPv4 NAT yang digunakan, Protokol yang digunakan, Spesifikasi Mapping Port Forwading yang digunakan, tujuan port yang dipilih adalah sebagai berikut:
Pada Minio ini terdapat 2 domain yang bakal dialokasikan. Pertama,domain untuk minio api. Terakhir, domain untuk minio panel. Pada kasus ini digunakan subdomain sebagai berikut:
Anda dapat gunakan Cloudflare sebagai DNS Nameservernya, Namun sebelumnya pastikan anda sudah memindahkan DNS Managementnya pada Cloudlfare. Apabila sudah melakukan DNS Management pada Cloudflare. Anda dapat masukkan DNS A Record dengan server name console-minio dan minio. pastikan IP Address yang dimasukkan adalah IP Address NAT VPS
Anda perlu melakukan Domain Forwading http ke NAT VPS agar dapat diakses. Untuk melakukannya cukup tambahkan domain forwading dengan protokol http dan domain pada domain minio dan console-minio.
Hasil Konfigurasi kurang lebih seperti berikut
setelah mengikuti Tutorial Ini, Anda diharapkan berhasil:
Untuk mengakses NAT VPS, harap login terlebih dahulu ke Client Area NAT VPS. Panduan login ke NAT VPS dapat ditemukan di artikel yang berjudul “Cara Membeli dan Login NAT VPS“. Setelah berhasil login, Anda akan otomatis diarahkan ke halaman Client Area NAT VPS dengan tampilan sebagai berikut:
Bagi pelanggan hostdata.id yang belum mengetahui kredensial yang digunakan di Client Area, harap periksa email yang Anda terima setelah menyelesaikan pemesanan NAT VPS. Informasi kredensial yang telah dikirimkan meliputi username, password, dan tautan login ke Client Area. format email kurang lebih seperti berikut:
Anda dapat gunakan aplikasi SSH client seperti cmd, Termius, Terminal, Termux, Putty, Tabby, atau sejenisnya untuk mengakses terminal NAT VPS melalui SSH. Kemudian Untuk Kasus ini, kami gunakan SSH hasil NAT dengan PORT ssh yang telah kami lakukan domain forwarding dari port 22922 ke port 22:
ssh root@104.156.46.123 -p 22922
Atau bila mau melakukan Koneksi ssh melalui IPv6. Bisa gunakan command seperti ini:
ssh root@2004:aaf:dafe:444:beef:feed:fe1d:1
Kemudian, Ada interaksi masukkan Password SSH root. BIla kredensial yang dimasukkan benar, Anda akan dapatkan pesan selamat datang pada shell terminal:
sebelum lakukan instalasi. pastikan untuk memperbarui definisi apt repository dan melakukan instalasi aplikasi yang essential pada linux
sudo apt update && sudo apt install git nano curl wget software-properties-common ca-certificates lsb-release apt-transport-https -y
Pada Step ini diperlukan untuk mendefinisikan resolve domain ke IP Address tanpa menambahkan DNS Record pada Cloudlfare untuk internal minio. Gunakan Command berikut untuk masuk ke /etc/hosts:
sudo nano /etc/hosts
Tambahkan string minio-01.internal.rotan.id setelah string localhost menjadi berikut:
save kemudian coba ping menuju domain tersebut melalui ipv4 dan ipv6:
Untuk melakukan Instalasi NGINX, Anda dapat eksekusi command berikut untuk melakukannya:
sudo apt install nginx
setelah Instalasi selesai Anda dapat periksa status nginx command cek service nginx melalui systemd
systemctl status nginx.service
Pada step ini Instalasi dilakukan melalui deb file. Anda bisa download melalui URL berikut:
wget https://dl.min.io/server/minio/release/linux-amd64/minio_20240212210227.0.0_amd64.deb
Selanjutnya anda mendapatkan file bernama minio_20240212210227.0.0_amd64.deb . Selanjutnya install deb file minio tersebut:
sudo dpkg -i minio_20240212210227.0.0_amd64.deb
Instalasi Selesai dilakukan, pada instalasi melalui deb file, secara otomatis minio membuat service system . periksa service dengan cara ketik command berikut:
systemctl status minio.service
Pada step ini Anda perlu membuat user dan group baru yang ditujukan untuk minio. gunakan command berikut untuk melakukannya:
sudo groupadd -r minio-users
Selanjutnya tambahkan user baru dengan group yang digunakan adalah minio-users
sudo useradd -M -r -g minio-users minio-nat
Kemudian adalah membuat folder pada /mnt, gunanya untuk digunakan sebagai minio mount. Pada command ini membuat folder dengan nama minio-01
sudo mkdir /mnt/minio-01
Selanjutnya ubah folder minio-01 menjadi milik minio-nat dan group minio-users
sudo chown minio-nat:minio-users /mnt/minio-01
Setelah itu Anda sudah bisa memulai menyesuaikan konfigurasi enviroment untuk minio systemd service pada file /etc/default/minio
sudo nano /etc/default/minio
Lalu tambahkan beberapa Enviroment variable berikut, khusus untuk MINIO_ROOT_USER dan MINIO_ROOT_PASSWORD dapat anda sesuaikan dengan keinginan:
MINIO_OPTS="--console-address :9001" MINIO_VOLUMES="/mnt/minio-01" MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=natvpsid
Penyebab menaruh env value pada /etc/default/minio dikarenakan secara default systemd service minio melakukan import Enviroment file pada file tersebut. Anda dapat periksa pada file /lib/systemd/system/minio.service
Setelah Konfigurasi selesai Anda dapat lakukan start service dengan command berikut:
systemctl start minio.service
cek status service minio dengan command cek status service melalui systemd
systemctl status minio.service
Setelah selesai memastikan minio berjalan Anda dapat melanjutkan untuk konfigurasi Minio Behind Nginx Proxy, fungsinya untuk membuat minio lebih aman tanpa harus perlu ter ekspos pada port asli. langkah pertama anda perlu membuat file konfigurasi nginx-minio pada /etc/nginx/conf.d/ dengan file bernama minio-s3-console.conf .
touch /etc/nginx/conf.d/minio-s3-console.conf && nano /etc/nginx/conf.d/minio-s3-console.conf
edit minio-s3-console.conf dengan text editor seperi nano. lalu tambahkan string berikut
upstream minio_s3 {
least_conn;
server minio-01.internal.rotan.id:9000;
}
upstream minio_console {
least_conn;
server minio-console-01.internal.rotan.id:9001;
} Fungsi disini adalah mendeklarasikan upstream server untuk s3 dan console yang akan digunakan oleh nginx pada site config (virtual host). Saatnya buat file untuk konfigurasi minio. pertama buat konfigurasi untuk domain console-minio.rotan.id . buat file dengan nama yang sama dengan domain pada folder /etc/nginx/sites-available/
touch /etc/nginx/sites-available/console-minio.rotan.id
edit file tersebut menggunakan nano dan masukkan config berikut
# console-minio.rotan.id
server {
listen 80;
listen [::]:80;
server_name console-minio.rotan.id;
# Allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# Disable buffering
proxy_buffering off;
proxy_request_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
# This is necessary to pass the correct IP to be hashed
real_ip_header X-Real-IP;
proxy_connect_timeout 300;
# To support websocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
chunked_transfer_encoding off;
proxy_pass http://minio_console/; # This uses the upstream directive definition to load balance
}
} Lakukan save. setelah itu buat file baru lagi untuk minio instance pada folder yang sama dengan console-minio.
touch /etc/nginx/sites-available/minio.rotan.id
edit file tersebut menggunakan nano dan tambahkan konfigurasi berikut:
server {
listen 80;
listen [::]:80;
server_name minio.rotan.id;
# Allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# Disable buffering
proxy_buffering off;
proxy_request_buffering off;
location / {
proxy_set_header Host 127.0.0.1:9000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://minio_s3; # This uses the upstream directive definition to load balance
}
} untuk server_name baik console maupun minio dapat anda sesuaikan dengan kebutuhan Anda. Lakukan save. Selanjutnya lakukan link file console dan minio pada folder /etc/nginx/sites-available/ ke /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/console-minio.rotan.id /etc/nginx/sites-enabled/console-minio.rotan.id ln -s /etc/nginx/sites-available/minio.rotan.id /etc/nginx/sites-enabled/minio.rotan.id
Kemudian verifikasi apakah konfigurasi sudah benar pada nginx dengan menggunakan command berikut
nginx -t
response OK akan diberikan bila Konfigurasi sudah benar tanpa typo. Selanjutnya Restart Service nginx untuk agar konfigurasi ter apply dengan command berikut:
nginx -s reload
Kemudian Akses url link console-minio.rotan.id
selanjutnya login menggunakan username password yang sudah dikonfigurasi sebelumnya. Apabila kredensial cocok Anda diarahkan menuju Dashboard Minio.
Pada Titik Ini Anda sudah berhasil mengikut Artikel, Selanjutnya Anda dapat melakukan Integrasi MINIO dengan SDK ataupun Grafana untuk monitoring minio.
Itu Adalah Langkah Langkah Cara Install MinIO pada Linux Debian NAT VPS. Jika ada pertanyaan atau kesulitan, silahkan bertanya di grup Telegram @IPv6Indonesia. Kami sangat mengapresiasi Feedback dari Pembaca.
NATVPS.id – Gopeed (Go Speed) adalah aplikasi pengunduh modern bersifat open-source yang yang mendukung berbagai…
NATVPS.id – IPTV (Internet Protocol Television) adalah teknologi yang menyiarkan konten televisi, video, dan siaran…
NATVPS.id – Jellyfin adalah server media open-source yang memungkinkan Anda mengatur, melakukan streaming, dan mengelola…
NATVPS.id – Gitea adalah sebuah layanan hosting Git (pengelola repositori kode) open-source yang dapat di…
NATVPS.id – LibreOffice adalah perangkat lunak perkantoran (office) yang gratis, modern, dan open-source. LibreOffice dapat…
NATVPS.id – Pi-hole adalah software DNS Server yang berfokus pada pemblokiran iklan dan situs trackers.…