En este tutorial instalaremos y demostraremos el uso de Minio en Ubuntu 18.04 servidor LTS. Este VPS tiene una IP estática y configuraré las conexiones DNS y TLS para que esta tienda de objetos sea lo más segura y la producción posible.
Aquí están los requisitos previos que necesitaría si desea seguir:
Instalación y configuración miscelánea
Iniciemos sesión en nuestro VPS y preparemos las cosas para que Minio funcione correctamente.
Configuración de DNS
Vaya al servidor de nombres donde se mantienen los registros DNS de su dominio, lo más probable es que esto se encuentre en el sitio web del registrador de su dominio. Agregue un registro A, señalando su FQDN elegido (por ejemplo Minio.ejemplo.com) a su VPS 'IP_Address.
Usuarios de minio
Antes de instalar Minio, creemos una nueva cuenta de usuario de UNIX en la que se ejecutará Minio. No queremos ejecutarlo como root o como el usuario regular que puede tener acceso a sudo u otras aplicaciones que se ejecutan debajo de él. Creamos una cuenta de Minio Sistema, llamada Minio user:
$ sudo userAdd --system minio-user --shell /sbin /nologinDescarga de minio
A continuación, descargamos el Minio Binario (está escrito en GO que se compila en un pequeño binario liviano).
Obtener el binario
$ curl -o https: // dl.minio.IO/Server/Minio/Release/Linux-AMD64/MinioMueva el binario a una ubicación donde generalmente se espera que residan binarios:
$ sudo MV Minio/USR/Local/BinHaga que el archivo binario sea ejecutable y brinde a usuarios de minio usuarios y agrupe su propiedad:
$ sudo chmod +x/usr/local/bin/minio/ETC Archivos de configuración, scripts de inicio y dispositivo de almacenamiento
Necesitamos que Minio se inicie con el reinicio del sistema y seamos reconocidos como un servicio en ejecución por el sistema operativo. No hacerlo resultaría en catástrofes como cuando el asesino de Oom ve este proceso y decide que no es lo suficientemente útil. También necesitaríamos un directorio donde se guarden los datos reales de nuestro almacén de objetos:
$ sudo mkdir/usr/local/share/minioAsegúrese de que Minio tenga el control total sobre estos directorios:
$ sudo Chown Minio-User: Minio-User/USR/Local/Share/MinioDentro del directorio /etc /predeterminado necesitamos crear un archivo minio para especificar variables de entorno como el número de puerto en el que escucharemos y el directorio donde se deben guardar los datos (el volumen). Creamos el volumen anterior que era el directorio/usr/local/share/minio. Así que usa tu editor de texto favorito para crear un archivo /etc/default/minio y agregue el siguiente contenido dentro:
Minio_volumes = "/usr/local/share/minio/"Asegúrese de escribir el FDQN designado real de su VPS en lugar de la cadena literal Minio.ejemplo.com arriba. El número de puerto 9000 es lo que suelen usar en la documentación, pero vamos a usar la instalación de TLS adecuada para escuchar en el puerto 443. Dado que es un número de puerto inferior a 1024, debemos decirle expresamente al sistema operativo que está bien que Minio escuche en estos puertos:
$ sudo setcap 'cap_net_bind_service =+ep'/usr/local/bin/minioPor último, necesitamos configurar el minio servicio. Afortunadamente, el guión que lo hace está disponible en su repositorio de GitHub y lo colocaremos en su lugar apropiado:
$ curl -o https: // raw.githubusercontent.com/minio/minio-servicio/maestro/Linux-Systemd/Recargar todas las unidades Systemd y habilitar Minio para comenzar con el arranque
$ sudo SystemCtl-Daemon-ReloadPor último, asegúrese de que su firewall permita la comunicación en el puerto 443.
Letsencrypt Certificados TLS utilizando CERTBOT
Necesitamos negociar certificados TLS entre nuestro Minio Server y Letsencrypt. CertBot es el cliente que hace esto por nosotros y también automatiza las renovaciones de certificado. Primero instalemos certbot:
$ sudo apt actualizaciónLuego instale los certs, según lo documentado por Minio Docs:
$ sudo certbot certonly -standalone -d minio.ejemplo.com - -staple -ocsp -mAquí ingresa a su FQDN para el servidor Minio después del indicador -d y su dirección de correo electrónico después del indicador -m. La dirección de correo electrónico es importante, ya que le permite a Letsencrypt notificarle sobre las renovaciones pendientes.
Sus correos electrónicos ahora estarán presentes en/etc/letsencrypt/live/minio.ejemplo.comunicarse. Por supuesto, el último nombre de directorio dependería de su FQDN elegido. Ahora copie los certificados al directorio de Minio /etc /Minio y dale permiso para acceder a ellos.
$ cp/etc/letsencrypt/live/minio.ranvirslog.com/fullchain.PEM/etc/minio/certs/público.CRTAhora está listo para usar el servicio:
$ SUDO Service Minio StartProducción:
La salida de este comando contendrá la tecla de acceso (Pamh22lu3yjiflu82h2e) y clave secreta (IKJ+QTC0OQDN46R3DLFSJV5BCNM8UEEIBYPDG8QG) para minio como se muestra en las letras en negrita arriba. Tus claves serían diferentes, así que no copie las mencionadas aquí.
Usando Minio
Abre tu navegador y visita https: // minio.ejemplo.comunicarse (Asegúrese de usar el FQDN que le asignó) y use la clave de acceso y secreto en su comando de estado de servicio de servicio para iniciar sesión por primera vez.
Y serás recibido por el minio ui.
Aquí puede usar el signo más en la esquina inferior izquierda para cargar archivos o crear un nuevo cubo. Creé un nuevo cubo llamado mybucket.
Puede editar su política para leer y escribir y luego cargar algunos archivos (digamos imágenes) en este cubo. Minio creará una URL única para cada objeto en un cubo. Puede establecer políticas para leer y escribir por cubo, así como la fecha de vencimiento en la URL del objeto individual.
Eso es lo básico de cómo comienzas con una tienda de objetos. Los objetos en sí mismos idealmente no están destinados a ser modificados, solo leen o se agregan a los cubos. Puede integrar esto en su aplicación siguiendo la documentación oficial. Admite una amplia gama de lenguajes de programación que van desde Go, Python, JavaScript hasta .NETO.