Cómo crear un contenedor LXC de CentOS en QNAP

por 11 Nov 2024Programación0 Comentarios

Contenedor-LXC-CentOS-QNAP
Compártelo en tus redes sociales. Gracias!

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

  1. Accede a Container Station en tu NAS QNAP.
  2. Ve a App Templates y selecciona CentOS.
  3. Crea el contenedor con la configuración predeterminada pulsando en el botón Deploy.

Creación del Usuario y Configuración de Privilegios

  1. 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.

  2. Crea un nuevo usuario llamado dryant:
    useradd dryant
    passwd dryant
  3. 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.

  1. Instala nano:
    yum install nano -y
  2. Cambia el editor predeterminado de visudo a nano:
    export EDITOR=nano
  3. Edita el archivo visudo:
    visudo
  4. 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

  1. Actualiza el sistema:
    yum update -y
  2. Instala Apache, MariaDB y PHP:
    yum install httpd mariadb-server php php-mysqlnd -y
  3. Inicia y habilita los servicios:
    systemctl start httpd
    systemctl enable httpd
    systemctl start mariadb
    systemctl enable mariadb
  4. Configura MariaDB:
    mysql_secure_installation

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

  5. Crea un archivo phpinfo.php para verificar la instalación de PHP:
    echo "" > /var/www/html/phpinfo.php
  6. 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:

  1. Detén el contenedor:
    lxc stop 
  2. Crea un snapshot del contenedor (opcional pero recomendado):
    lxc snapshot  
  3. Exporta el contenedor a una imagen:
    lxc publish / --alias 
  4. Verifica que la imagen se ha creado:
    lxc image list
  5. 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.

  1. Importa la imagen en otro sistema LXD:
    lxc image import /ruta/al/archivo.tar.gz --alias 
  2. 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.

Compártelo en tus redes sociales. Gracias!
<a href="https://dryant.com/author/dryant/" target="_self">dryant</a>

dryant

Webmaster de dryant.com

Informático, Maker, Inversor amateur, mente inquieta... Me encanta programar, esquiar, aprender, crear, bucear y jugar al baloncesto.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Pedro Blanch Bejarano.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a IONOS que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

¿Quieres acceder a contenido exclusivo?

¿Quieres acceder a contenido exclusivo?

Si te suscribes podrás recibir contenido exclusivo para suscriptores no accesible para el resto de usuarios. Solicita acceso ahora!

Has solicitado el acceso a la suscripción

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para fines de afiliación y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad