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.