Índice del artículo
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
anano
: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.
0 comentarios