Install Dan Konfigurasi Minio Object Storage Server
Apa itu Minio?
Minio adalah object storage server yang dirilis di bawah Lisensi Apache v2.0. Ini kompatibel dengan layanan penyimpanan cloud Amazon S3. Sangat cocok untuk menyimpan data tidak terstruktur seperti foto, video, file log, backup dan images kontainer/VM. Untuk ukuran suatu objek dapat berkisar dari beberapa KB hingga maksimum 5TB.
Install dan Konfigurasi Minio di Centos Linux:
Tambahkan akun khusus untuk minio
useradd -d /opt/minio minio
Buat direktori yang dibutuhkan
mkdir /opt/minio/bin
mkdir /opt/minio/data
Unduh binari minio server binary
wget https://dl.minio.io/server/minio/release/linux-amd64/minio -O /opt/minio/bin/minio
Setel permisi untuk bisa dieksekusi
chmod +x /opt/minio/bin/minio
Buat berkas konfigurasi untuk minio
vim /opt/minio/minio.conf:
Isinya sebagai berikut:
MINIO_VOLUMES=/opt/minio/data
MINIO_OPTS="--address :9000"
Pastikan pemilik direktori /opt/minio disetel ke minio:
chown -R minio:minio /opt/minio
Buat berkas minio systemd service
Catatan: Berkas systemd service di bawah diadaptasi dari: https://github.com/minio/minio-service/tree/master/linux-systemd
vim /etc/systemd/system/minio.service
Isinya sebagai berikut:
[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/opt/minio/bin/minio
[Service]
WorkingDirectory=/opt/minio
User=minio
Group=minio
PermissionsStartOnly=true
EnvironmentFile=-/opt/minio/minio.conf
ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in /opt/minio/minio.conf\""
ExecStart=/opt/minio/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service only if it has ended with the clean exit code or signal.
Restart=on-success
StandardOutput=journal
StandardError=inherit
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=0
# SIGTERM signal is used to stop Minio
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=0
[Install]
WantedBy=multi-user.target
Aktifkan dan jalankan minio service
systemctl enable minio && systemctl start minio
Periksa apakah minio telah jalan
systemctl status minio
Untuk melihat dan menyimpan Minio access dan secret key:
grep minio /var/log/messages | grep -E 'AccessKey|SecretKey'
Atau bisa juga langsung melihat ke berkas konfigurasi yang dibuat otomatis saat menjalankan minio service
vim /opt/minio/.minio/config.json
Sampai tahap ini instalasi dan konfigurasi telah sukses dan jalan. Untuk melihatnya bisa mengakses url http://<server_ip>:9000/
, log in menggunakkan access dan secret key yang telah disimpan ditahap di atas.
Penggunaan Minio
Karena Minio kompatibel dengan AWS S3, bisa menggunakan cli untuk mengunggah, melihat dan hapus Minio storage data
Reverse Proxy dengan Nginx
Install Ngix Server
yum install nginx
Buat konfigurasi untuk nginx
vim /etc/nginx/conf.d/domain.com.conf
Isinya bisa disesuaikan sebagai berikut:
server {
listen 80;
server_name domain.com;
location / {
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_ignore_headers Cache-Control;
add_header Accept-Ranges bytes;
proxy_pass http://<server_ip_minio>:9000;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
proxy_intercept_errors on;
add_header Cache-Control max-age=31536000;
}
}