Skip to main content

HOW TO INSTALL MINIO ON ROCKY LINUX 8

Prerequisites

  • An Rocky Linux system.
  • A user with root or sudo privileges. This user will be used for installing new packages and make changes system-wide.

Downloading MinIO on Rocky Linux

Use the following command to download a standalone MinIO server on Linux hosts running 64-bit Intel/AMD architectures. Replace /data with the path to the drive or directory in which you want MinIO to store data.

dnf -y install wget
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mkdir /data
mv minio /usr/local/bin

Create default configuration

  • This file serves as input to MinIO systemd service. Use this file to add MINIO_VOLUMES with the correct paths, MINIO_OPTS to add MinIO server options like certs-dir, address. MinIO credentials can be MINIO_ROOT_USER and MINIO_ROOT_PASSWORD in this file as well.
  • Run the command bellow to create the file with minio parameters.
cat <<EOT >> /etc/default/minio
# Volume to be used for MinIO server.
MINIO_VOLUMES="/data"
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address :9199"
# Root user for the server.
MINIO_ROOT_USER=spf-user
# Root secret for the server.
MINIO_ROOT_PASSWORD=spf-Password
# setting access key to access the interface web
MINIO_ACCESS_KEY="minio"
# setting secret key. Avoid using the value default from this tutorial.
MINIO_SECRET_KEY="miniostorage"

EOT

Creating minio user to run the systemd

  • creating the user with no shell login and change binary and data directory ownership
useradd -r minio-user -s /sbin/nologin
chown minio-user:minio-user /usr/local/bin/minio
chown minio-user:minio-user /data

 

Systemd service MinIO on Rocky Linux

  • Systemd script is configured to run the binary from /usr/local/bin
  • Create minio.service in /etc/systemd/system/
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local/

User=minio-user
Group=minio-user

EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; 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

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

# Built for ${project.name}-${project.version} (${project.name})

 Enable startup on boot

systemctl daemon-reload
systemctl enable minio

Starting minio

systemctl start minio

image-1636415567865.png