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

Este artículo forma parte de la serie Guía del servidor Apache : Securing Apache on Ubuntu – Part 1 Securing Apache on Ubuntu – Part 2 Optimización del rendimiento de Apache – Parte 1 Optimizando el rendimiento de Apache – Parte 2 Setting Up Name-Based Virtualhost Apache Configuración de IP y Port-Based Virtualhost en Apache Cómo configurar el directorio web de protecc ...

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

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

Como usuario de Linux probablemente esté familiarizado con cron. Ha funcionado como el planificador de trabajos basado en el tiempo de Unix durante muchos años. Ahora muchos usuarios están viendo que los temporizadores Systemd comienzan a reemplazar el dominio de cron. Este artículo discutirá los conceptos básicos de cómo configurar su propio temporizador y asegurarse de que esté funcionando corre ...

Linux

Si ha visto nuestro artículo en usando el archivo hosts en Windows y está usando Linux en lugar de Windows, puede que se pregunte cómo hacer exactamente lo mismo en Linux. Bueno, estás de suerte. Estos son los pasos exactos para usar el archivo de hosts en Linux. En Linux y otros sistemas basados en Unix, incluyendo los BSDs y Mac OS X, se encuentra en «/etc/hosts», y funciona casi exact ...

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

Linux

¿Alguna vez has querido ejecutar un script al iniciar con privilegios de root? Si usted tiene un servidor en casa, o tal vez sólo un escritorio Linux, esto podría haber pasado por su mente. Esto suena dudoso, pero si usted entiende los riesgos, la recompensa por hacer esto puede ser bastante buena. Las razones principales son que no habrá más arranques del servidor, inicio de sesión sobre ssh, int ...