Hướng dẫn cài đặt MinIO trên Ubuntu 22.04

Bước 1: Cập nhật hệ thống

sudo apt update
sudo apt upgrade -y

Bước 2: Tạo user chạy dịch vụ MinIO

Không nên chạy MinIO bằng tài khoản root.

sudo useradd -r minio-user -s /sbin/nologin
id minio-user

Bước 3: Tạo thư mục lưu trữ dữ liệu

sudo mkdir -p /data/minio
sudo chown -R minio-user:minio-user /data/minio

Bước 4: Cài đặt MinIO Server

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
minio --version

Bước 5: Tạo file cấu hình

sudo mkdir -p /etc/minio
sudo nano /etc/minio/minio.conf

Nội dung file:

MINIO_ROOT_USER=Hoang
MINIO_ROOT_PASSWORD=Hoang123!

MINIO_VOLUMES="/data/minio"
MINIO_OPTS="--console-address :9001"

Bước 6: Tạo Systemd Service

sudo nano /etc/systemd/system/minio.service
[Unit]
Description=MinIO Object Storage
Documentation=https://min.io
Wants=network-online.target
After=network-online.target

[Service]
User=minio-user
Group=minio-user
EnvironmentFile=/etc/minio/minio.conf
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Bước 7: Khởi động dịch vụ

sudo systemctl enable minio
sudo systemctl start minio
sudo systemctl status minio

Bước 8: Mở Firewall

sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp

Bước 9: Truy cập Web UI

Truy cập:

http://IP_SERVER:9001
  • User: Hoang
  • Password: Hoang123!

Cài đặt MinIO Client (mc)

Bước 10: Cài đặt mc

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
mc --version

Bước 11: Kết nối MinIO Server

mc alias set tgss3 http://<SERVER-IP>:9000 Hoang Hoang123!
mc alias list
mc info local

Quản lý Bucket

Bước 12: Tạo Bucket

mc mb tgss3/hoang-bucket
mc ls tgss3

Bước 13: Upload thử

echo "Hello MinIO" > test.txt
mc cp test.txt tgss3/hoang-bucket
mc ls tgss3/hoang-bucket

Quản lý User và Policy

Bước 14: Tạo User

mc admin user add tggs3 Hoang Hoang123!
mc admin user ls tgss3
mc admin user info tgss3 Hoang

Bước 15: Tạo Bucket

mc mb local/hoang-bucket
mc ls local

Bước 16: Giới hạn dung lượng Bucket

mc quota set local/hoang-bucket --hard 500GiB
mc quota info local/hoang-bucket

Bước 17: Tạo Policy

sudo nano /root/hoang-policy.json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ]
    }
  ]
}
mc admin policy create local hoang-policy /root/hoang-policy.json
mc admin policy info local hoang-policy

Bước 18: Gán Policy cho User

mc admin policy attach local hoang-policy --user Hoang
mc admin user info local Hoang