Cómo desplegar wordpress en la nube de Google


En este post vamos a ver como configur un servidor de Cloud SQL que conectaremos a una aplicación wordpress a él mediante un proxy a través de una conexión externa. Para ello también configuraremos una conexión a través de un enlace IP privado que ofrece beneficios de rendimiento y seguridad. 

Al final , tendremos 2 instancias de trabajo del frontend de WordPress conectadas a través de 2 tipos de conexión diferentes a su backend de instancia de SQL :

 

 

1: creación de una base de datos de Cloud SQL

En esta parte configuraresmo un servidor SQL de acuerdo con las mejores prácticas de Google Cloud y crearemos una conexión IP privada.

  1. En el menú de navegación ( Menú de Navegación), haga clic en SQL .
  2. Haz clic en Crear instancia .
  3. Haga clic en Elegir MySQL .
  4. Especifique lo siguiente y deje los ajustes restantes como predeterminados:
Propiedad Valor
ID de instancia wordpress-db
Contraseña de root teclee una contraseña 
Región su zona
Zona Alguna
Versión de la base de datos MySQL 5.7

Anote la contraseña de root; se utilizará en un paso posterior y se denominará [ROOT_PASSWORD].

  1. Expanda Mostrar opciones de configuración .
  2. Expanda la sección Conectividad .
  3. Seleccione IP privada .
  4. En el cuadro de diálogo, haga clic en Habilitar API , haga clic en Asignar y conectar y luego haga clic en Cerrar . Esto habilita el acceso a servicios privados y adjunta una dirección IP privada a su servidor Cloud SQL.La IP privada es una conexión interna, a diferencia de la IP externa, que sale a Internet.
  5. Expanda la sección Tipo de máquina y almacenamiento .
  6. Aprovisione la cantidad adecuada de vCPU y memoria. Para elegir un tipo de máquina , haga clic en Cambiar y luego explore sus opciones.

Algunos puntos a considerar: Las máquinas de núcleo compartido son buenas para la creación de prototipos y no están cubiertas por Cloud SLA .Cada vCPU está sujeta a un límite de rendimiento de red de 250 MB / s para un rendimiento máximo. Cada núcleo adicional aumenta el límite de la red, hasta un máximo teórico de 2000 MB / s.Para cargas de trabajo sensibles al rendimiento, como el procesamiento de transacciones en línea (OLTP), una pauta general es asegurarse de que su instancia tenga suficiente memoria para contener todo el conjunto de trabajo y acomodar la cantidad de conexiones activas.

  1. Puede  seleccionar db-n1-standard-1 y luego haga clic en Seleccionar .
  2. A continuación, elija el tipo de almacenamiento y la capacidad de almacenamiento .

Algunos puntos a considerar :SSD (unidad de estado sólido) es la mejor opción para la mayoría de los casos de uso. HDD (unidad de disco duro) ofrece un rendimiento más bajo, pero los costos de almacenamiento se reducen significativamente, por lo que HDD puede ser preferible para almacenar datos a los que se accede con poca frecuencia y que no requieren una latencia muy baja. Existe por tanto  una relación directa entre la capacidad de almacenamiento y su rendimiento.

  1. Agregue algunos ceros a la capacidad de almacenamiento para ver cómo afecta el rendimiento. Restablezca el control deslizante a 10 GB.

Establecer su capacidad de almacenamiento demasiado baja sin habilitar un aumento de almacenamiento automático puede hacer que su instancia pierda su SLA.

  1. Haga clic en Cerrar .
  2. Haga clic en Crear en la parte inferior de la página para crear la instancia de la base de datos.

Es posible que deba esperar a que se propaguen los cambios de IP privada antes de que se pueda hacer clic en el botón Crear .

 

 

2: Configurar un proxy en una máquina virtual

Cuando su aplicación no reside en la misma región y red conectada a la VPC que su instancia de Cloud SQL, use un proxy para proteger su conexión externa.

Para configurar el proxy, necesita el nombre de conexión de la instancia de Cloud SQL. Para continuar necesitaríamos 2 máquinas virtuales preconfiguradas con WordPress y sus dependencias (s también se necesitará un  script de inicio y un  acceso a la cuenta de servicio ). Tenga en cuenta que  se debe usar el principio de privilegio mínimo y solo permitimos el acceso SQL para esa máquina virtual. También hay una etiqueta de red y un firewall preconfigurado para permitir el puerto 80 desde cualquier host.

  1. En el menú de navegación ( Menú de Navegación), haga clic en Compute Engine .
  2. Haga clic en SSH junto a wordpress-europe-proxy .
  3. Descarga el proxy de Cloud SQL y hazlo ejecutable:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy && chmod +x cloud_sql_proxycontent_copy

Para iniciar el proxy, necesita el nombre de conexión de la instancia de Cloud SQL. Mantenga su ventana SSH abierta y regrese a Cloud Console.

  1. En el menú de navegación ( Menú de Navegación), haga clic en SQL .
  2. Haga clic en la instancia de wordpress-db y espere a que aparezca una marca de verificación verde junto a su nombre, que indica que está operativa (esto podría demorar un par de minutos).
  3. Anote el nombre de la conexión de la instancia ; se utilizará más adelante y se denominará [SQL_CONNECTION_NAME].
  4. Además, para que la aplicación funcione, debe crear una tabla. Haga clic en Bases de datos .
  5. Haga clic en Crear base de datos , escriba wordpress , que es el nombre que espera la aplicación, y luego haga clic en Crear .
  6. Regrese a la ventana SSH y guarde el nombre de la conexión en una variable de entorno, reemplazando [SQL_CONNECTION_NAME] con el nombre único que copió en un paso anterior.
export SQL_CONNECTION=[SQL_CONNECTION_NAME]content_copy
  1. Para verificar que la variable de entorno esté configurada, ejecute:
echo $SQL_CONNECTIONcontent_copy

Se debe imprimir el nombre de la conexión.

  1. Para activar la conexión de proxy a su base de datos de Cloud SQL y enviar el proceso a un segundo plano, ejecute el siguiente comando:
./cloud_sql_proxy -instances=$SQL_CONNECTION=tcp:3306 &content_copy

La salida esperada es

Listening on 127.0.0.1:3306 for [SQL_CONNECTION_NAME]
Ready for new connectionscontent_copy
  1. Presione ENTER.

El proxy escuchará en 127.0.0.1:3306 (localhost) y el proxy que se conecta de forma segura a su Cloud SQL a través de un túnel seguro utilizando la dirección IP externa de la máquina.

 

 

3: Conectar una aplicación a la instancia de Cloud SQL

Ahora conectaremos wordpress a la instancia de Cloud SQL.

  1. Configure la aplicación WordPress. Para encontrar la dirección IP externa de su máquina virtual, consulte sus metadatos:
curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip && echocontent_copy
  1. Vaya a la dirección IP externa wordpress-europe-proxy en su navegador y configure la aplicación WordPress.
  2. Haga clic en Let’s Go .
  3. Especifique lo siguiente, reemplazando [ROOT_PASSWORD] con la contraseña que configuró al crear la máquina, y deje las configuraciones restantes como sus valores predeterminados:
Propiedad Valor
Nombre de usuario raíz
Contraseña [ROOT_PASSWORD]
Host de base de datos 127.0.0.1

Está utilizando 127.0.0.1, localhost como la IP de la base de datos porque el proxy que inició escucha en esta dirección y redirige ese tráfico a su servidor SQL de forma segura.

  1. Haga clic en Enviar .
  2. Cuando se haya establecido una conexión, haga clic en Ejecutar la instalación para crear una instancia de WordPress y su base de datos en su Cloud SQL. Esto puede tardar unos minutos en completarse.
  3. Complete la información de su sitio de demostración con información aleatoria y haga clic en Instalar WordPress . No tendrá que recordar ni utilizar estos detalles.

La instalación de WordPress puede tardar hasta 3 minutos, porque propaga todos sus datos a su servidor SQL.

  1. Cuando vea ‘¡Éxito!’ apareciendo en la ventana, elimine el texto después de la dirección IP en la barra de direcciones de su navegador web y presione ENTER. ¡Se le presentará un blog de WordPress en funcionamiento!

4: Conéctese a Cloud SQL a través de una IP interna

Si puede alojar su aplicación en la misma región y red conectada a VPC que su Cloud SQL, puede aprovechar una configuración más segura y con mejor rendimiento mediante IP privada.

Al usar la IP privada, aumentará el rendimiento al reducir la latencia y minimizar la superficie de ataque de su instancia de Cloud SQL porque puede comunicarse con ella exclusivamente a través de IP internas.

  1. En Cloud Console, en el menú de navegación ( Menú de Navegación), haga clic en SQL .
  2. Haga clic en wordpress-db .
  3. Anote la dirección IP privada del servidor de Cloud SQL; se denominará [SQL_PRIVATE_IP].
  4. En el menú de navegación , haga clic en Compute Engine .

Tenga en cuenta que wordpress-us-private-ip se encuentra en us-central1, donde se encuentra su Cloud SQL, lo que le permite aprovechar una conexión más segura.

  1. Copie la dirección IP externa de wordpress-us-private-ip , péguela en una ventana del navegador y presione ENTER.
  2. Haga clic en Let’s Go .
  3. Especifique lo siguiente y deje los ajustes restantes como predeterminados:
Propiedad Valor
Nombre de usuario raíz
Contraseña escriba la [ROOT_PASSWORD] configurada cuando se creó la instancia de Cloud SQL
Host de base de datos [SQL_PRIVATE_IP]
  1. Haga clic en Enviar .

Tenga en cuenta que esta vez está creando una conexión directa a una IP privada, en lugar de configurar un proxy. Esa conexión es privada, lo que significa que no sale a Internet y, por lo tanto, se beneficia de un mejor rendimiento y seguridad.

  1. Haga clic en Ejecutar la instalación . Un ‘¡Ya instalado!’ Se muestra la ventana, lo que significa que su aplicación está conectada al servidor de Cloud SQL a través de una IP privada.
  2. En la barra de direcciones de su navegador web, elimine el texto después de la dirección IP y presione ENTER. ¡Se le presentará un blog de WordPress en funcionamiento!

5: Revisión

Hemos visto como , crear una base de datos de Cloud SQL y como configurarla para usar tanto una conexión externa a través de un proxy seguro como una dirección IP privada, que es más segura y de mayor rendimiento. Recuerde que solo puede conectarse a través de IP privada si la aplicación y el servidor de Cloud SQL están ubicados en la misma región y forman parte de la misma red de VPC. Si su aplicación está alojada en otra región, VPC o incluso proyecto, use un proxy para asegurar su conexión a través de la conexión externa. 

 

Cómo montar un servidor wordpres


WordPress como veiamos en un post anterior que versaba sobre le instalación de éste sobre Ubuntu es ahora mismo una de las mejores opciones para diseñar páginas webs de empresas y particulares . Sus principales ventajas son la facilidad de uso, el ser un excelente gestor de contenidos y su licencia gratuita. Por otra parte, existe una enorme comunidad de diseñadores y programadores que se dedican a desarrollar plantillas (themes) y plugins que permitirán que nuestra web pueda tener funcionalidades que van desde una biblioteca de vídeo hasta una página de comercio electrónico. Todo lo que se nos ocurra lo podemos encontrar en Internet y completamente gratis, aunque en el caso de los themes también hay opciones de pago (themes premium) que nos ofrecen más versatilidad a la hora de personalizar la plantilla (las hay a partir de 30 euros/año). Elegiremos una u otra opción en función de nuestro proyecto.

Hay que diferenciar entre wordpress.com (las páginas se alojan en wordpress.com, del tipowww.pinceladasdesocialmedia.wordpress.com) y wordpress.org (las páginas se alojan en su propio servidor web: www.tudominio.com). A éste último es al que nos referimos en este post.

La ventaja de instalar WordPress en un servidor local es que no necesitará invertir dinero en un servidor de pago ya que todo lo hará  en su  ordenador donde ademas podrá instalar  todos los plugins   que necesite  en aras  ha mejorar la administración del servicio.Veamos los pasos a seguir:

1-Instalación servidor WAMP

Las aplicaciones necesarias para que nuestro ordenador funcione como servidor online son:

  • Sistema operativo. Normalmente utilizamos Windows pero se puede utilizar un ordenador Mac o Linux.
  • Apache. Es la aplicación madre que permite que el ordenador se convierta en servidor.
  • MySQL. Es una aplicación de bases de datos controlada por Apache que permite crear todas las bases de datos necesarias para nuestro proyecto.
  • PHP. Es la tecnología de programación utilizada en el servidor.

Todas estas aplicaciones han sido desarrolladas después del lanzamiento de Linux y son de código abierto. Pueden ser instaladas por separado cada una de ellas aunque hoy en día existe un paquete que las engloba a todas.

Originalmente este paquete de instalación se creó bajo el nombre de LAMP (Linux, Apache, MySQL y PHP) aunque hoy en día ya se puede encontrar para Mac en MAMP y para Windows el WAMP que es del que hablaremos aquí. También existe una versión llamada XAMPP que se utiliza para Windows aunque yo personalmente me inclino por WAMP por ser más fácil de utilizar.

 Lo primero que hay que hacer es descargar el WAMP desde su página oficialhttp://www.wampserver.com/en/. Tener cuidado al momento de la descarga ya que ofrece varios paquetes de instalación dependiendo de la tecnología de tu sistema operativo (32 bit o 64 bit). Esto lo puede ver haciendo clic derecho con el ratón sobre el ícono de Mi PC (para Windows XP) o Equipo (para Windows 7 u 8) >> Propiedades y  aparecerá una ventana donde te indicará el Tipo de Sistema que tenga instalado.

tipo de sistema en windows

 

Una vez instalado, el programa creará un ícono de acceso directo en el escritorio para que arranques el servidor cada vez que lo quieras utilizar. Al arrancar el WAMP veremos un ícono que comenzará en rojo, cambiará a naranja y finalmente se pondrá en verde para indicarnos que nuestro ordenador ya se encuentra funcionando en un servidor local.

wampserver activo

El icono verde indica que el WAMP está activo. Si hacemos clic sobre este ícono veremos cómo se despliegan todas las funcionalidades del WAMP incluyendo el archivo “php.ini” que se puede configurar para que nuestras páginas web se puedan visualizar correctamente en nuestro servidor local.

panel de control wampserver

 

1. INSTALACIÓN DE XAMPP.

Antes de instalar el servidor local en nuestro ordenador tienes que tener en cuenta tres datos que aparecerán a lo largo de la instalación:

  • La carpeta por defecto donde se ha instalado el WampServer (c:\wamp\).
  • El servidor SMTP (localhost).
  • El nombre de usuario (root).

Podemos descargar el programa desde la web oficial:http://www.apachefriends.org/es/xampp.html . Elegiremos la instalación que necesitemos (windows, mac, linux). En el caso de windows, se recomienda elegir la versión ZIP. Así descomprimeros después los archivos y los colocaremos en el sitio de nuestro ordenador que queramos (mejor en el sitio por defecto: C:/xampp).

Descarga de Xampp para Windows

Al finalizar la instalación de xampp, el instalador nos preguntará si queremos abrir el panel de control. Le diremos que sí. Este panel de control es el que abriremos cada vez que queramos iniciar sesión en nuestro servidor local (tendremos que pulsar “Start” en Apache y en MySQL). Si no encuentras el panel de control por ningún sitio, vete al archivo directamente y lo abres:C:/xampp/xampp-control

Panel de control de xampp

Ya tenemos instalado nuestro servidor local: http://localhost/xampp/.

2. CREACIÓN DE BASE DATOS MYSQL.

WordPress, como la mayoría de los CMS, utilizan base de datos para funcionar.

Una base de datos es una serie de archivos compuestos por textos donde se guardan las configuraciones y contenido del CMS y mediante programación se van utilizando estos datos según se vayan necesitando. Es por estos que los blogs son sitios “dinámicos”.

Para acceder al servidor local desde el navegador solamente tendrás que teclear http://localhost/ y verás lo siguiente:

Servidor Local: localhost

 

Entramos en el enlace phpMyAdmin y en la versión actual (versión 2.4 para la fecha) nos pedirá un usuario y una contraseña. El usuario es “root” y sin contraseña. Si deseas asignar una contraseña (aunque es ilógico ya que está en tu ordenador) puedes hacerlo desde el panel de control de phpMyAdmin.

Introduccir datos de acceso a phpMyAdmin

 

Vamos a la pestaña “Bases de Datos” y veremos el campo “Crear base de datos”. Escribimos el nombre de la nueva base de datos que queremos crear, wordpress por ejemplo, asignamos el Cotejamiento “utf8_spanish_ci” y clic en el botón “Crear”.

Crear base de datos en phpMyAdmin

 

Ahora, vamos a crear una base de datos que necesitaremos para nuestra posterior instalación de WordPress.

Entramos en http://localhost/xampp/. Nos vamos a “phpmyadmin”.

Menú de Xampp

Vamos al apartado de Bases de Datos:

Xampp-PhpM admin

Creamos una nueva base datos:

Xampp-Base de datos

Le damos el nombre que queramos (ej:wordpress) y elegimos la codificación UTF_unicode_ci.
Al hacer ésto obtendríamos los siguientes datos de Base de Datos, que guardaremos bien porque nos harán falta posteriormente:
Nombre la base de datos:   wordpress
Contraseña: root (por defecto)
Contraseña: ninguna
Servidor: localhost (por defecto).

2. Descargar WordPress.

WordPress es hoy en día el mejor CMS por excelencia para crear blogs y páginas web. Su intuitivo panel de administración y su sencilla programación y distribución del contenido lo convierte en un CMS capaz de realizar innumerables sitios limpios y estéticos. La estructura de programación de WordPress está compuesta por 3 directorios:

  • wp-admin: Se encuentran los archivos necesarios para el funcionamiento del panel de administración (back-end).
  • wp-content: Se encuentran los archivos que compondrán la interfaz del usuario como imágenes, plugins y plantillas (front-end).
  • wp-includes: Se encuentran los archivos restantes de las aplicaciones básicas y avanzadas para el funcionamiento de WordPress.

Además de estos 3 directorios también se compone de otros archivos en su raíz como index.php y el resto de archivos con el prefijo “wp-” donde el más importante es wp-config.php que se crea automáticamente después de la instalación y es donde se indican los parámetros de la base de datos, prefijo de las tablas e idioma.

Para descargar WordPress (por si no lo sabía, es gratis!) puede acceder a la página oficial de WordPress en españolhttp://es.wordpress.org/ donde aparecerá la última versión para descargar.

Página oficial de WordPress en Español

 

Si se fija, hay unas sencillas instrucciones para instalar WordPress pero le recomiendo que no le haga mucho pues suele estar des-actualizadas, veamos paso  a paso  como hacerlo.

5. Instalar WordPress.

Una vez creada la base de datos diríjase a la carpeta de tu servidor local “C:\wamp\” y verá que tienes un directorio llamado “www”. Entre ahí y cree una carpeta llamada wordpress.

Busque el archivo que has descargado de WordPress, descomprímelo y, el contenido (los 3 directorios y otros archivos que te mencioné anteriormente), cópielo a la carpeta wordpress que ha creado en su servidor local.

Archivos de WordPress en el servidor local

Una vez realizados estos pasos (son un poco tediosos la primera vez pero luego con el tiempo verá que es muy rápido) vamos a proceder con la instalación de WordPress en nuestro servidor local.

Escriba http://localhost/wordpress/ en nuestro navegador y verá:

Crear archivo de configuración en WordPress

 

Como puede observar nos  dice que no tiene creado el archivo “wp-config.php” y de hecho  puede comprobar en su directorio “wordpress” que aún no existe. Pues vamos a crearlo.

Clic al botón “Crear un archivo de configuración” y verá la siguiente imagen:

Mensaje de bienvenida de WordPress

Le solicitará los datos de configuración de la base de datos donde vas a instalar WordPress. Clic en el enlace ¡Vamos a ello!

Los datos que le muestra en la instalación son por defecto. Verá que la instalación es muy intuitiva y no es necesaria una explicación para hacerla. Los datos que necesita son:

  • Nombre de la base de datos. En nuestro caso será wordpress que coincide con la que nos muestra la instalación. Lo dejamos así.
  • Nombre de usuario. Este es el nombre que utilizamos entrar en phpMyAdmin y por lo tanto será root. Lo cambiamos.
  • Contaseña. Es la que utilizaríamos para entrar phpMyAdmin pero como hemos dicho no tenemos contraseña así que borramos este campo y lo dejamos en blanco. Si más adelante creas una contraseña para phpMyAdmin (que insisto me parece innecesario) será necesario que modifiques el archivo wp-config para todas las instalaciones que tengas hechas.
  • Host de la base de datos. Este es el nombre del servidor que en nuestro caso es localhost y coincide con el de la instalación. Lo dejamos así.
  • Prefijo de la tabla. Este es un prefijo que usan muchos CMS para nombrar las tablas de la base de datos por temas de seguridad. De momento lo podemos dejar como está aunque es más recomendable cambiarlo cuando se instala WordPress en un servidor remoto.

Ahora quedaría algo así:

Solicitud de datos de la base de datos de WordPress

Ya  sólo nos queda la solicitud de datos de la base de datos de WordPress. Haga clic en el botón “Enviar” y en la siguiente pantalla clic en el enlace “Iniciar la instalación”. Si observa nuevamente en el directorio wordpress verá que ahora si existe un archivo llamado “wp-config.php” que es el que acaba de crear y contiene los datos de la base de datos a la que se conectará WordPress para su funcionamiento.

Y ahora comenzamos la instalación.

En esta nueva pantalla verá un texto de bienvenida y la información necesaria que te solicitará WordPress para la instalación. Los datos que necesita son:

  • Título del sitio. Puedes poner wordpress como título. En otras instalaciones este título es como se llamará tu sitio una vez instalado.
  • Nombre de usuario. Es el nombre con el que podrá acceder al panel de administración de WordPress. Escribe admin.
  • Password, dos veces. Es la contraseña con la que podrá acceder al panel de administración de WordPress. Vamos a escribir admin. Verá que le indica en un recuadro rojo que la contraseña es Muy débil. No importa, luego la puede cambiar.
  • Tu correo electrónico.
  • Privacidad. Déjalo como está. En local no tiene importancia.

Clic en el botón “Instalar WordPress“.

Datos de instalación de WordPress

Por fin! Ha instalado WordPress! Verá una pantalla donde te indica que lo has hecho bien. Clic en el botón “Accerder” y verá el formulario de acceso del panel de administración de WordPress.

Formulario de acceso a WordPress

En el formulario de acceso al panel de administración de WordPress teclee en Nombre de usuario: admin y en Contraseña: admin y clic en el botón “Acceder”.

6. Probando WordPress.

Voilà! Está dentro de WordPress  en el  Panel de administración de WordPress.

Panel de administración de WordPress

 

Ya tiene WordPress instalado en su servidor local. Si teclea en el navegador http://localhost/wordpress/ podrá observar cómo se verá WordPress para los usuarios (front-end).