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

Relacionado

Linux

Si ha administrado un servidor Linux anteriormente, estará familiarizado con la pila LAMP (Linux, Apache, MySQL, PHP) comúnmente utilizada. Sin embargo, Apache, MySQL y PHP a veces pueden ser intensivos en recursos y pueden no ser los mejores para su servidor. En este tutorial, vamos a reemplazar todas y cada una de las partes de la pila, excepto Linux, con una alternativa mejor – Nginx, Mar ...

Linux

Los contenedores son útiles por muchas razones. Aíslan las aplicaciones del resto del sistema. Son portátiles y fáciles de clonar y/o trasladar a otros sistemas operativos. Y, en el caso de Linux, funcionan de la misma manera bajo cualquier distribución, sin necesidad de adaptaciones. Si necesita mover un contenedor de RedHat a Ubuntu, debería ser una simple operación de copia. Docker es una soluc ...

Linux

¿Alguna vez ha querido acceder a sus fotos desde cualquier lugar a través de la Web, pero no ha querido suscribirse a soluciones patentadas como Google Photos, Photo Bucket, etc.? Presentamos Lychee , una herramienta autohospedada que permite a los usuarios gestionar, subir y catalogar sus grandes colecciones de fotos. Funciona en cualquier servidor web que tenga Apache2 (o NGINX), PHP y MySQL. En ...

Programación Apache mac ...

Si desarrollas páginas web, es posible que uses un servidor local del tipo XAMP, MAMP, WAMP, etc… El uso de un servidor local, además de ser necesario para procesar el código PHP, nos permite trabajar cómodamente en nuestro ordenador, y una vez terminado el trabajo a desarrollar, subir el proyecto realizado a un servidor VPS, dedicado o hosting compartido, para que pase a estar accesible par ...

Linux

Desde hace tiempo el kernel de Linux soporta oficialmente el controlador de Microsoft Xbox One. Dicho esto, el apoyo no es el mejor. Para empezar, hay algunos ajustes que se podrían hacer, así como la capacidad de soporte para múltiples controladores y más. En este artículo te mostraremos cómo configurar un controlador de Xbox One en Ubuntu. Para ser más específicos, repasaremos cómo usar el contr ...

Linux

Hay muchas maneras diferentes de crear diapositivas para una presentación en Linux. Puede utilizar OpenOffice, LibreOffice o incluso Microsoft Office (a través de Wine). Su presentación completa será un archivo.odp (formato OpenDocument) o.ppt (formato Powerpoint), que usted utiliza a través de las suites mencionadas anteriormente (o una aplicación de visualización) para realizar su presentación. ...

MKVToolnix es una suite de aplicaciones para trabajar con archivos de vídeo y audio de Matroska. la última versión, v8.1.0, lanzada el 27 de junio de 2015, viene bajo el nombre más respetable de «Psychedelic Postcard». Incluye herramientas para editar archivos de Matroska, extraer información de ellos o empaquetar muchos otros formatos de vídeo en un contenedor de Matroska. ¿Qué es Matro ...

Linux

Si tuviera que describir una de las tendencias actuales de Linux en los últimos tiempos, serían los escritorios ligeros. Se ha generado mucho interés en torno a proyectos que crean una experiencia de escritorio Linux que tiene la capacidad de funcionar de forma más ligera en su máquina. Quizás el más notable es el proyecto Mate. Si no lo sabe, aquí tiene un resumen rápido. Mate es el sucesor espir ...

Linux

Una de las mejores características que tienen los entornos de escritorio y los administradores de ventanas es la posibilidad de programar ciertos programas para que se abran tan pronto como inicie sesión. Configure esto y su sesión de Linux estará lista para usar en el momento. Así que, ¿cómo hacer que los programas se inicien automáticamente al iniciar sesión con el administrador de ventanas de T ...

Linux

Un archivo.desktop es simplemente un acceso directo que se utiliza para iniciar una aplicación en Linux. Sin el archivo.desktop, su aplicación no aparecerá en el menú Aplicaciones y no podrá iniciarla con lanzadores de terceros como Synapse y Albert. La mayoría de las aplicaciones, una vez instaladas, crearán el archivo.desktop automáticamente y se ubicarán en el menú Aplicación para un acceso ráp ...