Exportieren / Bereitstellen von Drupal-Sites / -Seiten in statische Dateien? (kein Cache)

12

Ich frage mich, ob es ein vorhandenes Modul gibt, das im Thema helfen kann. Ich suche kein Caching-Modul (wie Boost oder Varnish), sondern eine Möglichkeit, meine gesamte Site (oder nur bestimmte Seiten) in statische zu exportieren. Die Idee ist, dass ich möchte, dass mein Webserver sehr einfach und leicht ist und nur statische Dateien (html / css / js) bereitstellt - keine Datenbank in der Produktion, keine PHP-Engine wird auf dem Server installiert. Die gesamte Drupal-Engine befindet sich auf einem anderen Server. Der Export wird jedes Mal durchgeführt, wenn ein Knoten oder eine Ansicht hinzugefügt / bearbeitet / geändert wird. Außerdem wird ein neuer Satz von HTML-Dateien in einer Verzeichnisstruktur erstellt. Diese Dateien werden später auf den Produktionsstandort kopiert, der immer und nur statische Dateien bereitstellt, kein .htaccess, der Anforderungen überprüft, ob Dateien vorhanden sind usw.

Gibt es ein Modul dafür oder eine Problemumgehung, die mit Drupal erreicht werden kann?

Vielen Dank

Maor Barazany
quelle

Antworten:

2

Es gibt ein neues Drupal 7-Modul, das diese Funktionalität als statischen Generator anbietet

Statischer Generator:

Das statische Modul generiert eine vollständige Kopie Ihrer Website in HTML-Form, einschließlich aller Js, CSS, Bilder und anderen Assets. Dies kann dann übertragen werden, um die Website von einem einfachen Webserver ohne PHP, MySQL oder Memcache auszuführen.

Leistungen:

  • Leistung: Kein PHP, MySQL, etc. auf öffentlich zugänglichen Websites. Alles ist eine statische Datei, so dass es sehr schnell geliefert wird.
  • Sicherheit: Die statische Version der Site enthält keine Datenbank, Benutzerkonten oder andere Formen der Benutzerinteraktion (mit Ausnahme von Integrationen von Drittanbietern), sodass sie wesentlich sicherer ist.
  • Zuverlässigkeit: Die meisten üblichen Fehlerquellen sind verschwunden. PHP, MySQL, Memcache, Firnis usw. sind nicht länger Teil der statischen Site.

Einschränkungen:

Aufgrund der Tatsache, dass sich hinter der Website keine Datenbank oder PHP befindet, können alle Funktionen, die dies erfordern, nicht verwendet werden. Bibliotheken von Drittanbietern können die meisten der benötigten Funktionen ausfüllen.

Einige der Teile, die nicht verwendet werden können, sind:

  • Keine Ansichtsfilter
  • Drupal-Kommentare
  • Drupal-Suche.
  • Keine Drupal-Formulare.
  • Kein Kontext (nicht das Modul) - dh Sie können den Seiteninhalt nicht basierend auf dem Benutzer ändern, es sei denn, Sie tun dies in Javascript.
  • Keine Ajax-Rückrufe (außer vorgenerierten GET-Anfragen)

Pager funktionieren, solange sie durch hook_preprocess_pager geleitet werden.

WaQaR Ali
quelle
1

GNU wget ist ein WWW-Client, der die Seiten Ihrer Site herunterladen und lokal speichern kann. Verwenden Sie die -rOption zum rekursiven Herunterladen von Seiten (dh folgen Sie den Links zu Seiten auf derselben Site, die sich auf der aktuellen Seite befindet). Es kann auch absolute URLs in relative URLs konvertieren (mit der -kOption).

Oswald
quelle
Ja, ich kenne die wget-Option, auf diese Weise gibt es einen noch besseren WWW-Client, der HTTrack heißt . Ich habe mich gefragt, ob es eine integrierte Funktion für Drupal gibt, die eine Art Schaltfläche in jede Seite
einfügen
0

Ich suche etwas ähnliches. Ich habe die Module durchsucht und die folgenden Optionen gefunden, aber noch keine untersucht:

Wir möchten S3 oder eine andere statische Datei verwenden, die den CDN-Dienst für unsere Site bereitstellt. Daher ist möglicherweise Folgendes hilfreich:

Ein anderer Gedanke ist, dass es möglich sein könnte, ein Caching-Framework wie boost zu nutzen und etwas hinzuzufügen, um die Dateien in die Produktion zu verschieben, während sie zwischengespeichert werden.

rjmunro
quelle
0

Sie können das Modul Wget Static - HTML generieren und auf FTP / Webdav speichern , das genau das tut, was Sie wollen. Tatsächlich habe ich auch die gleiche Architektur bereitgestellt, die Sie gerade oben besprochen haben.

Sie können Inhalte für die statische HTML-Generierung auswählen, die auch mithilfe von Abfrageparametern umgangen werden können. Im zweiten Teil führen Sie die statische HTML-Generierung mit der WGET-Anwendung durch. Dieses statische Modul von Wget deckt nahezu alle Optionen ab, die für die Generierung statischer Daten erforderlich sind.

Abgesehen vom Herunterladen des generierten statischen HTML- Codes haben Sie auch die Möglichkeit, es auf einem FTP-Server oder einem Webdav-Server zu speichern , der wiederum die Zwei-Faktor-Authentifizierung unterstützt.


quelle