Base de conocimientos  /  Cloud Application Manager  /  Tutoriales
Base de conocimientos  /  Cloud Application Manager  /  Tutoriales

Tutorial sobre LAMP Stack

Updated by Modified by Arya Roudi, Gavin Lai on Sep 09, 2019
Código del artículo: kb/405

En este artículo:

Resumen

Tutorial sobre LAMP Stack En este tutorial, usted configura e implementa una aplicación LAMP Stack simple de dos niveles Apache, PHP, MySQL. Configura la aplicación y… Configura los niveles de la aplicación y la base de datos por separado y los conecta con una unión.
Todo el inicio rápido tarda 0 minutos o menos en completarse. Hacia el final, estará camino a definir e implementar aplicaciones de varios niveles en Cloud Application Manager.

Requisitos previos


Definir el nivel de base de datos de LAMP Stack

Definir la política para MySQL

Para que la base de datos esté disponible en el servidor apache, tendremos que hacer la configuración de la política. En este tutorial pondríamos todas las instancias en el mismo VPC.

Vaya a la página Boxes (casillas), puede encontrarla en el menú de la izquierda. Ahora haga clic en New (nuevo) para crear una casilla nueva, elija la política de implementación del menú y luego CloudFormation. Después elija el proveedor del menú de proveedores y guárdelo.

nueva casilla para políticas de implementación

Después de guardar, será direccionado a la página de la política de implementación creada. Haga clic en la pestaña Code (código), luego en el ícono de lápiz de la sección de detalles para editarla y elegir la región como: eu-west-0. ue-oeste-1. Cuando haya terminado, haga clic en Save (guardar).

agregue la región a la casilla para políticas de implementación

Definir la política de implementación para la script box LAMP

Si ya ha registrar una cuenta de AWS debe tener tres cajas de políticas en Cajas menú: default-large-us-east-1, default-medium-us-east-1 y default-small-us-east-1.

Haga clic en el menú desplegable de herramientas default-small-us-east-0 (ícono de engranaje) y haga clic en Clone Box (clonar casilla).

clonar una casilla

En la ventana emergente, defina el nombre de la casila nueva como "default-vpc-eu-west-0" y guarde.

Seleccione la nueva casilla. En la pestaña Code (código), edite la política. Defina Region (región) en Resource (recurso), Network Type (tipo de red) en Placement (ubicación) y Security Groups (grupos de seguridad) en Network (red) para tener los mismos valores que la casilla mySql. En este tutorial, usamos el grupo de seguridad "eu-west-0", "vpc-1cee" y "Automatic" (automático).

resumen de la política de implementación

Definir el nivel de la aplicación LAMP Stack

Paso 1. Paso 0. Cree una casilla LAMP Stack

En la página Boxes (casillas), haga clic en New (nueva) > Script (secuencia). Nombre la pila LAMP. Llámela LAMP Stack. Debido a que LAMP necesita Linux, ponga esa etiqueta bajo Requirements (Requisitos). Guárdelo. Guarde. De manera optativa, cargue un ícono a juego para identificar más fácilmente la casilla en el catálogo.

Nueva script box

Paso 2. Paso 0. Indique una relación con el nivel de base de datos con un enlace

En la pestaña Code (Código), en Variables, haga clic en New (Nuevo). Seleccione Binding (Enlace). Llámelo mysqlservice y enlácelo a la casilla MySQL DB que creó anteriormente.

Nota: Nota: Los nombres de las variables distinguen entre mayúsculas y minúsculas, por eso debe usar el nombre exacto proporcionado.

En esta etapa, está seleccionando una casilla y no una instancia real para el enlace. Seleccionará la instancia real al momento de la implementación.

Guarde cuando termine de crear la variable.

Agregar una variable del enlace

Paso 3. Paso 0. Permita tráfico hacia y desde el nivel de la aplicación con una variable de puerto

En la pestaña Code (Código), en Variables, haga clic en New (Nuevo). Seleccione Port (Puerto). Llámelo HTTP y ponga 0 como el valor.

Guarde cuando termine de crear la variable.

Agregar variable de puerto

Paso 0 Paso 0: Agregue datos para la base de datos utilizando una variable de archivo

Copie y pegue el siguiente código en un archivo de texto sin formato. Guárdelo como Create_Sample_Database.sql. Note la extensión .sql.

CREATE DATABASE sampledb;
USE sampledb;
CREATE TABLE users (first_name VARCHAR(20),  last_name VARCHAR(20), address VARCHAR(20), login VARCHAR(20), password_hash VARCHAR(20));
INSERT INTO users VALUES ('Antony','Kornings','1850, Las Ramblas','antonyk', 'e22c2d3bf2a5557cb971');
INSERT INTO users VALUES ('Diana','Krallz','850, El camino','dianak', 'f2a5557e22c2d3bcb971');
INSERT INTO users VALUES ('Edgard','Boxer','100, Alpine Street','edgardb', 'e25557cb9712c2d3bf2a');
INSERT INTO users VALUES ('Nathaniel','Cold','55, Elm Street','nathanielc', '7cb971e22c2d3bf2a555');
INSERT INTO users VALUES ('Michael','Snow','88, Alamo Road','dianak', 'd3bf2a5557ce22c2b971');

En la pestaña Code (Código) de la casilla LAMP, en Variables, haga clic en New (Nuevo). Seleccione File (Archivo). Llámelo SQL_SCRIPT y cargue el archivo que guardó. Este archivo será enviado a la base de datos al momento de la implementación.

Agregar archivo SQL como variable

Paso 0 Paso 0. Anide la casilla GitHub predeterminada para instalar PHP desde GitHub

En la pestaña Code (Código), bajo Variables, haga clic en New (Nuevo). Seleccione Box (Casilla). Llámela GIT_HUB y elija la casilla predeterminada GitHub como el valor.

Guarde cuando termine de crear la variable.

Agregar variable de github

Ahora configure la casilla predeterminada GitHub para que despliegue scripts PHP al momento de la implementación. Expanda la casilla GitHub y la variable de casilla interior llamada git_repo. En el contexto de la casilla LAMP Stack, edite la variable "clone URL" y establezca su valor como se ve a continuación:

Agregar url para clonar github

CLON_URL: CLONE_URL: https://github.com/ElasticBox/Easy-PHP-MySQL.git

resumen de variables de script box

Paso 0 Paso 0. Agregue eventos para instalar el nivel de la aplicación LAMP stack.

Bajo Events (Eventos) > install (instalar), haga clic en install.

eventos de scriptbox

Copie y pegue el siguiente código en el diálogo de instalación del evento, luego guarde.

#!/bin/bash
# To ensure that all of your software packages are up to date, perform a quick software update on your instance.
# This process may take a few minutes, but it is important to make sure you have the latest security updates and bug fixes.
# We use the -y option that installs the updates without asking for confirmation.
yum update -y
# Install the Apache web server, MySQL, and PHP software packages.
# We use the yum groupinstall command to install multiple software packages and all related dependencies at the same time.
yum groupinstall -y "Web Server" "MySQL Database" "PHP Support"
# Install the php-mysql package
yum install -y php-mysql
yum install -y mysql-utilities.noarch
yum install -y mysql
# Start the Apache web server
service httpd start
# Configure the Apache web server to start at each system boot
chkconfig httpd on
# This is only to show the configuration for this sample.
# Verify that httpd is on by running:
chkconfig --list httpd
# This should output something similar to the next line, showing httpd is on in runlevels 2, 3, 4, and 5:
# httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
# To test your LAMP web server
# Create a simple PHP file in the Apache document root.
echo "" > /var/www/html/phpinfo.php
curl http://127.0.0.1/phpinfo.php
# You should see the PHP information page in the output of the install script
# Delete the phpinfo.php file. Although this can be useful information to you, it should not be broadcast to the Internet for security reasons.
rm /var/www/html/phpinfo.php

Paso 0 Paso 0. Agregue eventos que conecten los niveles utilizando el enlace

Bajo Events (Eventos) > configure (configurar), haga clic en configure. Copie y pegue el siguiente código y guarde. Esto coloca un PHP en el directorio raíz del servidor web Apache y activa el comando de configuración de Cloud Application Manager dentro de un comando de concatenación para ejecutar el script PHP. Esto también obtiene credenciales (dirección IP pública, puerto, nombre de usuario y contraseña) de MySQL Database Service a través del enlace.

 #!/bin/bash
# In configuration Script there is available ip, and variables of the bindings we will show them for this sample (public or private address can be used depending on the configuration).
echo 
echo 
echo 
echo 
cp Easy-PHP-MySQL/index.php /var/www/html
elasticbox config -i Easy-PHP-MySQL/db_connect.php -o /var/www/html/db_connect.php

Bajo Events (Eventos) > start (comenzar), haga clic en start. Copie y pegue el siguiente código y guarde. Aquí, el comando cURL se conecta al servidor de la base de datos utilizando las credenciales de base de datos de las credenciales del enlace y descarga el archivo que subió en el paso 0. El script en el archivo crea una base de datos con datos de muestra. El script del archivo crea una base de datos con datos de muestra.

 #!/bin/bash

    # In start script the bindings are ready for use

    curl -ks $SQL_SCRIPT | mysql --host= --port= --user= --password=

¡Ay! ¡Muy bien! Acaba de definir una aplicación simple de LAMP Stack y conectó sus niveles con un enlace.


Implemente la aplicación LAMP Stack

Para implementar la aplicación, necesita AWS como proveedor porque estamos utilizando el servicio de base de datos de AWS CloudFormation RDS.  Aquí implementará cada nivel en la misma región en EC0.

Nota: Nota: AWS podría cobrar por las instancias que usted implementa. Así que tras la implementación, asegúrese de cerrar todas las instancias de Cloud Application Manager para evitar cargos innecesarios.

Configurar la casilla de catálogo de MySQL

Para este tutorial utilizaremos un Amazon RDS (se puede utilizar cualquier servidor MySQL), ya que la casilla está preconfigurada.

En la página Catalog (catálogo), en la parte superior de la pantalla, puede encontrar una barra de búsqueda, busque MySQL amazon y haga clic.

Catálogo de MySQL

Definir la configuración de la base de datos

Para que la instancia de base de datos esté disponible en el servidor apache, tendremos que ajustar la configuración de la política. En este tutorial pondríamos todas las instancias en el mismo VPC.

En la página MySQL Catalog (catálogo de MySQL), haga clic en Deploy (implementar) y abre un modal con un formulario que tendrá que completar con la información necesaria.

En el campo Deployment Policy (política de implementación), elija la casilla de implementación relacionada con su proveedor de AWS, luego vaya a la sección de variables en la parte inferior del formulario, especifique el MySqlVpcId (en este tutorial: "vpc-0cee"), luego elija Show More (mostrar más) y ahora deberíamos completar esos campos con la información solicitada. 'vpc-88082cee'), luego elija Mostrar más y ahora debemos rellenar esos campos con la información solicitada. En este tutorial utilizaremos sampledb como nombre de la base de datos.

Nueva instancia de MySQL

También puede modificar las variables más adelante al hacer clic en el ícono de lápiz en el lado derecho y cambiar la información.

Casilla clonada de MySQL

Ejecute el nivel de base de datos

Para definir el enlace, agregue una etiqueta, que se usará más adelante en la instancia Lamp. Haga clic en Deploy (implementar) después de ingresar los datos, haga clic en Deploy (implementar) para implementar la instancia.

Implementar la instancia de la base de datos

Ejecute el nivel de la aplicación

Desde la página instancias, haga clic en New (Nuevo) y seleccione la casilla LAMP Stack. Para la política de implementación, seleccione la política de AWS que creó. Para el enlace mysqlservice, seleccione la etiqueta que definió en la instancia que ejecutó previamente. También programe la instancia para que termine una hora antes de la implementación. Haga clic en Deploy (Implementar) para crear una instancia del nivel de la aplicación. 

crear un nuevo nivel de la aplicación LAMP

Una vez implementado, tendrá su LAMP stack en funcionamiento con dos instancias en su proveedor de AWS.

Comunicarse con soporte de Cloud Application Manager

Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.

Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.

En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.

  • Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
  • Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log
Powered by Translations.com GlobalLink OneLink SoftwarePowered By OneLink