2011-07-26 12 views
7

Trabajo para una empresa que hace sitios para la industria farmacéutica y, a menudo, necesitamos obtener aprobación legal antes de realizar cambios en vivo. Por lo tanto, me gustaría migrar gran parte de nuestro trabajo a un entorno CMS, específicamente wordpress, pero necesitamos la capacidad de tener un entorno de ensayo. ¿Es posible que, en lugar de publicar una página, se publique en un entorno de ensayo que alguien pueda explorar como con un enlace como sitio? ¿Entonces básicamente tienes 2 sitios, uno en vivo?Entorno de preparación de Wordpress

Respuesta

3

En general, las "respuestas" anteriores son correctas, existen alternativas a la conversión de Word que tienen mejor soporte integrado para entornos de ensayo y migraciones de compilación. Sin embargo, las alternativas sugeridas no son exactamente iguales a la plataforma wordpress, por lo que creo que es mejor responder a la pregunta en cuestión.

Wordpress no admite de forma nativa el alojamiento del mismo sitio desde dos hosts diferentes. El núcleo se basa en direcciones URL absolutas almacenadas en la base de datos y se utilizan en casi todos los aspectos de la lógica central. Esto da como resultado una cantidad de errores superfluos, como los aproximadamente 500 relacionados con el acceso SSL porque intentan modificar dinámicamente todos los esquemas http: // a https: // sobre la marcha.

Como resultado, al hospedarse en dev.example.com y migrar a staging.example.com y nuevamente a www.example.com, debe realizar búsquedas muy cuidadosas & reemplazar las manipulaciones en la exportación de la base de datos cada vez que cambia Hospedadores. Y esto causa problemas adicionales cuando descubres que muchos plugins populares de wordpress serializan la url en valores en la base de datos. Por lo tanto, cuando busca &, reemplace dev.example.com con staging.example.com, los datos serializados que contenían la longitud del carácter del valor original ya no se deserializan con el nuevo formato más largo. Algunos contribuidores principales creen que la solución a este problema posterior es configurar sitios de ensayo con el mismo número de caracteres que la cuenta de producción ...

En una línea similar, también sugieren intercambiar asignaciones de host y solo utilizar la url de production.com en todos los entornos de alojamiento. Dependiendo de los requisitos particulares de su caso de uso, probablemente no sea una solución válida si necesita proporcionar acceso a clientes externos, usuarios analfabetos (por supuesto, a usuarios que saben leer y escribir)

Pero wordpress en sí tiene una número de características excelentes de lo contrario y es una plataforma de desarrollo rápido muy poderosa y adaptativa. Como resultado, puede ampliar el marco central para hacer mucho de lo que necesita de él. Cuando me presentaron esta situación, tuve que desarrollar una solución que fuera viable para todas las circunstancias. Tradicionalmente, este problema se resuelve con las URL relativas a la raíz, funcionan en entornos de hospedaje cruzado y no sufren cambios de esquema, cambios de puerto o prácticas de intercambio de subdominios que son comunes con las migraciones de etapas.

Con este plugin: http://wordpress.org/extend/plugins/root-relative-urls/ (? Sesgada sí, he escrito este plug-in.) Se obtiene las direcciones URL relativas a la raíz donde es anfitriones importantes y dinámicos, donde las direcciones URL relativas a la raíz no funcionan Todo lo que (como los canales RSS.) El hecho de que migre el sitio a diferentes hosts consiste en mover el archivo wp-config.php fuera de la raíz de www (un nivel arriba es soportado de manera nativa por wordpress) para que pueda mantener copias diferentes en diferentes servidores. O, alternativamente, puede usar sentencias if básicas para distinguir hosts por nombre de servidor y definir las constantes clave de wordpress basadas en el servidor. Al final, su contenido, código &, los datos de transición sin problemas.

Como nota de preocupación, los complementos a los que se hace referencia requieren configurar el acceso de escritura al archivo wp-config.php, una práctica muy mala desde una perspectiva de seguridad para servidores de producción o accesibles públicamente. Quizás pueda implementar esto cómodamente en un entorno de ensayo restringido, pero luego deberá deshabilitar y eliminar el complemento en las transiciones de producción.

Para abreviar, sí puede alojar WordPress en múltiples entornos de host. Las soluciones largamente promocionadas son muy específicas de cada caso y restringidas por la opción debido a la arquitectura central. Pero el marco es lo suficientemente flexible como para superar el déficit central. Esta decisión de diseño central probablemente cambie en algún momento en el futuro dada la cantidad de esfuerzo que los desarrolladores centrales gastan continuamente en la superación de los problemas en cascada. Pero también hay devotos defensores de la religión url absoluta que mantendrán la práctica en su lugar por el momento. Tal vez una plataforma diferente que admita migraciones de servidores de forma nativa (elija casi cualquiera de ellos porque la mayoría lo hace) sería una mejor opción para usted ahora.

1

Greg, Un CMS aún mejor con entorno de ensayo sería Silverstripe (silverstripe.org). Este cms le permite navegar por un sitio de ensayo completo.

+0

Estoy de acuerdo con esto. Silverstripe es un gran CMS y más al punto si estás creando sitios web, debes usar un CMS, no un software de blogs. – Bendihossan

2

Es posible: Eche un vistazo a este Github Gist para ver un ejemplo sobre cómo cambiar entornos con su archivo wp-config.php. Además, eche un vistazo a wordpress.stackexchange para ver otras Q acerca de esto que le dan un vistazo más profundo a las cosas que debe considerar.

0

Si necesita usar WP, y necesita publicar solo una o varias páginas desde la puesta en escena al sitio en vivo, ¿por qué no implementar tipo de etiqueta en las páginas que deben publicarse (vistas por los visitantes del sitio en vivo)? Ajuste sus plantillas para mostrar páginas etiquetadas o no, ¡y listo! Luego puede usar solo un sitio y mantener páginas públicas y no aprobadas en el mismo.

También puede mantener una copia local de su sitio (escenario) y tener alguna secuencia de comandos para cargarla (en su totalidad) en su hosting: tarea fácil de automatizar. En tal caso, es posible que desee considerar renderizar todo el sitio en páginas HTML y subir (simple rsync) estos HTML a hosting: ¡el sitio en vivo será difícil de romper ya que no habrá ningún script dinámico allí!

¿Pero tal vez realmente no debería elegir el WP? Hay muchos CMS que admiten el esquema write-approve-publish.

1

Creo que puede intentar usar algunos complementos. Por ejemplo (búsqueda rápida en el repositorio oficial de plugins de WordPress) wp-deploy o Dev and Staging Environment Plugin (quizás obsoleto).

O como alternativa, puede intentar utilizar diferentes archivos wp-config.php, uno para la producción y otro para el entorno de desarrollo y cambiarlos marcando la URL solicitada.

0

Se puede crear un entorno de ensayo WordPress con sólo dos clics con la ayuda de este plugin: https://de.wordpress.org/plugins/wp-staging/

Revelación: yo soy el autor de este plugin. Entonces, pregúntame algo al respecto.

Cuestiones relacionadas