Zum Inhalt springen

Statischer HTML Export

Erstellt am 8. Mai 2003 · 17 Antworten · letzte Antwort am 22. Februar 2007

Tags: Frage

Ulrike Küsters ·

Hallo Typo3 ler,

nun, da ich auch das deutsche Forum entdeckt habe, vielleicht nochmal meine Frage von vorhin in der Mailing List etwas konkretisiert:
Wie genau funktioniert bei Typo3 der Publishing Prozeß, sprich der Export der dynamischen template-Content-Snipsel in Statische HTML Seiten und wo finde ich diese Publishing Funktion?
Ich habe Typo3 mal installiert (die Quickstart Version mit der Fußballseite)
Kann aber dort keine "publish" funktion finden. Wo genau befindet sich denn diese Option? ISt das vielleicht eine zusätzliche Extension, die man vorher noch aktivieren muß?

Robert Lemke wrote:
>yes, TYPO3 supports exporting into static HTML, the process is called
>"publishing"
>and you can find it in the frontend's admin tool. Just search the archives >for "publish".

Vielen Dank für Eure Hilfe

Gruß
Ulrike

Jörg Roth ·

Hallo Ulrike,

spät und unverhofft kommt oft.

Das Erstellen echter statischer Seiten erfolgt über den "Veröffentlichen"-Link im FrontEnd. Dazu muss das Admin-Panel im Setup eingeschaltet sein.

page.config.admPanel=1

Weiterhin muss die Funktion simulateStaticDocuments genutzt werden. Dazu ist einiges an arbeit notwendig. Als erstes muss der Webserver die RewriteEngine eingeschaltet haben. Dazu werden beim Apache die entsprechenden Zeilen zu mod_rewrite (.so als auch das AddModule) auskommentiert. Für das Verzeichnis (root oder typo3-Verz.) selber muss die Eigenschaft AllowOverride auf All stehen, damit .htaccess-Dateien überhaupt gelesen werden. Anschließend den Apache neu starten.

Die .htaccess im Typo3-root umbenennen und im Editor öffnen. Sie sollte so aussehen:

RewriteEngine On
RewriteBase /deintypo3verzeichnis
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule   ^typo3$  typo3/index_re.php 
RewriteRule   ^([0-9]+)[.]([0-9]+).html$ index.php?id=$1&type=$2

Im Template entsprechend die Modifikationen eintragen (Setup):

// Simulate Static Docs Optionen
config.simulateStaticDocuments = 1
config.simulateStaticDocuments_pEnc = md5 
config.simulateStaticDocuments_pEnc = base64

Was das bewirkt, kannst Du in der TSRef nachlesen.

Öffne jetzt die Datei localconf.php im Verzeichnis typo3conf. Füge folgende Zeilen hinzu:

// Statische Dokumente simulieren
$TYPO3_CONF_VARS["FE"]["simulateStaticDocuments"] = "1";
$TYPO3_CONF_VARS["FE"]["publish_dir"] = 'pub/';

Das kannst Du auch über das Install-Tool machen (All config.).

Nun kannst Du die Webseite öffnen und findest im unteren Teil das Admin-Panel. Auf + klicken und Du findest den Bereich "Veröffentlichen". Ein Klick auf "Jetzt veröffentlichen!" generiert die Seiten im publish_dir. Das sollte im übrigen Schreibrechte haben, sonst gehts net...

Hoffe, dass hat Dir weitergeholfen!

Jörg

eberhardt ·

Die .htaccess im Typo3-root umbenennen und im Editor öffnen. Sie sollte so aussehen:

RewriteEngine On
RewriteBase /deintypo3verzeichnis
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule   ^typo3$  typo3/index_re.php 
RewriteRule   ^([0-9]+)[.]([0-9]+).html$ index.php?id=$1&type=$2

hallo jörg,

finde dein tutorial über die simulateStaticDocuments-Funktion von typo ausserordentlicht verständlich und gut.
habe alles gemacht und erhalte von dem moment an, wo die .htaccess im typo3-verzeichnis auf dem Server liegt, die Fehlermeldung vom Browser "Forbidden
You don't have permission to access /index.php on this server."
die httpd.conf habe ich für das gesamte Kundenverzeichnis mit "AllowOverride ALL" angepasst.
was mach ich wohl falsch?

eberhardt

Jörg Roth ·

Hast Du das Verzeichnis

RewriteBase /deintypo3verzeichnis

entsprechend angepasst? Welche Apache-Version?

Ich habe das mal mit einer blanken Installation getestet und es klappte da ohne Probleme...

eberhardt ·

[​quote="Jörg Roth"]Hast Du das Verzeichnis

RewriteBase /deintypo3verzeichnis

entsprechend angepasst? Welche Apache-Version?

Hallo Jörg,
du bist ja prompt. dann seh ich auch mal davon ab, dich mit einer persönlichen email zu behelligen...

ich habe einen root server bei 1und1. da ist confixx vorinstalliert und definiert in der httpd.conf als system-root sein eigenes verzeichnis: copy-paste:

#############

# First, we configure the "default" to be a very restrictive set of
# permissions.
#
<Directory />
AuthUserFile /etc/httpd/passwd
AuthGroupFile /etc/httpd/group

Options -FollowSymLinks +Multiviews
AllowOverride None

</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/home/www/confixx/html">

#
# This may also be "None", "All", or any combination of "Indexes",

############

am ende sieht meine httpd.conf halt so aus:

#############

## CONFIXX
<Directory "/home/www/confixx/html">
AllowOverride all
</Directory>

Include /etc/httpd/confixx_vhost.conf
# ^- Dieser Eintrag sollte unbedingt am Ende der Datei bleiben
# besser nicht ganz ans Ende, sonst funktioniert der 'gesperrt'-VHost nicht!

<VirtualHost xxx.xxx.xxx.xxx:xx>
ServerName confixx.pxxxxxxxx.pureserver.info

# Server nur ueber HTTPS konfigurieren:
# RedirectPermanent / https://confixx.pxxxxxxxx.pureserver.info/
# /reg/-URLs gehen damit nicht

CustomLog /var/log/httpd/pxxxxxxxx.pureserver.info_access.log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i""
ErrorLog /var/log/httpd/pxxxxxxxx.pureserver.info_error.log
#User confixx
#Group users
DocumentRoot /home/www/confixx/html
php_admin_value safe_mode_exec_dir /home/www/confixx/bin
php_admin_value upload_tmp_dir /home/www/confixx/tmp
ScriptAlias /cgi-bin/ /home/www/confixx/html/cgi-bin/
</VirtualHost>
## /CONFIX

#Einbindung meiner eigenen Apache-Konfiguration

Include /etc/httpd/myapache.conf
############

Inhalt dieser include "myapache.conf", die auch durchaus gelesen wird:

############

<Directory "/home/www/webx/html">

AllowOverride all

</Directory>
############

das ist auch das verzeichnis, in dem die index.php und
der (_).htaccess-file liegen. wahrscheinlich ist mein
"myapache.conf"-file quatsch. Ich denke hier liegt der Fehler. Ich habe aber schlicht zu wenig ahnung, wie man den server über https konfiguriert, bzw. ich dem server sage, dass er für das Verzeichnis/home/www/webx/html AllowOverride All setzen soll....
und für die virtualHosts legt confixx eine eigene datei an
--> /etc/httpd/confixx_vhost.conf,
die immer überschrieben wird.

sorry für die menge text. bin ein newbie, aber knie mich rein. finde typo3 klasse, und hab mich schon mächtig mit ImageMagick usw. rumgeschlagen. zum schluss klappts dann in der regel.

danke im voraus für hilfe
eberhardt

jason0815 ·
Jörg Roth schrieb

Nun kannst Du die Webseite öffnen und findest im unteren Teil das Admin-Panel. Auf + klicken und Du findest den Bereich "Veröffentlichen". Ein Klick auf "Jetzt veröffentlichen!" generiert die Seiten im publish_dir. Das sollte im übrigen Schreibrechte haben, sonst gehts net...

Hallo,

sieht da jemand die Möglichkeit den Dateinamen der Seite statt der ID durch den Navigationspfad(als Verzeichnisse) der Seite und den Seitentitel zu ersetzen, also z.B.:

/wwwroot/service/kontakt/email.html.

Ciao Rene

wiki ·
Jörg Roth schrieb

... Das Erstellen echter statischer Seiten erfolgt über den "Veröffentlichen"-Link im FrontEnd. ...

Kann die Veröffentlichung nur im FRONTend, aber nicht im BACKend erfolgen?

Jörg Roth schrieb

... Nun kannst Du die Webseite öffnen und findest im unteren Teil das Admin-Panel. Auf + klicken und Du findest den Bereich "Veröffentlichen". Ein Klick auf "Jetzt veröffentlichen!" generiert die Seiten im publish_dir.

Ich sehe bei mir nirgends ein "+" - wo würde ich das finden?

Danke für den ultimativen Tipp & Gruss
wiki

Jörg Roth ·

Be creative!

Das geht so nur aus dem Frontend. Du könntest ein neues Modul mit dem Kickstarter erstellen. In diesem wählst Du den Punkt in der Struktur aus, ab dem Veröffentlicht werden soll und stellst ggf. noch ein, wie viele Ebenen das betrifft.

Das Admin-Panel ist ganz unten unter der Seite - und nur dann zu sehen, wenn Du
a) am Backend angemeldet bist und
b) wenn Du es eingeschaltet hast (config.admPanel = 1)

wiki ·
Jörg Roth schrieb

Das Admin-Panel ist ganz unten unter der Seite - und nur dann zu sehen, wenn Du
a) am Backend angemeldet bist und
b) wenn Du es eingeschaltet hast (config.admPanel = 1)

Ich seh noch immer nix, obowhl ich obiges sauber gemacht habe. Ist das im "Normal-alle-User-Modus" zu sehen oder nur, wenn ich im Editier-Modus bin? Liegt's vielleicht an meinem HTML-Template (Design-Vorlage)? Muss ich da irgendein ###TAG### einbauen?

Danke für weitere Tipps!
Gruss, wiki

bnai ·

Hi,

also ich habe meine Webseite mit HTTrack (Webseitenkopierer) "exportiert". Mein erster Eindruck ist überraschend gut. Bisher sind mir nur Links zu einigen PDF-Dokumenten aufgefallen, die nicht funktionieren, die sind aber weit in der Minderheit und den Grund, wieso er die nicht gezogen hat, finde ich bestimmt auch noch raus.

Also ich möchte auf diesem Wege nur HTTrack für den statischen HTML-Export empfehlen - unkompliziert und gut!

Ich lasse gerade einen Link-Checker drüber laufen, bei einer negativen Überraschung lasse ich es euch wissen...

steffen_b ·

Hallo !

Ich habe das Thema auch gerade durch. Ich habe das Veröffentlichen über das admin Panel auch ausprobiert, bin aber nicht wirklich begeistert. Es waren keine Bilder kein CSS und sonst auch nichts exportiert. Ich habe es jetzt so gelöst das sämtliche Bilder im fileadmin liegen. Ich spiegele per ftp einmal den fileadmin Bereich und Spiegele die Site per wget. Bisher habe ich nur eine Situation die nicht funktioniert, wobei ich die Ursache nicht gefunden habe (Irgendeine RCE.....gif.gif konnte nicht gefunden werden und ist nachher auch nicht in der Seite)

Bei Interesse kann ich auch genauere Kommandozeilen posten.

Steffen

oliver67 ·

Hallo,

die Anleitung ist Klasse, habe nur noch folgendes Problem.

Wie funktioniert das ganze mit news?

bekomme Listen angezeigt, aber die Links zu den Detail Ansichten werden nicht genereirt

z.B. link bei more
...News-Details.82+M5ffe5d27056.0.html

die Seite wird nicht generiert wie werden die News statisch erzeugt?

oliver67 ·

Hallo,

nur noch zur Vervollständigung zum Thema statische HTML-Seiten.

Bei Verwendung von RealUrl, empfiehlt sich dkd_staticUpload und dkd_staticpublish zu nehmen.

Publish funktioniert schon, upload 8transport zum Webspace) muss ich noch konfigurieren.

Sourcen und kleine Anleitung von Andreas Otto von d.k.d.

http://typo3.org/development/participate/typo3xdev/
http://typo3.org/development/participate/typo3xdev/typo3xdev-nighties/
http://www.yeebase.com/fileadmin/t3n/archiv/06-02/t3n_06-02_statische_seiten_typo3.pdf

thats it
Oliver
😉