
Introduction
MinIO is an open-source, high-performance, distributed object storage server compatible with Amazon S3 APIs. It's designed for large-scale data infrastructures, making it ideal for cloud-native applications. This guide will walk you through the steps to install MinIO on a Debian server.
Prerequisites
Before you begin, ensure you have:
- A Debian-based server (preferably Debian 11)
- Root or sudo user access
- A stable internet connection
For optimal performance and scalability, consider deploying MinIO on Hostomy's cloud servers. Hostomy offers high-performance cloud solutions with features like NVMe storage and 1 Gbps network ports. Learn more at Hostomy Cloud Servers.
Step 1: Update Your System
Begin by updating your system's package index and upgrading existing packages:
sudo apt update && sudo apt upgrade -y
Step 2: Install MinIO Server
- Download the MinIO Binary:
- Fetch the latest MinIO server binary:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
- Install the Binary:
- Make the binary executable and move it to
/usr/local/bin:
chmod +x minio sudo mv minio /usr/local/bin/
Step 3: Create a Dedicated User for MinIO
For security purposes, create a dedicated user to run the MinIO service:
sudo useradd -r minio-user -s /sbin/nologin
Step 4: Configure MinIO
- Create Directories for MinIO Data and Configuration:
sudo mkdir /usr/local/share/minio sudo mkdir /etc/minio
- Set Permissions:
- Assign ownership of these directories to the
minio-user:
sudo chown minio-user:minio-user /usr/local/share/minio sudo chown minio-user:minio-user /etc/minio
Step 5: Create a Systemd Service File
To manage MinIO as a service, create a systemd service file:
sudo nano /etc/systemd/system/minio.service
Add the following content:
[Unit] Description=MinIO Documentation=https://docs.min.io Wants=network-online.target After=network-online.target [Service] User=minio-user Group=minio-user ExecStart=/usr/local/bin/minio server /usr/local/share/minio Restart=always RestartSec=5 LimitNOFILE=65536 [Install] WantedBy=multi-user.target
Save and exit the editor.
Step 6: Start and Enable MinIO Service
- Reload Systemd to Recognize MinIO Service:
sudo systemctl daemon-reload
- Start the MinIO Service:
sudo systemctl start minio
- Enable MinIO to Start on Boot:
sudo systemctl enable minio
Step 7: Configure Firewall
If you have a firewall enabled, allow traffic on MinIO's default port (9000):
sudo ufw allow 9000
Step 8: Access MinIO Web Interface
MinIO's web interface is accessible at http://your-server-ip:9000. Upon first access, you'll be prompted to enter the Access Key and Secret Key. By default, these are set to minioadmin for both. For enhanced security, it's crucial to change these credentials immediately.
Conclusion
You've successfully installed and configured MinIO on your Debian server. This setup provides a robust, S3-compatible object storage solution suitable for various applications. For scalable and high-performance hosting solutions, consider deploying MinIO on Hostomy's cloud servers.
