# 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.
```command
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.
```command
cat <> /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
```command
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/
```command
[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
```command
systemctl daemon-reload
systemctl enable minio
```
Starting minio
```command
systemctl start minio
```
[![image-1636415567865.png](https://documentacao.scielo.org/uploads/images/gallery/2021-11/scaled-1680-/image-1636415567865.png)](https://documentacao.scielo.org/uploads/images/gallery/2021-11/image-1636415567865.png)
## Interface Web
[![image-1636416514806.png](https://documentacao.scielo.org/uploads/images/gallery/2021-11/scaled-1680-/image-1636416514806.png)](https://documentacao.scielo.org/uploads/images/gallery/2021-11/image-1636416514806.png)
[![image-1636416589909.png](https://documentacao.scielo.org/uploads/images/gallery/2021-11/scaled-1680-/image-1636416589909.png)](https://documentacao.scielo.org/uploads/images/gallery/2021-11/image-1636416589909.png)
## Reference link
[https://www.digitalocean.com/community/tutorials/how-to-set-up-an-object-storage-server-using-minio-on-ubuntu-18-04-pt](https://www.digitalocean.com/community/tutorials/how-to-set-up-an-object-storage-server-using-minio-on-ubuntu-18-04-pt)
[https://github.com/minio/minio](https://github.com/minio/minio)