OpenShift es un PaaS que le permite ejecutar su propia aplicación de forma gratuita con bajos recursos. Ofrece 1GB de almacenamiento y 512MB de RAM, y tiene soporte para dominios personalizados. Es más rápido que Heroku, PagodaBox y AppFog, lo que le brinda acceso de SSH a su servidor de aplicaciones, ejecutándose en un entorno separado. Es como un servidor real, pero lo obtienes gratis.
OpenShift es una muy buena plataforma para ejecutar un sitio de WordPress. PagodaBox y AppFog justo para alojar aplicaciones PHP de forma gratuita; Sin embargo, PagodaBox es bastante lento y tiene un límite de 10 MB de MySQL para el plan gratuito. AppFog ya no admite dominios personalizados en su plan gratuito. También puedes ejecutar PHP en Heroku, pero también es un poco lento..
OpenShift resuelve todos los problemas anteriores: es lo suficientemente rápido, ofrece un dominio personalizado gratuito, ofrece gran espacio en disco y una gran cantidad de almacenamiento MySQL.
El plan gratuito soporta:
OpenShift es una plataforma de aplicaciones en la nube de próxima generación que facilita el desarrollo, la implementación y la escala de aplicaciones en la nube, públicas o privadas..
Vamos a descomponerlo.
git push
al repositorio que OpenShift creó para ti.Su aplicación, al punto de vista de OpenShift, contiene:
OpenShift también crea y mantiene el repositorio de git. Usted debe empujar a ella para activar el despliegue.
Su aplicación se ejecuta en un conjunto de cartuchos. Un cartucho,Según la definición de OpenShift, son piezas independientes de la pila de aplicaciones, como el servidor web y el servidor de base de datos. Estos cartuchosse despliegan y se ejecutan en uno o más contenedores seguros llamados engranajes.
Entonces, para una aplicación PHP, puede tener un servidor MySQL, un servidor web, un servidor Memcache, un servidor de registro y un trabajador Gearman. Todos estos son cartuchos.. Los engranajes son los que harán funcionar estos cartuchos. Puede pensar en un engranaje como un servidor virtual separado, y el cartucho es la pila de tecnología; por lo tanto, para escalar su aplicación, puede agregar más engranajes en ella.
Para expandir su pila de tecnología, agregue más cartuchos, como agregar un RabbitMQ.Gears compartió información de configuración con su aplicación a través de variables de entorno. Por ejemplo, no escribirá directamente un nombre de usuario de MySQL o una contraseña de MySQL en un archivo de configuración. En su lugar, utilizarías getenv para cargar variables de entorno. Si codifica la configuración de forma rígida, cuando la implementa en un nuevo equipo, deja de funcionar.
define ('DB_NAME', getenv ('OPENSHIFT_APP_NAME'));
/ ** Nombre de usuario de la base de datos MySQL * /
define ('DB_USER', getenv ('OPENSHIFT_MYSQL_DB_USERNAME'));
/ ** Contraseña de la base de datos MySQL * /
define ('DB_PASSWORD', getenv ('OPENSHIFT_MYSQL_DB_PASSWORD'));
/ ** Nombre de host MySQL * /
define ('DB_HOST', getenv ('OPENSHIFT_MYSQL_DB_HOST'). ':'. getenv ('OPENSHIFT_MYSQL_DB_PORT'));
Compartir la configuración a través del entorno es la forma en que varias marchas pueden conocer la información de cada uno. Si estás convencido, continuemos..
Vaya a aquí y regístrese para obtener una cuenta. Solo necesitas registrarte para obtener una cuenta gratis. Salta si ya has tenido una cuenta allí..
Necesitará una clave pública para la conexión entre usted y OpenShift más adelante. Una clave pública es un archivo de texto plano, usualmente nombre id_rsa.pub
que se encuentra en ~ / .ssh /
.
Así que si estás en una Mac, está en /Usuarios/[su_usuario_sit/.ssh/id_rsa.pub
o si estás en Linux está en /home/[your_user_name◆/.ssh/id_rsa.pub
. Debe copiar el contenido de este archivo y actualizarlo con OpenShift para que OpenShift tenga conocimiento de su clave pública. Cuando realice una conexión a OpenShift desde el terminal (es decir, cuando haga SSH en su caja y esté presionando el código), OpenShift lo identificará y lo autorizará según su clave pública / privada.
Si no está familiarizado con el concepto de clave pública, este tutorial le proporcionará una base sólida para ello..
Para verificar si ha tenido una clave pública antes, ejecute este comando:
ls -la ~ / .ssh | grep id_rsa.pub
Si obtienes este resultado:
id_rsa.pub
entonces ya tienes una clave pública. Si el comando anterior no devuelve nada, entonces no tienes uno.
Generémoslo con comando:
$ ssh-keygen -t rsaPuedes usar la opción predeterminada cuando te lo pida. Una vez que haya terminado, puede confirmar que tiene ese archivo ejecutando
ls -la ~ / .ssh | grep id_rsa.pub
otra vez. Un archivo de clave privada correspondiente también se genera bajo nombre ~ / .ssh / id_rsa
(no extensión .pub) para ti. También lo usaremos más tarde..tutsplus
como espacio de nombres aquí. Ahora, copiemos el contenido de la clave pública en el portapapeles..
Si está en Mac, puede usar este comando para copiar contenido en un archivo rápidamente:
$ cat ~ / .ssh / id_rsa.pub | copia impresa
cat ~ / .ssh / id_rsa.pub
, luego copiar manualmente la salida.Para que WordPress esté en funcionamiento, puede comenzar desde cero con las herramientas de línea de comandos de OpenShift, o puede usar la GUI para crearlo. Usar una GUI puede ser más fácil de comenzar, así que vamos a usarlo. Nos sumergiremos más en el modo CLI más adelante..
Inicie sesión en OpenShift y haga lo siguiente:
Ahora, será redirigido a una pantalla para ingresar la información de su blog..
rhcloud.com
. Puede seleccionar cualquier nombre porque lo cambiaremos con su propio dominio más tarde de todos modos. En este tutorial usaré http://demo2-tutsplus.rhcloud.com. Tutsplus
es mi espacio de nombres y demo2
es el nombre de mi aplicación.Espera unos instantes y se creará tu aplicación. A continuación, se te presentará una página que contiene:
Vamos a clonar este repositorio a nuestra máquina local. Por ejemplo, mi propia se parece a esto.
git clone ssh: //[email protected]/~/git/php.git/
Volveremos esto más tarde. Haga clic en "Continuar con la página de descripción general de la aplicación" y su aplicación aparecerá con el dominio que elija. Inícielo en su navegador y puede continuar con la instalación normal de WordPress: configure el nombre del sitio, el nombre de usuario del administrador y la contraseña de administrador tal como está acostumbrado a hacerlo con WordPress.
El siguiente paso es para las personas que ya tienen WordPress instalado en algún lugar y que desean mudarse a OpenShift. Si está realizando una instalación nueva, puede ignorar esto, pero le sugiero que lo lea para comprender mejor la estructura de OpenShift..
Si tiene un código de WordPress existente, no es tan difícil de implementar sobre OpenShift. Tienes varias opciones:
wp-config.php
para satisfacer los requisitos de OpenShift.Aquí hay algunos detalles adicionales sobre el segundo paso, ya que la migración incluye tres cosas:
wp-contenido / subidas
a OpenShift.En este paso, solo estoy cubriendo la integración de código. En un paso anterior, clonamos el repositorio de WordPress con:
git clone ssh: //[email protected]/~/git/php.git/Debes tener un diseño como este dentro del repositorio. Asegúrese de mostrar los archivos ocultos, también:
Lo hermoso de OpenShift es que tiene una buena estructura para WordPress. Cuando trabajas en WordPress, solo te preocupas por wp-config.php
, complementos, y temas. Eso es.
Los otros archivos, o el archivo principal de WordPress (wp-admin, wp-includes, wp-content / uploads, index.php, wp-login.php ...) son manejados por OpenShift. OpenShift extraerá automáticamente los archivos de WordPress y los colocará en la ubicación correcta para usted.
.cambio de turno
carpeta es donde residirá la mayor parte de su código. plugins
y temas
son las carpetas correspondientes para WordPress. config / wp-config.php
es su archivo de configuración de WordPress personalizado.
.openshift / action_hooks
contiene construir y desplegar scripts relacionados. Esos scripts son los que se ejecutarán en el servidor OpenShift para implementar su aplicación. Si desea personalizar el proceso de compilación, debe configurar esos archivos de script.
Aquí hay una parte del flujo de trabajo de implementación cada vez que se envía un impulso a la rama de implementación (generalmente esta es ladominar
) se activa desde Git:
dir_instalación
. A continuación, descargue y extraiga el archivo http://wordpress.org/wordpress-$install_version.tar.gz en esta carpeta. La versión_instalación está predefinida en .openshift / action_hooks / build
.openshift / config / wp-config.php
para sobrescribir el archivo en dir_instalación / wp-config.php
(el wp-config.php predeterminado del paquete original.openshift / plugins
y .openshift / temas
a dir_instalación / wp-content / plugins
y dir_instalación / wp-content / themes
.openshift / plugins
o .openshift / temas
en consecuencia. Luego confíe su código y vuelva a enviar todo a OpenShift. git push
para activar el despliegue.$ git agregar complementos
$ git agregar temas
# Si u actualiza wp-config también
$ git add config / wp-config.php
$ git commit -m "Copiar archivo de WordPress antiguo"
$ git push master master
Lo más probable es que no utilice el dominio predeterminado que OpenShift creó para usted. Usted querrá usar su propio dominio. En teoría, para usar tu dominio personalizado tienes que hacer dos cosas:
Al hacerlo, apunta su dominio al servidor de OpenShift y OpenShift es consciente de su dominio y comenzará a servir su aplicación cuando se le solicite desde ese dominio..
Según el registrador de su dominio, tiene una forma diferente de crear un registro CNAME o A para su dominio. Por suerte, tenemos un documento muy extenso sobre cómo hacer esto..
Si usa un subdominio para su sitio de WordPress como blog.yourdomain.com
puede agregar un registro CNAME a su rhcloud.com
subdominio.
Si vas con esto, es muy fácil. Simplemente vaya al panel de control de su dominio, agregue puntos de registro CNAME a su URL de OpenShift WordPress.
Por ejemplo con name.com, tengo esto:
OpenShift.Axcoto.Com apunta a demo2-tutsplus.rhcloud.com. El texto en el cuadro de texto es muestra.Así, configuro los ajustes para tener openshift.axcoto.com
apunta a demo2-tutsplus.rhcloud.com
En este caso, algunos registradores de dominios aún le permiten establecer un registro CNAME en un dominio desnudo (por ejemplo, sudominio.com). Si es así, sigue adelante y créalo como lo haces para los subdominios.
Si no lo es, tenemos que encontrar la dirección IP de nuestro dominio OpenShift y apuntarlo con su dominio completo:
ping demo2-tutsplus.rhcloud.com
PING ec2-54-242-75-238.compute-1.amazonaws.com (54.242.75.238): 56 bytes de datos
64 bytes desde 54.242.75.238: icmp_seq = 0 ttl = 41 tiempo = 96.713 ms
64 bytes desde 54.242.75.238: icmp_seq = 1 ttl = 41 tiempo = 90.054 ms
^ C
--- ec2-54-242-75-238.compute-1.amazonaws.com estadísticas de ping ---
2 paquetes transmitidos, 2 paquetes recibidos, 0.0% de pérdida de paquetes
ida y vuelta min / avg / max / stddev = 90.054 / 93.383 / 96.713 / 3.329 ms
Luego creé un registro A y lo apunté a esa dirección IP
De cualquier manera, el punto principal es asegurarse de que el dominio que está utilizando se resuelva en la misma dirección IP con su rhc-cloud
dominio.
Verifique esto haciendo ping en ambos dominios:
Ahora su dominio puede apuntar al mismo servidor que el subdominio de OpenShift. El siguiente paso es configurar el dominio en el lado de WordPress.
Por ahora, todavía estamos usando demo2-tutsplus.rhcloud.com
para acceder a WordPress. Vayamos al Dashboard, luego hacemos clic en Ajustes> General. Cambiar ambos Dirección de WordPress (URL)
y Dirección del sitio (URL)
Tu dominio.
En este punto, puede ser bloqueado de su sitio de WordPress. No te preocupes Vuelva al panel de OpenShift, seleccione su aplicación, haga clic en "Cambiar" junto al nombre del dominio y actualice el dominio OpenShift a su propio dominio. Entonces guárdalo.
Ahora accede a tu dominio personalizado, openshift.axcoto.com
, Verás tu sitio. Al acceder al panel de control de WordPress en su dominio personalizado, puede obtener una advertencia de SSL, simplemente ignórela. Esto se debe a que el certificado SSL se basa en el dominio, y cambiamos a nuestro dominio personalizado, por lo que deberíamos darle a OpenShift nuestro certificado SSL si queremos usar SSL.
Es muy útil tener acceso a la base de datos MySQL con phpMyAdmin. La forma de factor para hacer tareas de MySQL en PHP.
En la página de su aplicación, haga clic en "Agregar phpMyAdmin4.0". Esperando un rato y phpMyAdmin estará listo para ti. Una vez que esté instalado, inícielo, se le pedirá el nombre de usuario / contraseña de MySQL. Lo guardamos en un paso anterior. Si lo olvidó, siempre puede ver el nombre de usuario y mostrar la contraseña en el cartucho MySQL5.5.
Tenga en cuenta que el nombre de su base de datos de WordPress es el mismo que el nombre de la aplicación.Si está migrando de un blog existente, puede usar phpMyAdmin para importar la base de datos de WordPress anterior.
En este punto, hemos terminado. Puedes seguir adelante y disfrutar de tu instalación de WordPress. Pero vamos a sumergirnos en alguna otra cosa que pueda necesitar.
El plan gratuito viene con un inconveniente: se apaga automáticamente si no tiene visitas en dos días. Cada vez que un visitante llega a su sitio, se inicia automáticamente de nuevo, por lo que está bien, en teoría, pero durante ese tiempo de inicio, es un poco más largo para ver su sitio, ya que se está demorando en comenzar..
Para evitar esto, es posible que desee utilizar Pingdom. Pingdom verificará el estado del tiempo de actividad de su sitio y le enviará una notificación por correo electrónico cuando su sitio web esté inactivo. Para hacer eso, Pingdom hace ping a su sitio web cada diez minutos aproximadamente. Su efecto colateral es que su aplicación tiene un visitante por cada diez minutos, por lo que puede aprobar el apagado automático de OpenShift. Punto de bonificación, también tenemos un gran servicio de monitoreo gratuito..
Para ello, sugiero configurar una cuenta gratuita con Pingdom para fines de monitoreo y mantener su aplicación lo suficientemente ocupada..
Una gran cosa acerca de OpenShift es que puede acceder de forma remota a su aplicación como un servidor. No es una caja negra para ti. Puede SSH en él y emitir algún comando de shell (por supuesto, OpenShift deshabilita algunos comandos confidenciales o no tiene ningún efecto).
En la página de la aplicación, en el lado derecho, puede ver una publicación que dice: "Acceso remoto. Desea iniciar sesión en su aplicación".
Haga clic en él y tendrá un comando de ejemplo como:
$ ssh [email protected]
532bd7655004468bcf0000e1
. El nombre del servidor, por supuesto, es demo2-tutsplus.rhcloud.com
.despliegues de aplicaciones
guarda los datos durante el proceso de implementación, como un archivo temporal, un repositorio de clones. Los datos aquí se copiarán a la ubicación correcta más adelante. Hay directorios más importantes ubicados dentro de él..aplicaciones-despliegues / actual / repo
tiene exactamente el mismo clon de nuestro repositorio Git. Lo que tengas en tu máquina local será igual aquí.app-root / runtime / repo / php
es la raíz de su documento. Es un enlace simbólico a app-root / data / current
cuál es la ubicación real de su código, sobre la cual puede leer más a continuaciónraíz de la aplicación / datos
esta carpeta contiene su código, su carpeta de carga, tema y complemento. Este es el lugar real donde se encuentran todos estos y se vinculará desde diferentes ubicaciones.Los datos en esta carpeta serán generalmente persistentes entre las versiones. Si es un cambio, entonces el cambio es por sus scripts de compilación, no por el propio OpenShift.app-root / data / current
Su código de WordPress de la versión actual se encuentra aquí. Los datos en esta carpeta suelen ser persistentes (excepto el contenido de algún enlace simbólico dentro de la misma que podría cambiar debido a que se encuentra en otro lugar). Los archivos de WordPress como: wp-admin
, wp-incluye
, index.php
, .htaccess
se sentará aquí. El contenido de esta carpeta se crea mediante el script de compilación la primera vez que instala WordPress desde el panel de OpenShift. Más adelante, durante cada implementación, algunos archivos pueden ser copiados por el script de implementación. Pero OpenShift no restablecerá el contenido de esta carpeta..app-root / data / uploads
Esta es su carpeta de subidas, pero es un enlace simbólico de app-root / data / current / wp-content / uploads
para que pueda tener datos cargados persistentes entre varias versiones.raíz de la aplicación / datos / temas
contiene tema. Esta enlazado desde raíz de la aplicación / data / current / wp-content / themes
.Nuevamente, es porque puedes subir el tema desde el administrador de WordPress, por lo que está vinculado a afuera para tener datos persistentes entre versiones.Si recuerdas Paso 2B, en cada despliegue, el contenido de ./ openshift / temas
será copiado en esta carpeta también.app-root / data / plugins
contiene el enlace simbólico de plugin.It app-root / data / current / wp-content / plugins
. Nuevamente, es porque puedes subir el tema desde el administrador de WordPress, por lo que está vinculado a afuera para tener datos persistentes entre versiones. Si recuerdas Paso 2B, en cada despliegue, el contenido de ./ openshift / plugins
será copiado en esta carpeta también.app-root / data / current / wp-content / uploads
puntos a app-root / data / current / wp-content / uploads
git
es la carpeta que contiene su repositorio de Git simple que OpenShift eliminó para ustedmysql
guarda sus datos MySQL y la información de configuración de mysql.despliegues de aplicaciones
esla instantánea de código durante el despliegue.php
Contiene configuración PHP, extensión php ...app-root / data / current / wp-content / uploads
con scp. Por ejemplo:
$ cd your_current_wordpress
# Copiaremos recursivamente todos los archivos / carpetas en wp-content / uploads to
$ scp -r wp-content / uploads / * [email protected]: ~ / app-root / data / current / wp-content / uploads
Asegúrese de usar el nombre de usuario y el nombre de servidor correctos. Es muy importante que use el nombre de usuario correcto, de lo contrario no podrá conectarse.
OpenShift no es compatible con FTP, pero puede usar el Protocolo de transferencia de archivos SSH para obtener acceso y explorar el sistema de archivos; sin embargo, no use este método para cargar y editar archivos directamente.
Considera esto como una manera de ayudarte a ver la estructura de archivos en tu aplicación rápidamente si no estás familiarizado con la línea de comandos. Usaremos FileZilla para conectar. No utilizaremos la autenticación de contraseña, sino la autenticación de clave pública / privada. Ya configuramos la clave pública antes. Ahora, vamos a agregar un nuevo servidor como en pantalla. Cambialo a tu configuración.
Guardalo A continuación, debemos actualizar nuestra clave privada con FileZilla porque no usaremos la autenticación de contraseña en OpenShift. Abra FileZilla Preference, seleccione SFTP-> Add Key File y luego elija su clave privada que generamos junto con la clave pública en el paso anterior. Debería estar en /Usuarios/tu_nombre/.ssh/id_rsa
.
Tenga en cuenta que desde .ssh
incluye un punto, Mac lo ocultará, así que puedes seguir estos consejos para mostrar el archivo oculto en Mac.
Conteste sí cuando le pregunte por la conversión. Ahora, puede conectarse al host que guardamos antes.
Una vez que esté dentro, puede navegar y tener un sentido del diseño de la carpeta. Pero asegúrese de no eliminar manualmente el código de eliminación de WordPress, ya que la forma correcta para la implementación de OpenShift es usar su repositorio Git. Aún puede cargar el archivo manualmente, pero perderá otra característica interesante de la implementación de OpenShift.
Usar una GUI puede ser fácil de ver, comparando el uso de SSH en el terminal, pero no abuses de este método SFTP, deberíamos considerarlo como una forma rápida de verificar si hay algunos archivos, no usarlos para la implementación. Pero puede usarlo para descargar (con fines de copia de seguridad) datos multimedia en app-root / data / uploads
.
Si está migrando desde una instalación de WordPress existente, puede simplemente todos los archivos en su wp-contenido / subidas
a app-root / data / current / wp-content / uploads
Los temas y los complementos se pueden cargar e instalar directamente desde la interfaz de usuario de WordPress. Serán almacenados en app-root / data / plugin
yraíz de la aplicación / datos / tema
.Pero desde que usamos Git para la implementación en OpenShift, deberíamos revisarlos en nuestro repositorio Git y no deberíamos subirlos directamente desde el panel de WordPress. Puedes poner tu tema, plugin en .openshift / temas
y .openshift / plugin
similar a lo que se describe en Paso 2B.
Para resumir esta sección posterior a la instalación, diré que si usted es un usuario final que no está familiarizado con Git o el acceso a la terminal, entonces debería usar SFTP para cargar archivos, instalar el plugin / tema directamente como lo hará en un alojamiento compartido.
Si eres un desarrollador de WordPress, usa Git. En la siguiente parte, aprenderemos más sobre la forma correcta con OpenShift: implementación con Git push. Y créeme, es más fácil de lo que parece..
En este punto, puede ejecutar WordPress en OpenShift por lo que ya no necesita facturas para el servicio de alojamiento. Si su servicio comienza a generar más tráfico, puede agregarle más engranajes..
En este tutorial, casi hicimos todo a través del panel de control de OpenShift, pero la interfaz de usuario siempre tiene sus limitaciones. OpenShift viene con una mayor herramienta de línea de comandos que aprenderemos en el próximo artículo. Específicamente, aprenderemos cómo mantener y solucionar problemas en nuestra instalación de WordPress.
Deja un comentario para hacernos saber cómo te va con OpenShift..