Desplegar un servidor LAMP con chef

Home  /  Chef  /  Desplegar un servidor LAMP con chef

Desplegar un servidor LAMP con chef

No votes yet.
Please wait...

La idea de este post es desplegar un servidor LAMP con chef sin crear ningún cookbook.

Utilizaremos los cookbooks que el  supermarket de opscode nos ofrece. Para comenzar tendremos que descargar los cookbooks que necesitamos para poder desplegar el servidor, ya que el nodo de destino debería tener instalado el cliente de chef por medio del proceso de bootstraping. Para descargar los cookbook utilizaremos knife desde nuestro workstation de la siguiente forma:

Teniendo descargado los cookbooks los subimos al servidor de chef:

Ahora creamos un rol en chef server llamado LAMP, es importante que este configurado el editor en el archivo knife.rb, al final de este post se ve como agregarlo.

y agregamos lo siguiente en el editor que nos abrió:

En la configuración agregamos las recetas que queremos que ejecute y hacemos un override del atributo server_root_password para definir el password de mysql.

Ahora tenemos que asignarle el rol a nuestro nodo en mi caso chef-node01.localdomain

y ejecutamos el rol en el nodo:

Finalizada la ejecución podemos verificar los servicios corriendo, pero si cargamos en un browser la ip del server donde desplegamos no se esta sirviendo nada. Por defecto el cookbook apache2 trae des-habilitado el default site. Para habilitarlo tenemos que sobreescribir los atrributos del cookbook,

y agregamos en el contexto override_attributes

Volvemos a ejecutar la receta, veremos que se ejecutara mas rápido, ya que están todos los pasos realizados y solo se ejecuta los necesario para habilitar el default site de apache.

Ya podemos acceder al default site localmente desde el node pero remotamente nos bloquea el iptables. Vamos a agregar un cookbook para manejar el iptables.

ya llegamos a ver el error de apache de que no tenemos permisos!! éxito el apache esta sirviendo!!, tenemos instalado nuestro server LAMP con chef

Por ultimo como podemos administrar nuestra base de datos mysql??, PHPMyAdmin!!! El cookbook de phpmyadmin no pertenecen al supermarket de opscode, tenemos que bajarlo de github, para realizar esta tarea hay un plugins de knife  que nos facilita la tarea, en este post se detalla como instalarlo.

Descargamos las dependencias, actualizamos los cookbook en el server y editamos el rol agregando la receta de phpmyadmin y atributo para defnir el password.

ejecutamos nuevamente el rol en el nodo:

Ya tenemos phpmyadmin instalado y funcionando, por seguridad phpmyadmin solo recibe peticiones desde la ip 127.0.0.1 o desde localhost. Esto significa que solo se puede acceder a la aplicación desde el nodo donde la instalamos, para corregir esto tenemos que modificar el cookbook, pero eso es tema para otro post.

 

Deja un comentario

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