Zum Inhalt springen

Update auf 4.2.1 ohne Symlink

Erstellt am 26. Juni 2008 · 11 Antworten · letzte Antwort am 24. Februar 2009

Tags: Frage

fuf_fg ·

Hallo Forum,

ich möchte meine Typo3-Installation (Version 4.1.5) auf 4.2.1 updaten. Die Installation wurde nicht mit symlink vorgenommen, die Verzeichnisstruktur sieht so aus:

fileadmin
misc
t3lib
typo3
typo3conf
typo3temp
uploads
source_4_2_1

Ist es möglich, den Symlink neu anzulegen und auf die neue source zu setzen?
Sorry, falls die Frage banal ist, aber die Option "symlink" ist mir völlig neu.

Beste Grüße,
Felix

Unbekannter Benutzer ·

Hi Felix,

ich hab hier mal in einem HowTo für mich zusammengefasst, wie ich es gemacht habe:

0.
(Bei Umstellung auf Symlinks nur beim ersten Mal nötig.)
Die alten Source-Dateien (also die Ordner misc, t3lib und typo3 sowie die Datei index.php) werden nicht mehr benötigt und müssen für die folgenden Schritte gelöscht werden.

1.
Mit wget kann eine Datei -hier der neue Source in der .tar.gz-Version- direkt auf den Server übertragen werden.

<?php exec ("wget http://prdownloads.sourceforge.net/typo3/typo3_src-4.2.1.tar.gz?download"); ?>

2.
Danach muss die Datei entpackt werden (geht mit tar).

<?php exec ("tar xfvz typo3_src-4.2.1.tar.gz"); ?>

Das Ergebnis ist ein Ordner "typo3_src-<version>" mit dem Inhalt des Source-Paketes.
(Dann kann die geladene Datei gelöscht werden.)

3.
Am Besten werden die Symlinks "zweistufig" aufgebaut, so wird ein späteres Update leichter:
Zuerst muss der Symlink für den Ordner typo3_src erstellt werden.
Er zeigt auf den aktuellen Sourceordner (im Moment typo3_src-4.2.1)
Sollte bereits ein Symlink mit diesem Namen bestehen, muss er erst gelöscht werden:

<?php exec ("rm typo3_src"); ?>

Erstellt den neuen Symlink:

<?php exec ("ln -s typo3_src-4.2.1 typo3_src"); ?>

4.
DER FOLGENDE SCHRITT IST BEI UMSTELLUNG AUF SYMLINKS NUR EINMAL NÖTIG;
bei folgenden Aktualisierungen weiter bei 5.!
Um TYPO3 später einfacher aktualisieren zu können, werden die Symlinks zweischrittig erstellt:
Zunächst wurde ein Symlink für den Ordner typo3_src erstellt.
Dieser verweist auf den aktuellen Sourceordner (im Moment typo3_src-4.2.1)

Dann müssen noch drei Symlinks erstellt werden:
Einer für den Ordner typo3, einer für den Ordner t3lib und einer für index.php.
(Der Inhalt des Ordners misc ist für den Betrieb von TYPO3 nicht nötig.)
Sie zeigen jeweils in den Ordner typo3_src,
müssen also nicht mehr einzeln aktualisiert werden.

Mit jeder neuen Version braucht dann nur noch das Ziel
des Symlinks typo3_src angepasst werden (siehe unter 3.),
damit der neue Source verwendet wird.

Symlinks für die zwei Systemordner und index.php anlegen.
a) Symlink für den Ordner typo3.
Erstellt den neuen Symlink.

<?php exec ("ln -s typo3_src/typo3 typo3"); ?>

b) Symlink für den Ordner t3lib.
Erstellt den neuen Symlink.

<?php exec ("ln -s typo3_src/t3lib t3lib"); ?>

c) Symlink für die Datei index.php.
Erstellt den neuen Symlink.

<?php exec ("ln -s typo3_src/index.php index.php"); ?>

5.
Im Install-Tool:
Im Database Analyser müssen ein Compare durchgeführt und die nötigen Änderungen bestätigt werden.

6.
Dann müssen die Dateien mit temp_CACHED_*.php entfernt werden.
Das geht unter "Edit files in typo3conf/" mit der Option "Delete temp_CACHED* files".

7.
FERTIG!

fuf_fg ·

Hi Chrissitopher,

ich danke Dir sehr für diese ausführliche Beschreibung...hat mir sehr geholfen, das Update hat funktioniert!

Grüße Felix

Reimemonster ·

Hat alles gut geklappt.
Allerdings habe ich noch eine Ordner "projekt1" in dem die Symlinks typo3, typo3_src und t3lib drin sind.

Das Typo3 liegt eine Ebene drunter. Wie soll ich jetzt die Symlinks erstellen

....so etwa

<?php exec ("ln -s ./typo3_src-4.2.1 typo3_src"); ?>
Unbekannter Benutzer ·

Das hätte ich vll. ausführlicher dazu schreiben sollen:
Zu 3.
Der Symlink typo3_src muss auf den Ordner mit dem TYPO3-Quellcode zeigen.
Um etwa einen Ordner höher zu gehen, muss vor den Pfad "../" geschrieben werden (mit zwei(!) Punkten).
Beispiel:
Im Ordner "html" liegen mehrere Unterordner ("projekte1", "projekte2"...). Diese Unterordner enthalten jeweils die Dateien eines TYPO3-Projekts.
Der Sourcecode soll jetzt ebenfalls im Ordner "html" liegen (das hat dann den Vorteil, dass es ordentlich aussieht und er mehrfach verwendet werden kann).
In den Ordnern wie b etwa "projekt1" muss dann der Symlink auf den Source so erstellt werden:

<?php exec ("ln -s ../typo3_src-4.2.1 typo3_src"); ?>
Azu ·

Wo soll ich die ganzen Anweisungen denn eingeben? Hab nur Webspace mit php5 und habe jeweils eine php Datei erstellt mit den Anweisungen, was jedoch nichts gebracht hatte....
Oder kann man ein Update auch komplett ohne symlink starten?

Unbekannter Benutzer ·

Das was ich da jeweils als PHP-Code geschrieben habe, muss genau so in eine leere Datei, die mit der Endung .php auf deinen Server muss.
Dadurch passiert aber noch gar nichts.

Der Code muss ausgeführt werden.
Das wird erledigt, wenn du die Datei auf dem Server mit deinem Webbrowser ausrufst.

Bis der Vorgang dann jeweils abgeschlossen ist, kann es bei wget... und tar... etwas dauern. Am Ende siehst du nur einen leeren Bildschirm.
Um zu sehen, ob es fertig ist, kannst du die Dateien jeweils vor dem abschließenden "?>" hiermit ergänzen:
echo "Fertig.";

z.B.

<?php exec ("wget http://prdownloads.sourceforge.net/typo3/typo3_src-4.2.1.tar.gz?download");
 echo "Fertig."; ?>
Unbekannter Benutzer ·

OK, anderer Versuch:
Nimm die zip-Datei des TYPO3-Source, entpack sie auf deiner Festplatte und lad den entpackten Inhalt per ftp hoch.
Dabei brauchst du keine Symlinks.

Danach geht es weiter bei 5.

haurg ·

Hallo zusammen,

die Anleitung ist sehr gut. Vielen Dank dafür.
Jedoch habe ich noch ein Problem. Ich bekommen den Symlink nicht auf die index.php. Die anderen beiden für typo3 und tslib funktionieren anstandslos. Kann sie auch über ein FTP-prgramm öffnen. Das Backend funktioniert auch. Die Datenbank updates habe ich durchgeführt.

Ich kann lediglich die index.php nicht aufrufen. Es kommt dann immer ein Skriptfehler (500 Internerserverfehler). Die index.php kann ich aber über das FTP-Programm abrufen.
Wird da irgendwas von seiten des Providers blockiert oder brauche ich noch irgendwelche Schreibberechtigungen.

Wenn ich die index.php "echt" reinkopiere läuft alles wunderbar.

Ich hoffe, dass ihr mir weiterhelfen könnt.

Vielen Dank

hemina ·

Moin,

ich habe letztlich dieselbe Fragestellung wie fuf_fg oben:

Ich möchte meine bisherige t3 Installation Version 4.1.3 (OHNE symlinks) auf die Version 4.2.6 (MIT symlinks) updaten.

Ich habe auch schon - mangels shellzugang - ein bischen mit einem php-skript rumgespielt und mal so zur Übung einige Verzeichnisse und symlinks angelegt bzw. gelöscht.

Wenn ich jetzt wie von Chrissitopher sehr gut beschrieben vorgehe, stellen sich mir noch zwei Fagen:

Woher weiß mein t3, dass es die Source-Dateien unter "typo3_src" suchen muss? Denn diesen "Ordner" gibt es doch bei mir momentan gar nicht. Momentan entnimmt es die Systemdateien ja direkt aus den im Hauptordner vorhandenen Unterordnern.

Und wofür ist der misc-Ordner gut, wenn er - wie Chrissitopher schreibt - für eine laufende Installation gar nicht benötigt wird?

Viele Grüße

Unbekannter Benutzer ·

Nach meiner Anleitung (unter 3.) setzt du ja den Symlink

<?php exec ("ln -s typo3_src-4.2.1 typo3_src"); ?>

(Hier muss man anpassen: Die aktuelle Version ist 4.2.6. Deshalb heißt der Ordner auch anders und der Symlink muss entsprechend diesen Ordner als Ziel haben.)

Danach erstellst du (unter 4.) die Symlinks für die Ordner typo3/, t3lib/ und für index.php:

<?php exec ("ln -s typo3_src/typo3 typo3"); ?>

u.s.w., s.o.

Wichtig: Jeder dieser Symlinks verweist in den Ordner typo3_src.
Das ist ja der gerade angelegte Symlink auf den Ordner mit dem Sourcepaket. Es findet also ein Verweis in die Ordner aus dem Source statt.

Der Ordner misc enthält nur einige Scripte, mit denen man mehrere Installationen managen kann.
Um TYPO3 zu benutzen, sind sie nicht nötig.