¿Exportar / implementar sitio / página de Drupal a estática? (sin caché)

12

Me pregunto si hay un módulo existente que pueda ayudar en el tema. No estoy buscando un módulo de almacenamiento en caché (como Boost o Varnish), sino una forma de exportar todo mi sitio (o solo ciertas páginas) a estática. La idea es que quiero que mi servidor web sea muy simple y ligero y solo sirva archivos estáticos (html / css / js): no hay base de datos en producción, no se instalará un motor php en el servidor. Todo el motor Drupal estará en otro servidor, la exportación se realizará cada vez que agregue / edite / cambie un nodo o vista, y se creará un nuevo conjunto de archivos html en una estructura de directorio. Estos archivos se copiarán más tarde en el sitio de producción que servirá siempre y solo archivos estáticos, sin .htaccess que verificará las solicitudes si existen archivos, etc.

¿Hay un módulo para eso, o una solución alternativa para lograrlo con Drupal?

Gracias

Maor Barazany
fuente

Respuestas:

2

Hay un nuevo módulo Drupal 7 que proporciona esta funcionalidad es Static Generator

Generador estático:

El módulo estático genera una copia completa de su sitio web en formato html que incluye todos los js, css, imágenes y otros activos. Esto se puede transferir para ejecutar el sitio web desde un servidor web simple sin PHP, MySQL o memcache.

Beneficios:

  • Rendimiento: sin PHP, Mysql, etc. en el sitio público. Todo es un archivo estático, por lo que se sirve muy rápidamente.
  • Seguridad: la versión estática del sitio no tiene una base de datos, cuentas de usuario o cualquier otra forma de interacción del usuario (excepto integraciones de terceros), por lo que es mucho más segura.
  • Fiabilidad: la mayoría de los puntos de falla habituales se han ido. PHP, MySQL, memcache, barniz, etc. ya no son parte del sitio estático.

Limitaciones:

Debido al hecho de que no hay una base de datos o PHP detrás del sitio web, no se puede usar ninguna funcionalidad que lo requiera. Las bibliotecas de la tercera parte pueden completar la mayoría de las funcionalidades necesarias.

Algunas de las partes que no se pueden usar son:

  • No hay filtros de vistas
  • Comentarios Drupal
  • Drupal búsqueda.
  • No hay formas de drupal.
  • Sin contexto (no el módulo), lo que significa que no puede cambiar el contenido de la página según el usuario a menos que lo haga en javascript.
  • No hay devoluciones de llamada ajax (excepto solicitudes GET pregeneradas)

Los buscapersonas funcionan siempre y cuando pasen por hook_preprocess_pager.

WaQaR Ali
fuente
1

GNU wget es un cliente WWW que puede descargar las páginas de su sitio y almacenarlas localmente. Use la -ropción para descargar páginas de forma recursiva (es decir, siga los enlaces a páginas en el mismo sitio que se encuentra en la página actual). También puede convertir URL absolutas en una relativa (usando la -kopción).

Oswald
fuente
Sí, conozco la opción wget, de esa manera hay un cliente WWW aún mejor que se llama HTTrack . Me preguntaba si hay una función integrada para Drupal que pueda agregar, por ejemplo, un botón en cada página que exportará la página a la versión estática, etc. Gracias
Maor Barazany
0

Estoy buscando algo similar Busqué en los módulos y encontré las siguientes opciones, pero aún no he examinado ninguno de ellos:

Queremos usar S3 u otro archivo estático que sirva el servicio CDN para nuestro sitio, por lo que es posible que algo más parecido a lo siguiente sea útil:

Otro pensamiento es que puede ser posible aprovechar un marco de almacenamiento en caché como boost y agregar algo para empujar los archivos a producción mientras los almacena en caché.

rjmunro
fuente
0

Puede usar el módulo Wget Static: generar HTML y guardar en FTP / Webdav , que hace exactamente lo que desea. De hecho, también he implementado la misma arquitectura que ha discutido anteriormente.

Puede seleccionar contenido para la generación de HTML estático, que también se puede omitir utilizando parámetros de consulta. Luego, la segunda parte llega donde realiza la generación estática de HTML usando la aplicación WGET. Este módulo estático de Wget cubre casi todas las opciones necesarias para la generación de datos estáticos.

No solo esto, finalmente, además de descargar ese html estático generado, tiene la opción de guardarlo en el servidor FTP o en el servidor Webdav , que nuevamente admite la autenticación de dos factores.


fuente