

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Paso 3: Agregar un almacén de datos de backend
<a name="gettingstarted-db"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

En[Paso 2.1: Crear una pila - Chef 11](gettingstarted-simple-stack.md) se vio cómo crear una pila que sirviera una aplicación PHP. Pero era una aplicación muy sencilla que hacía poco más que mostrar algunos textos estáticos. Las aplicaciones de producción suelen utilizar un almacén de datos de backend, con una configuración de pila similar a la que se ve en la siguiente ilustración.

![\[AWS OpsWorks stack architecture diagram showing PHP app, MySQL, and user interactions.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/php_walkthrough_arch_3.png)


En esta sección se muestra cómo ampliarlo MyStack para incluir un servidor de bases de datos MySQL de fondo. No basta con simplemente agregar un servidor MySQL a la pila. También debe configurar la aplicación para que se comunique correctamente con el servidor de bases de datos. OpsWorks Stacks no hace esto por ti; tendrás que implementar algunas recetas personalizadas para realizar esa tarea.

**Topics**
+ [Paso 3.1: Agregar una base de datos de backend](gettingstarted-db-db.md)
+ [Paso 3.2: Actualizar Simple PHPApp](gettingstarted-db-update.md)
+ [Una breve digresión: libros de cocina, recetas y atributos de las pilas OpsWorks](gettingstarted-db-recipes.md)
+ [Paso 3.3: Agrega los libros de cocina personalizados a MyStack](gettingstarted-db-cookbooks.md)
+ [Paso 3.4: Ejecutar las recetas](gettingstarted-db-lifecycle.md)
+ [Paso 3.5: Implemente SimplePHPApp, versión 2](gettingstarted-db-deploy.md)
+ [Paso 3.6: Ejecute de forma sencilla PHPApp](gettingstarted-db-run.md)

# Paso 3.1: Agregar una base de datos de backend
<a name="gettingstarted-db-db"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

La nueva versión de Simple PHPApp almacena sus datos en una base de datos interna. OpsWorks Stacks admite dos tipos de servidores de bases de datos:
+ La [capa MySQL OpsWorks Stacks](workinglayers-db-mysql.md) es un modelo para crear EC2 instancias de Amazon que alojen una base de datos maestra MySQL.
+ La capa del servicio Amazon RDS brinda la posibilidad de incorporar una [instancia de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) a una pila.

También puede utilizar otras bases de datos, como Amazon DynamoDB, o crear una capa personalizada para que se puedan usar bases de datos como [MongoDB](http://www.mongodb.org/). Para obtener más información, consulte [Uso de un almacén de datos de backend](customizing-rds.md).

En este ejemplo se utiliza una capa MySQL.

**Para añadir una capa MySQL a MyStack**

1. En la página **Layers (Capas)**, haga clic en **\$1 Layer (\$1 Capa)**.

1. En la página **Add Layer (Añadir capa)**, para **Layer type (Tipo de capa)**, seleccione **MySQL**, acepte los valores predeterminados y haga clic en **Add Layer (Añadir capa)**.  
![\[Add Layer interface for MySQL with options to set usuario raíz password and apply to all instances.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gsb3.png)

**Para agregar una instancia a la capa MySQL**

1. En la fila **MySQL** de la página **Layers**, haga clic en **Add an instance**.

1. En la página **Instances (Instancias)**, bajo **MySQL**, haga clic en **Add an instance (Añadir una instancia)**.

1. Acepte los valores predeterminados y haga clic en **Add instance (Añadir instancia)**, pero no la inicie todavía.

**nota**  
OpsWorks Stacks crea automáticamente una base de datos con el nombre corto de la aplicación, simplephpapp para este ejemplo. Necesitará este nombre si desea utilizar [recetas de Chef](http://docs.chef.io/recipes.html) para interactuar con la base de datos.

# Paso 3.2: Actualizar Simple PHPApp
<a name="gettingstarted-db-update"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Para empezar, necesitas una nueva versión de Simple PHPApp que utilice un almacén de datos interno. Con OpsWorks Stacks es sencillo actualizar una aplicación. Si utiliza un repositorio Git o Subversion, puede tener una ramificación de repositorio independiente para cada versión de la aplicación. La aplicación de ejemplo almacena una versión de la aplicación que utiliza una base de datos de backend en la ramificación version2 del repositorio Git. Solo tiene que actualizar la configuración de la aplicación para especificar la nueva ramificación y volver a implementar la aplicación.

**Para actualizar Simple PHPApp**

1. 

**Abrir la página de edición de la aplicación**

   En el panel de navegación, haga clic en **Aplicaciones** y, a continuación, en **Editar** en la columna **Acciones** de la PHPApp fila **Simple**.

1. 

**Actualizar la configuración de la aplicación**

   Cambie los siguientes valores de configuración.  
**Branch/Revision**  
Esta configuración indica la ramificación del repositorio de la aplicación. La primera versión de Simple PHPApp no se conectaba a una base de datos. Para utilizar una versión de la aplicación habilitada para bases de datos, establezca este valor en **version2**.  
**Document root (Raíz del documento)**  
Esta configuración especifica la carpeta raíz de la aplicación. La primera versión de Simple PHPApp utilizaba la configuración predeterminada, que se instala `index.php` en la carpeta raíz estándar del servidor (`/srv/www`para aplicaciones PHP). Si especificas una subcarpeta aquí (solo el nombre, sin '/'),OpsWorks Stacks la anexará a la ruta de la carpeta estándar. **La versión 2 de Simple PHPApp debería estar disponible, así que establece Document root en`/srv/www/web`.** **web**  
**Data source type (Tipo de origen de datos)**  
Esta configuración asocia un servidor de base de datos con la aplicación. El ejemplo usa la instancia de MySQL que creó en el paso anterior, por lo que defina **Tipo de fuente de datos** en OpsWorks e **Instancia de base** de datos en la instancia que creó en el paso anterior, **db-master1 (**mysql). Deja el **nombre de la base** de datos vacío; OpsWorks Stacks creará una base de datos en el servidor nombrado con el nombre abreviado de la aplicación, simplephpapp.

   A continuación, haga clic en **Save (Guardar)** para guardar la nueva configuración.  
![\[Add App form with settings for SimplePHP application and OpsWorks data source.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gsb2.png)

1. Inicie la instancia MySQL.

Después de actualizar una aplicación, OpsWorks Stacks implementa automáticamente la nueva versión de la aplicación en cualquier instancia nueva del servidor de aplicaciones cuando la inicias. Sin embargo, OpsWorks Stacks no implementa automáticamente la nueva versión de la aplicación en las instancias de servidor existentes; debes hacerlo manualmente, como se describe en. [Paso 2.4: Crear e implementar una aplicación - Chef 11](gettingstarted-simple-app.md) Puedes implementar el Simple actualizado PHPApp ahora, pero para este ejemplo, es mejor esperar un poco.

# Una breve digresión: libros de cocina, recetas y atributos de las pilas OpsWorks
<a name="gettingstarted-db-recipes"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Ahora tiene servidores de aplicaciones y de bases de datos, pero no están totalmente preparados para usarlos. Aún tienes que configurar la base de datos y los ajustes de conexión de la aplicación. OpsWorks Stacks no gestiona estas tareas automáticamente, pero sí admite libros de cocina, recetas y atributos dinámicos de Chef. Puedes implementar un par de recetas, una para configurar la base de datos y otra para configurar los ajustes de conexión de la aplicación, y hacer que OpsWorks Stacks las ejecute por ti.

El libro de recetas phpapp, que contiene las recetas necesarias, ya está implementado y listo para su uso; puede pasar a [Paso 3.3: Agrega los libros de cocina personalizados a MyStack](gettingstarted-db-cookbooks.md) si lo prefiere. Si desea profundizar en estos aspectos, en esta sección se proporciona información de referencia sobre los libros de recetas y las recetas, así como se describe cómo funcionan. Para ver el libro de recetas, vaya al [libro de recetas phpapp](https://github.com/amazonwebservices/opsworks-example-cookbooks/tree/master/phpapp).

**Topics**
+ [Recetas y atributos](#gettingstarted-db-recipes-attributes)
+ [Configurar la base de datos](#gettingstarted-db-recipes-dbsetup)
+ [Conectar la aplicación con la base de datos](#gettingstarted-db-recipes-appsetup)

## Recetas y atributos
<a name="gettingstarted-db-recipes-attributes"></a>

Una receta de Chef es básicamente una aplicación Ruby especializada que realiza tareas en una instancia, como instalar paquetes, crear archivos de configuración, ejecutar comandos de shell, etcétera. Los grupos de recetas relacionadas se organizan en *libros de recetas*, que también contienen archivos de apoyo, como son las plantillas para crear archivos de configuración.

OpsWorks Stacks tiene un conjunto de libros de cocina que admiten las capas integradas. También puede crear libros de recetas personalizados con sus propias recetas para llevar a cabo tareas personalizadas en las instancias. En este tema se ofrece una breve introducción a las recetas y se muestra cómo utilizarlas para configurar la base de datos, así como la conexión de la aplicación. Para obtener más información acerca de los libros de recetas y las recetas, consulte [Cookbooks and Recipes](workingcookbook.md) o [Personalizar Stacks OpsWorks](customizing.md).

Las recetas suelen depender de los *atributos* de Chef para los datos de entrada: 
+ Algunos de estos atributos los define Chef y proporcionan información básica sobre la instancia, como, por ejemplo, el sistema operativo. 
+ OpsWorks Stacks define un conjunto de atributos que contienen información sobre la pila (por ejemplo, las configuraciones de las capas) y sobre las aplicaciones implementadas (como el repositorio de aplicaciones).

  Puede añadir atributos personalizados a este conjunto asignando [JSON personalizado](workingstacks-json.md) a la pila o a la implementación.
+ En los libros de recetas también se pueden definir atributos específicos del libro. 

  Los atributos del libro de recetas phpapp se definen en `attributes/default.rb`.

Para obtener una lista completa de los atributos de Stacks, consulta y. OpsWorks [Atributos de configuración e implementación de pila: Linux](attributes-json-linux.md) [Atributos integrados de los libros de recetas](attributes-recipes.md) Para obtener más información, consulte [Anulación de atributos](workingcookbook-attributes.md).

Los atributos se organizan en una estructura jerárquica que se puede representar como un objeto JSON.

Estos datos se incorporan en la aplicación con la sintaxis de nodos de Chef, así:

```
[:deploy][:simplephpapp][:database][:username]
```

El nodo `deploy` tiene un único nodo de aplicación, `simplephpapp`, que contiene información sobre la base de datos, el repositorio Git, etcétera. El ejemplo representa el valor del nombre de usuario de la base de datos, que se resuelve como `root`.

## Configurar la base de datos
<a name="gettingstarted-db-recipes-dbsetup"></a>

Las recetas de configuración integradas de la capa MySQL crean una base de datos automáticamente para la aplicación que lleva el nombre abreviado de la aplicación. En este ejemplo ya tiene una base de datos llamada simplephpapp. No obstante, debe terminar la configuración creando una tabla para que la aplicación almacene los datos. Puedes crear la tabla manualmente, pero lo mejor es implementar una receta personalizada para gestionar la tarea y dejar que OpsWorks Stacks la ejecute por ti. En esta sección se describe cómo se implementa la receta `dbsetup.rb`. El procedimiento para que OpsWorks Stacks ejecute la receta se describe más adelante.

Para ver la receta en el repositorio, vaya a [dbsetup.rb](https://github.com/amazonwebservices/opsworks-example-cookbooks/blob/master/phpapp/recipes/dbsetup.rb). En el siguiente ejemplo se muestra el código de `dbsetup.rb`. 

`execute` es un *recurso de Chef* que ejecuta un comando especificado. En este caso, se trata de un comando MySQL que crea una tabla. La directiva `not_if` garantiza que el comando no se ejecute si la tabla especificada ya existe. Para obtener más información acerca de los recursos de Chef, consulte la página sobre [recursos y proveedores](https://docs.chef.io/resource.html).

La receta inserta los valores de atributo en la cadena de comandos utilizando la sintaxis de nodo que se ha comentado anteriormente. Por ejemplo, lo siguiente inserta el nombre de usuario de la base de datos.

```
#{deploy[:database][:username]}
```

Vamos a descifrar este código un tanto críptico:
+ En cada iteración, `deploy` está establecido en el nodo actual de la aplicación, por lo que se resuelve como `[:deploy][:app_name]`. En este ejemplo, se resuelve como `[:deploy][:simplephpapp]`.
+ Utilizando los valores de los atributos de implementación mostrados anteriormente, el nodo completo se resuelve como `root`.
+ Encapsule el nodo entre \$1 \$1\$1 para insertarlo en una cadena.

El resto de los nodos se resuelven, en su mayoría, de forma similar. La excepción es `#{node[:phpapp][:dbtable]}`, que lo define el archivo de atributos del libro de recetas personalizado y se resuelve como el nombre de la tabla, `urler`. Por consiguiente, el comando que se ejecuta en la instancia de MySQL es:

```
"/usr/bin/mysql 
    -uroot
    -pvjud1hw5v8
    simplephpapp
    -e'CREATE TABLE urler(
       id INT UNSIGNED NOT NULL AUTO_INCREMENT,
       author VARCHAR(63) NOT NULL,
       message TEXT,
       PRIMARY KEY (id))'
"
```

Este comando crea una tabla llamada `urler`, con campos de ID, autor y mensaje, y donde se utilizan las credenciales y el nombre de la base de datos obtenidos de los atributos de implementación.

## Conectar la aplicación con la base de datos
<a name="gettingstarted-db-recipes-appsetup"></a>

La segunda parte del rompecabezas es la aplicación, que necesita información de conexión, por ejemplo, la contraseña de la base de datos, para obtener acceso a la tabla. PHPApp Efectivamente, Simple solo tiene un archivo de trabajo`app.php`; todo `index.php` lo que tiene que hacer es cargar`app.php`. 

`app.php` incluye `db-connect.php`, que gestiona la conexión con la base de datos, pero ese archivo no está en el repositorio. No puede crear `db-connect.php` con antelación, ya que define la base de datos en función de la instancia concreta. En lugar de esto, la receta `appsetup.rb` genera `db-connect.php` utilizando los datos de conexión de los atributos de implementación.

Para ver la receta en el repositorio, vaya a [appsetup.rb](https://github.com/amazonwebservices/opsworks-example-cookbooks/blob/master/phpapp/recipes/appsetup.rb). En el siguiente ejemplo se muestra el código de `appsetup.rb`. 

Al igual que `dbsetup.rb`, `appsetup.rb` itera el procedimiento en las aplicaciones del nodo `deploy` (de nuevo, solo simplephpapp). Ejecuta un bloque de código con un recurso `script` y un recurso `template`.

El recurso `script` instala [Composer](http://www.getcomposer.org), un administrador de dependencias para aplicaciones PHP. A continuación, ejecuta el comando `install` de Composer para instalar las dependencias de la aplicación de muestra en el directorio raíz de la aplicación.

El recurso `template` genera `db-connect.php` y lo pone en `/srv/www/simplephpapp/current`. Tenga en cuenta lo siguiente:
+ La receta utiliza una declaración condicional para especificar el propietario del archivo, que depende del sistema operativo de la instancia.
+ La directiva `only_if` indica a Chef que genere la plantilla únicamente si el directorio especificado ya existe.

Un recurso `template` opera en una plantilla que tiene básicamente el mismo contenido y estructura de archivos que el archivo asociado, pero incluye marcadores de posición para varios valores de datos. El parámetro `source` especifica la plantilla, `db-connect.php.erb`, que está en el directorio `templates/default` del libro de recetas phpapp y contiene lo siguiente:

Cuando Chef procesa la plantilla, sustituye los marcadores de posición `<%= =>` por el valor de las variables correspondientes en el recurso de plantilla, que a su vez, se extraen de los atributos de implementación. De este modo, el archivo generado es:

# Paso 3.3: Agrega los libros de cocina personalizados a MyStack
<a name="gettingstarted-db-cookbooks"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Puede almacenar libros de recetas en un repositorio, muy similar a lo que se hace con las aplicaciones. Cada pila puede tener un repositorio que contiene un conjunto de libros de recetas personalizados. Luego, le indicas a OpsWorks Stacks que instale tus libros de cocina personalizados en las instancias de la pila.

1. Haga clic en **Stack (Pila)** en el panel de navegación para ver la página de la pila actual.

1. Haga clic en **Stack Settings (Configuración de pila)** y, a continuación, haga clic en **Edit (Editar)**. 

1. Modifique la configuración de la pila de la siguiente manera:
   + **Utilizar libros de recetas de Chef personalizados**: **Sí**
   + **Tipo de repositorio**: **Git**
   + **URL de repositorio** - **git://github.com/amazonwebservices/opsworks-example-cookbooks.git**

1. Haga clic en **Save (Guardar)** para actualizar la configuración de la pila.  
![\[Configuration options for custom Chef cookbooks with Git repository settings.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gsb6.png)

OpsWorks Luego, Stacks instala el contenido de tu repositorio de libros de cocina en todas las instancias de la pila. Si creas instancias nuevas, OpsWorks Stacks instala automáticamente el repositorio de libros de cocina.

**nota**  
Si necesitas actualizar alguno de tus libros de cocina o añadir nuevos libros de cocina al repositorio, puedes hacerlo sin tocar la configuración de la pila. OpsWorks Stacks instalará automáticamente los libros de cocina actualizados en todas las instancias nuevas. Sin embargo, OpsWorks Stacks no instala automáticamente los libros de cocina actualizados en las instancias en línea de la pila. Debes indicar explícitamente a OpsWorks Stacks que actualice los libros de cocina ejecutando el comando stack. `Update Cookbooks` Para obtener más información, consulte [Ejecución de comandos de pila](workingstacks-commands.md).

# Paso 3.4: Ejecutar las recetas
<a name="gettingstarted-db-lifecycle"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Una vez que tiene el libro de recetas personalizado, debe ejecutar las recetas en las instancias adecuadas. Podría [ejecutarlas manualmente](workingcookbook-manual.md). Pero normalmente las recetas se ejecutan en puntos predecibles del ciclo de vida de una instancia; por ejemplo, después del arranque o cuando se implementa una aplicación. En esta sección, se describe un enfoque mucho más simple: OpsWorks haz que Stacks las ejecute automáticamente en el momento adecuado.

OpsWorks Stacks admite un conjunto de [eventos del ciclo de vida](workingcookbook-events.md) que simplifican la ejecución de recetas. Por ejemplo, el evento Setup tiene lugar después de que una instancia termine de arrancar, y el evento Deploy se activa cuando se implementa una aplicación. Cada capa tiene un conjunto de recetas integradas asociadas a cada evento del ciclo de vida. Cuando se produce un evento del ciclo de vida de una instancia, el agente ejecuta las recetas asociadas para cada capa de la instancia. Para que OpsWorks Stacks ejecute una receta personalizada automáticamente, agrégala al evento del ciclo de vida correspondiente en la capa correspondiente y el agente ejecutará la receta una vez terminadas las recetas integradas.

Para este ejemplo, necesitas ejecutar dos recetas, `dbsetup.rb` en la instancia My SQLinstance y `appsetup.rb` en la instancia de PHP App Server.

**nota**  
Las recetas se especifican en la consola mediante el *recipe\$1name* formato*cookbook\$1name*::, donde *recipe\$1name* no se incluye la extensión.rb. Por ejemplo, para hacer referencia a `dbsetup.rb` se indica **phpapp::dbsetup**.

**Para asignar recetas personalizadas a eventos del ciclo de vida**

1. En la página **Capas**, para MySQL, haga clic en **Recetas** y, a continuación, haga clic en **Editar**.

1.  En la sección **Custom Chef recipes (Recetas de Chef personalizadas)**, introduzca [**phpapp::dbsetup**](gettingstarted-db-recipes.md#gettingstarted-db-recipes-dbsetup) en **Deploy (Implementar)**.   
![\[Custom Chef recipes section with Repository URL and three configuration steps.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gsb6a.png)

1. Haga clic en el icono **\$1** para asignar la receta al evento y haga clic en **Save (Guardar)** para guardar la nueva configuración de la capa.

1. Vuelva a la página **Capas** y repita el procedimiento para asignar **phpapp::appsetup** al evento **Implementar** de la capa de **Servidor de aplicaciones PHP**.

# Paso 3.5: Implemente SimplePHPApp, versión 2
<a name="gettingstarted-db-deploy"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

El último paso es implementar la nueva versión de Simple. PHPApp

**Para implementar Simple PHPApp**

1. En la página de **aplicaciones**, haz clic en **implementar** en las **acciones** de la PHPApp aplicación **simple**.  
![\[Apps page showing SimplePHPApp with deploy, edit, and delete options in the Actions column.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gsb6aa.png)

1. Acepte los valores predeterminados y haga clic en **Deploy (Implementar)**.  
![\[Deploy App interface with settings for SimplePHPApp and instance selection options.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gs17a.png)

   Cuando hace clic en **Deploy (Implementar)** en la página **Deploy app (Implementar aplicación)**, se activa un evento Deploy del ciclo de vida que notifica a los agentes que ejecuten las recetas de implementación. De forma predeterminada, el evento se activa en todas las instancias de la pila. Las recetas de implementación integradas implementan la aplicación solo en el tipo de instancias adecuadas de la aplicación, en este caso, las instancias del servidor de aplicaciones PHP. No obstante, a menudo es útil activar el evento Deploy en otras instancias para permitir que respondan a la implementación de la aplicación. En este caso, también conviene activar el evento Deploy (Implementar) en la instancia de MySQL para configurar la base de datos. 

   Tenga en cuenta lo siguiente:
   + El agente de la instancia del servidor de aplicaciones PHP ejecuta la receta integrada de la capa, seguida de `appsetup.rb`, que configura la conexión de la base de datos de la aplicación.
   + El agente de la instancia de MySQL no instala nada, pero ejecuta `dbsetup.rb` para crear la tabla urler.

   Cuando se termina la implementación, el valor de **Status (Estado)** cambia a **successful (correcto)** en la página **Deployment (Implementación)**.

# Paso 3.6: Ejecute de forma sencilla PHPApp
<a name="gettingstarted-db-run"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Cuando el estado del despliegue cambie a **correcto**, puedes ejecutar la nueva PHPApp versión Simple de la siguiente manera.

**Para ejecutar Simple PHPApp**

1. En la página **Instances (Instancias)**, haga clic en la dirección IP pública de la fila **php-app1**.

   Debería ver la página siguiente en el navegador.  
![\[Text input field labeled "Your Thoughts" with a "Share Your Thought" button above.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gsb7.png)

1. Haga clic en **Share Your Thought (Comparta lo que piensa)** y escriba algo como **Hello world\$1** en **Your Thought (Lo que piensa)** y su nombre en **Your Name (Su nombre)**. A continuación, haga clic en **Submit Your Thought (Enviar lo que piensa)** para agregar el mensaje a la base de datos.  
![\[Form with success message, text input fields for thought and name, and submit buttons.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gsb8.png)

1. Haga clic en **Go Back (Volver)** para ver todos los mensajes de la base de datos.