Ubunlog David Naranjo  

Crea tu almacenamiento privado al estilo AWS S3 con Minio en Ubuntu

El servicio de Amazon S3 es un servicio web de almacenamiento en la nube ofrecido por Amazon Web Services (AWS). Amazon S3 proporciona almacenamiento de objetos a través de interfaces de servicios web.

Los usos de S3 incluyen alojamiento web, alojamiento de imágenes y almacenamiento para sistemas de respaldo.

Estos servicios que ofrece Amazon suelen ser una excelente propuesta para web masters dado que muchos suelen ocupar el alojamiento de imágenes con el fin de reducir las peticiones al propio servidor y de esta manera poder entregar webs mas rápidas.

Aunque los costos son accesibles y son manejados (en el caso del almacenamiento de imágenes) el costo por solicitudes, es decir, cada vez que alguien entra a tu web y en ella tienes por ejemplo una imagen alojada en amazon, este te cobra cada vez que esa imagen sea cargada con toda tu web.

Para el caso de entusiastas que apenas van iniciando esto puede representar un gasto económico mínimo, dado que las visitas que suelen recibir (solicitudes) no son muchas y lo que desembolsaras en Amazon es poco.

Aunque también no todos cuentan con un capital o además que para proyectos personales o por cualquier razón no vale la pena desembolsar.

Para el caso de los que usan Wordpress pueden utilizar un servicio similar que ofrecen los chicos que desarrollan este CMS con ayuda del complemento Jetpak, aquí la “extensión” se llama “Photon”.

Aun que para el gusto de muchos no es una buena implementación, (me incluyo). Aquí es donde entra en juego esta excelente alternativa que veremos el día de hoy.

Sobre Minio

Minio es una solución auto alojada para crear su propio almacenamiento de objetos. Es una alternativa para AWS S3.

El software de Minio se entrega como un simple binario e incluso la documentación oficial sugiere que lo usen de esa manera, en lugar de usar un administrador de paquetes. Por supuesto, hay imágenes de Docker si desean usarlas para ejecutar minio en su VPS.

Minio es más adecuado para almacenar datos no estructurados, como fotos, videos, archivos de registro, copias de seguridad e imágenes de contenedor / VM. El tamaño de un objeto puede variar desde unos pocos KB hasta un máximo de 5 TB.

El servidor de Minio es lo suficientemente ligero como para ser incluido con la pila de aplicaciones, similar a NodeJS, Redis y MySQL.

¿Cómo instalar Minio en Ubuntu?

Para poder utilizar este excelente servicio vamos a teclear los siguientes comandos para poder implementar Minio en nuestro sistema.

Primero vamos a descargar y a instalar el binario en el sistema:

sudo useradd --system minio-user --shell /sbin/nologin
curl -O https://dl.minio.io/server/minio/release/linux-amd64/minio
sudo mv minio /usr/local/bin
sudo chmod +x /usr/local/bin/minio
sudo chown minio-user:minio-user /usr/local/bin/minio

Ahora es necesario que Minio se inicie con el reinicio del sistema y que el SO lo reconozca como un servicio en ejecución.

sudo mkdir /usr/local/share/minio
sudo mkdir /etc/minio
sudo chown minio-user:minio-user /usr/local/share/minio
sudo chown minio-user:minio-user /etc/minio

Dentro del directorio /etc/default necesitamos crear un archivo de minio para especificar variables de entorno como el número de puerto que escucharemos y el directorio donde se deben guardar los datos.

Vamos a crear un archivo en /etc/default/minio y agreguen el siguiente contenido dentro de él:

sudo nano /etc/default/minio
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address tu-dominio.com:443"

Debes de editar “tu-dominio” por el dominio o subdominio que le asignaras especialmente a minio:

sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/minio
curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/
minio.service
sudo mv minio.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable minio

Ahora vamos a implementar los certificados TLS con certbot:

sudo apt update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot
sudo certbot certonly --standalone -d tu-dominio.com --staple-ocsp -m
tu@correoelectronico.com --agree-tos
cp /etc/letsencrypt/live/minio.ranvirslog.com/fullchain.pem /etc/minio/certs/public.crt
cp /etc/letsencrypt/live/minio.ranvirslog.com/privkey.pem /etc/minio/certs/private.key
chown minio-user:minio-user /etc/minio/certs/public.crt
chown minio-user:minio-user /etc/minio/certs/private.key

Finalmente vamos a iniciar el servicio y comprobar que todo está funcionando correctamente:

sudo service minio start

sudo service minio status

Al final de la salida deberán de recibir algo similar a esto:

https://tu-dominio.com

XXXAAAXXXAAA     XXAAAXX….

En donde esto último serán tus claves de acceso, donde la mas larga es la secret key para poder ingresar al servicio web de Minio.

Debes de ingresar al dominio o subdominio que destinaste a minio desde tu navegador web.

https://tu-dominio-minio.com

El artículo Crea tu almacenamiento privado al estilo AWS S3 con Minio en Ubuntu ha sido originalmente publicado en Ubunlog.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.