Option Contao installieren killt ev. vorhandene Seite!
lucdesign opened this issue · 22 comments
Will einen Kunden von Wordpress auf Contao migrieren. Check bot mir eine direkte Installation an. Nach der Installation war Wordpress zerschossen! Hatte vorher intuitiv die WP-index.html dupliziert, so konnte ich das noch geradebiegen. Überschreiben von Daten ohne Warnung geht aber gar nicht, finde ich!
Hast Du den Check etwa in dasselbe Verzeichnis geladen, in dem auch Wordpress lag???
Ja klar, warum denn nicht? Am Ende soll dort ja auch die Contao-Installation liegen. Im Ernst, so abwegig ist das wirklich nicht!
Doch, das finde ich schon. Man installiert doch nicht zwei Anwendungen in dasselbe Verzeichnis. Da sind Konflikte vorprogrammiert.
Dann soll mich bitte der Installer warnen. Es könnte ja noch schlimmere DAUs als mich geben auf dieser Erde. ;-)
Im Übrigen wäre es sehr praktisch, könnte Contao besser mit anderen Anwendungen koexistieren. Etwa durch eine bessere Kapselung der Ordnerstruktur oder eine flexible Benennung des html-index. Nicht nur für Migrationen. In der DB geht das ja schon mit prefix. Sollte vom Aufwand her trivial sein (duck).
Ich habe das zwar noch nicht ausprobiert, aber ich denke, dass jeder Contao-Versierte den Check, wenn er in seinem üblichen Verzeichnis liegt, ausführen und so eine bestehende Contao-Installation überschreiben kann.
Wäre es nicht möglich, den Check - wie das Installtool - mit einem PW zu versehen?
Es gibt durchaus Szenarien, bei denen man den Check auf dem Server belassen will, z.B. zur Verwendung von Easyupdate. So muss man ihn immer selbst sichern.
Im Übrigen wäre es sehr praktisch, könnte Contao besser mit anderen Anwendungen koexistieren. Etwa durch eine bessere Kapselung der Ordnerstruktur oder eine flexible Benennung des html-index. Nicht nur für Migrationen. In der DB geht das ja schon mit prefix. Sollte vom Aufwand her trivial sein (duck).
Das ist nicht möglich. Niemand kann dir garantieren, dass alle Web Applikationen dieser Welt nicht irgendwo die selben Ordner verwenden.
@fritzmg: Das stimmt, aber derzeit ist es durch die vielen Dateien und Ordner im Webroot sehr wahrscheinlich, dass es zu Kollisionen kommt. Steckt man all das in einen einzigen Ordner, sieht die Sache schon anders aus. Und der kann ja "Contao" heißen. Nur "index.php" wäre noch im Webroot, aber auch das kann man (in der .htaccess) lösen. Derzeit mache ich das händisch, denn oft muss ich Contao auf laufenden Seiten (oft mit anderen CMS) installieren und route erst später die ganze Seite ins jeweilige Unterverzeichnis. Ja, meine Kunden migrieren in Scharen zu Contao!
Das macht absolut keinen Sinn. Und das was du da vorschlägst ist nichts anderes, als wie wenn du Contao in einen Unterordner installierst und dann die Requests dann per Server Konfiguration dorthin umleitest. Dafür gibt es sogar einen Wiki Eintrag.
Und so etwas zu tun ist darüber hinaus auch nicht sinnvoll.
Wie löst man das denn korrekt?
Korrekt ist es pro Webapplikation eine Domain/Ordner zu haben, nicht mehrere Webapplikationen innerhalb eines Ordners. Natürlich ist es auch (i.d.R.) problemlos möglich eine Webapplikation direkt im Root zu haben und eine weitere wiederum in einem Unterordner davon - kommt aber auch darauf an.
Ok, das ist natürlich am saubersten. Dann werde ich also auch künftig Contao in einen Unterorder tun, solange die alte Seite der Kunden noch aktiv ist. Und dann reicht es ja, den DNS-Eintrag auf den Ordner zu stellen. Nur zum Testen muss ich vorübergehend die pathconfig bemühen. So richtig?
Den DNS Eintrag nicht (der zeigt ja einfach auf den Server an sich), du musst den Server dann so konfigurieren, dass der root für diese Domain dann bspw. in dem Ordner liegt, wo sich die Contao Installation befindet (wie du das machst hängt von der Serverumgebung bzw. vom Hoster ab).
Die pathconfig.php
musst du nicht selbst ändern, das erledigt das Install Tool für dich. Generell musst du:
- das Install Tool aufrufen
- die RewriteBase in der
.htaccess
ändern
wenn sich der Pfad zur Contao Installation relativ zur Domain ändert.
Bzgl. DNS: Mein Hoster bietet für diese Umleitung eine serverseitige Einstellung an (vorbei am .htaccess). Aber danke für die Infos! Von mir aus ist das Thema Unterordner hier erledigt.
Trotzdem: Das Installtool sollte nichts ungefragt überschreiben! Das widerspricht den Erwartungen an ein GUI-basiertes Tool. Ein Warnhinweis würde schon reichen.
Trotzdem: Das Installtool sollte nichts ungefragt überschreiben! Das widerspricht den Erwartungen an ein GUI-basiertes Tool. Ein Warnhinweis würde schon reichen.
👍 dem Stimme ich zu ;). Zumindset ein Warnhinweis mit nochmaliger Bestätigung würde nicht schaden. Und auch, dass das vorhanden sein des Contao Checks ein Sicherheitsrisiko darstellt und man ihn nach der Installation wieder entfernen sollte.
Hint: Willst du das Checktool erstmal auf dem Server lassen, dann schiebe es in den Ordner /templates/ von dort kann es nicht ausgeführt werden.
Naja oder einfach die /templates/.htaccess
in den Ordner /check
kopieren ;).
LOL, ja, nur dass man mit Filezilla nicht kopieren kann ;)
Doch das geht (nur nicht im Kontextmenü).
Man müsste das Installtool dahingehend abändern, dass es vor jeder potenziell sicherheitsrelevanten Tätigkeit eine Authorisierung verlangt, z.b. per Token, das nur per FTP hochgeladen werden kann, oder per Verzeichnisschutz für die betroffenen Programmteile. Dann kann man es getrost stehen lassen. Die Schuzfunktion sollte natürlich das GUI anbieten. Ich finde es zwar bequem, direkt aus dem Check zu installieren, aber die daraus resultierenden Sicherheitsrisken sind haarig.
Ich hab's heute noch mal ausprobiert. Nach der erfolgten Installation via Check wird angezeigt, in welchem Verzeichnis Contao installiert wurde. Es wäre sicher hilfreich, das Installationsverzeichnis VOR der Installation noch mal angezeigt zu bekommen bzw. es bestätigen zu müssen.
Eine bereits vorhandene Installation wird nicht überschrieben (gut zu wissen!), sondern es erscheint ein Hinweis, dass bereits eine Installation vorhanden ist. (Beim getesteten Check und Contao handelt es sich um aktuelle Versionen.)