Una de las mayores ventajas de Ubuntu es la simplicidad del sistema de paquetes APT. Encuentra el programa de escritorio que desea, emite un comando y está listo para ejecutarse. Sin embargo, para la aplicación del lado del servidor, esta instalación de APT a veces solo instala los archivos que necesitará para ejecutar el programa; deberá configurar y ejecutar el programa (a menudo un servicio o demonio) usted mismo. Pero el sistema juju tiene como objetivo hacer que el acceso a los programas basados en servidor sea tan simple como los del escritorio. Aquí se explica cómo usarlo.
Instalación y configuración inicial
Configurar juju es un poco más complicado que, por ejemplo, instalar una pila LAMP usando tasksel, ya que está diseñado para entornos en la nube. Primero, necesitaremos instalar juju y sus dependencias:
sudo apt-get install juju libvirt-bin lxc apt-cacher-ng libzookeeper-java zookeeper
Nota: si bien hay una versión de juju en los repositorios de Universe para Precise, el equipo de «hackers de Juju» tiene algunos PPA con versiones actualizadas. Usaré la versión de los repositorios.
Una vez que esto se complete, deberá generar una clave SSH para su servidor, si aún no tiene una:
Por último, su usuario deberá ser un grupo asociado con el demonio de virtualización libvirtd:
sudo usermod -a -G libvirtd [your username]
Esto se debe a que su entorno juju es en realidad un entorno virtual de Ubuntu dentro de su máquina actual. A continuación, deberá iniciar el proceso de «arranque», donde se descarga e instala este entorno virtual:
¡Ups! Nos falta un archivo de configuración… afortunadamente, juju al menos ha creado una muestra para nosotros. Con el editor de texto de su elección, edite el archivo ~/.juju/environments.yaml para que coincida con lo siguiente:
default: wordpress environments: wordpress: type: local admin-secret: [create a unique phrase here] default-series: precise data-dir: /home/[your username]/[a directory you choose]
Ahora, si puede desconectar el servidor, reiniciar garantizará que todos los servicios se inicien correctamente. Vamos a buscar algunos amuletos.
Instalación y ejecución de encantos
Como se mencionó, los Charms son similares a los paquetes APT, pero también se enfocan en todas las cosas que deben suceder para que un servicio funcione. Implementaremos una instancia de WordPress como ejemplo aquí con el siguiente comando:
Ahora deberíamos poder ir a la dirección IP de nuestro servidor y comenzar a bloguear… podemos confirmar que WordPress se está ejecutando con el siguiente comando:
Pero espera, ¡aquí hay un error! Esto se debe a que juju no maneja automáticamente las dependencias. WordPress requiere una base de datos MySQL para trabajar, y esto no se instaló automáticamente. Vamos a configurar esto:
Ahora necesitamos conectar los dos juntos:
juju add-relation wordpress mysql
Por último, hagámoslo visible para el mundo:
En este punto llega la parte más difícil del proceso: la paciencia. Si bien estos comandos parecerán haberse completado, en realidad habrá una buena cantidad de cosas sucediendo en segundo plano, específicamente, la descarga, instalación y configuración del entorno «virtual» de Ubuntu. Verá dos listados debajo de «servicios:» cuando emite el juju status
comando, uno llamado «wordpress» (esta es la instancia real de WordPress) y «mysql» (esta es la instancia de MySQL). Debajo de cada uno, hay una línea de «estado de agente», que probablemente dirá «pendiente». También puede escuchar que su disco duro se agita… está bien, son solo muchos paquetes que se están instalando (verifique los resultados de ps ax
para ver algo de lo que está pasando).
Basta con decir que deberá esperar hasta que ambos servicios indiquen «agente-estado: iniciado». Continúe utilizándolo juju status
para comprobar el progreso. Una vez que ambos se inician, puede ver su instalación de WordPress visitando la dirección IP que figura en la línea de «dirección pública» de la salida de juju status
(el mío era https://10.0.3.66).