Cómo crear un contenedor LXC de CentOS en QNAP

En este tutorial vamos a crear un entorno de desarrollo web en un contenedor LXC en nuestro NAS QNAP, aunque este tutorial es válido también para cualquier otro sistema que corra Linux. Si eres desarrollador web y quieres programar desde cualquier lugar (incluso desde tu iPad), sigue estos pasos para tener tu entorno LAMP (Linux, Apache, MySQL, PHP) listo para usar.

Instalación del contenedor LXC con CentOS


Accede a Container Station en tu NAS QNAP.

Ve a App Templates y selecciona CentOS.

Crea el contenedor con la configuración predeterminada pulsando en el botón Deploy.

Creación del Usuario y Configuración de Privilegios


Accede al contenedor vía SSH: ssh admin@ lxc exec -- /bin/bash

En este punto tambien puedes acceder a la consola del contenedor directamente desde la interfaz de Container Station en Containers y pulsando sobre el contenedor que acabamos de lanzar. Cuando entres dentro del contendor Centos (o el nombre que le hayas dado al crearlo) arriba a la derecha hay un botón que pone Execute. Ese botón lanzará una terminal del contenedor directamente como usuario root.

Crea un nuevo usuario llamado dryant: useradd dryant passwd dryant

Añade el usuario dryant al grupo de superusuarios: usermod -aG wheel dryant

Configuración del Editor de visudo

Este paso es opcional y sirve para poder abrir visudo con el editor nano ya que por regla general este archivo se abre con el editor VIM y es mas confuso que el editor nano.

Instala nano: yum install nano -y

Cambia el editor predeterminado de visudo a nano: export EDITOR=nano

Edita el archivo visudo: visudo

Asegúrate de que el grupo whell tiene privilegios de superusuario comprobando que la siguiente linea esté en el archivo visudo. Si no está añadela al final del archivo visudo: %wheel ALL=(ALL) ALL

Instalación del Servidor LAMP


Actualiza el sistema: yum update -y

Instala Apache, MariaDB y PHP: yum install httpd mariadb-server php php-mysqlnd -y

Inicia y habilita los servicios: systemctl start httpd systemctl enable httpd systemctl start mariadb systemctl enable mariadb

Configura MariaDB: mysql_secure_installation

Durante este proceso, puedes optar por usar la autenticación unix_socket seleccionando Y.

Crea un archivo phpinfo.php para verificar la instalación de PHP: echo "" > /var/www/html/phpinfo.php

Abre tu navegador y accede a http://<IP_del_contenedor>/phpinfo.php para comprobar que PHP está funcionando correctamente.

Exportación del Contenedor a una Imagen

Cuando ya tenemos el contenedor funcionando perfectamente, lo que haremos será crear una imagen del mismo para que en posteriores ocasiones podamos lanzar directamente una instancia de nuestro contenedor ya configurado perfectamente. Para ello seguiremos estos pasos:

Detén el contenedor: lxc stop

Crea un snapshot del contenedor (opcional pero recomendado): lxc snapshot

Exporta el contenedor a una imagen: lxc publish / --alias

Verifica que la imagen se ha creado: lxc image list

Exporta la imagen a un archivo tarball: lxc image export /ruta/a/donde/quieres/guardar

Importación de la Imagen en Otro Sistema

Cuando queramos mover esa imagen a otro sistema solo tendremos que importarla para posteriormente crear otro contenedor.

Importa la imagen en otro sistema LXD: lxc image import /ruta/al/archivo.tar.gz --alias

Crea un nuevo contenedor a partir de la imagen importada: lxc launch

¡Y listo! Con estos pasos, podrás tener tu entorno de desarrollo LAMP listo en un contenedor LXC en tu NAS QNAP y exportarlo para usarlo en cualquier otro entorno.

Si tienes alguna pregunta o encuentras algún problema, no dudes en dejar un comentario.

Fuente: este post proviene de dryant.com, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Programación

Recomendamos