How to Deploy and config Minio Server on RHEL

Si Thu Ye Aung
2 min readApr 28, 2023

--

Minio is an open source object storage server that enables developers to store and manage unstructured data such as photos, videos, and documents. It is designed to be compatible with the Amazon S3 API, making it easy for developers to use Minio as a drop-in replacement for Amazon S3.

System OS Requirement and root privilege account.

  1. Redhat 8.5
  2. Root user access.

Minio server installation

Firewall Port allowed following list.

sudo firewall-cmd — permanent — add-port={9000,9001}/tcp

User add for minio .

sudo useradd -s /sbin/nologin -d /data minio

Download the Minio packages.

wget -O /usr/local/bin/minio https://dl.min.io/server/minio/release/linux-amd64/minio

Granted the minio packages and directory to user minio access permission

sudo install -o root -g root -m 0755 minio /usr/local/bin/minio

sudo chown -R minio:minio /data/

sudo groupadd -r minio

sudo useradd -M -r -s /sbin/nologin -g minio -d /data minio

Get the mino Version

minio –version

To install the SSL certificate

sudo mkdir /etc/minio/ssl

sudo mkdir /etc/minio/ssl

cp /home/srvadmkube/cgcc-com-kh/* /etc/minio/ssl/

Create the minio config as per following

cat <<’EOF’ | sudo tee /etc/minio/minio.conf

# Minio local volumes.

MINIO_VOLUMES=”/data”

# Minio cli options.

MINIO_OPTS=” — address :9000 — console-address :9001 — certs-dir /etc/minio/ssl”

# Access Key of the server.

MINIO_ROOT_USER=”minioadmin”

# Secret key of the server.

MINIO_ROOT_PASSWORD=”minioadmin”

# Minio server region

MINIO_SITE_REGION=”eu-west-1"

# Minio server URL

MINIO_SERVER_URL=https://dev-minio.example.com:9000

EOF

Config the minio’s systemctl service.

cat <<’EOF’ | sudo tee /usr/lib/systemd/system/minio.service

[Unit]

Description=Minio

Wants=network-online.target

After=network-online.target

[Service]

WorkingDirectory=/usr/local

User=minio

Group=minio

ProtectProc=invisible

EnvironmentFile=/etc/minio/minio.conf

ExecStartPre=/bin/bash -c “if [ -z \”${MINIO_VOLUMES}\” ]; then echo \”Variable MINIO_VOLUMES not set in /etc/minio/minio.conf\”; exit 1; fi”

ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always

Restart=always

# Specifies the maximum file descriptor number that can be opened by this process

LimitNOFILE=65536

# Specifies the maximum number of threads this process can create

TasksMax=infinity

# Disable timeout logic and wait until process is stopped

TimeoutStopSec=infinity

SendSIGKILL=no

[Install]

WantedBy=multi-user.target

EOF

Time to enable the minio service

sudo systemctl enable minio –now

sudo systmectl start minio

Login Test for Minio portal.

Login URL : https://dev-minio.example.com:9000

Username: minioadmin

Password: minioadmin

Time to create the S3 Backup

--

--

Si Thu Ye Aung

Azure Solutions Architect Expert| CKA | RHCSA| RHCE |Terraform |VMware Certified Professional 6 | CCNA |Certificate of Cloud Security (CCSK v3)