DDEV: Website vom lokalen Server auf Webspace übertragen
am 06.07.2022 - 10:17 Uhr in
Hallo zusammen,
ich habe gerade ein Problem, bei dem ich auf dem Schlauch stehe:
Ich habe in meiner lokalen Entwicklungsumgebung DDEV und Docker installiert und mit Drupal 9 eine neue Seite erstellt. Nun stehe ich vor der Anforderung, dass die Seite auf einen Webspace transferiert werden muss, auf dem weder Composer noch Drush genutzt werden können. Leider klappt das nicht so, wie ich es mir gedacht habe.
In DDEV habe ich die folgende Verzeichnisstruktur:
projektname
- .ddev
-- vendor
-- web
Im Verzeichnis web liegt die eigentliche Drupal-Installation mit den Verzeichnissen core, sites etc.
Ich habe diese Verzeichnisstruktur zum Upload auf den Webspace an eine Installation ohne DDEV angepasst: .ddev habe ich entfernt und der Inhalt des Ordners web liegt nun zusammen mit vendor auf einer Ebene im Projektordner, sodass ich die folgende Struktur habe;
projektname
- vendor
- core
- sites
- themes
- modules
etc.
In der settings.php habe ich die Passage
// Automatically generated include for settings managed by ddev.
if (file_exists(__DIR__ . '/settings.ddev.php') && getenv('IS_DDEV_PROJECT') == 'true') {
include __DIR__ . '/settings.ddev.php';
}
auskommentiert und die aktuellen DB-Daten sind eingetragen.
Leider lässt sich die Seite nicht aufrufen, ich bekomme eine weiße Seite mit einem http error 500.
Ich kann keine Fehler in der htaccess und in der settings.php erkennen.
Bin ich eigentlich grundsätzlich richtig vorgegangen?
Über einen Tipp würde ich mich sehr freuen!
Grüße aus Berlin
Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
Du mußt die Struktur
am 06.07.2022 - 11:21 Uhr
Du mußt die Struktur beibehalten:
projektname
- vendor
- web
Der Einstieg für den Apache2 muß auf projektname/web gesetzt werden und natürlich die Datenbank-Anbindung in der settings.php angepaßt werden.
Du solltest aber auf jeden Fall die Übertragung der Software über einen tar- oder zip-File machen. Bei FTP sind bei der Menge an Dateien Fehler nicht ausgeschlossen, die sich erst beim Aufruf von Drupal zeigen. Also ohne ssh-Zugriff zum Provider geht es wirklich nicht.
Drush liegt bei den aktuellen Dupal Versionen (also bei Drupal 9) im vendor Verzeichnis und verlangt lediglich ein php auf der Kommandozeile in einer ausreichend hohen Version (php 7.4). Falls der Provider das nur als php.74 o.ä. bietet, also nicht als einfach nur php, läßt sich ein einem eigenen Verzeichnis im Home des eigenen Accounts ein symbolischer Link namens php auf die richtige Version anlegen. Wenn Du dieses Verzeichnis dann als erstes in Deine PATH-Variable inbindest, wid unter php die "richtige" Version gefunden und drush auf der oberen Ebene als vendor/bin/drush aufrufbar sein.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo Werner, super, vielen
am 06.07.2022 - 18:08 Uhr
Hallo Werner,
super, vielen Dank für den Tipp!
Viele Grüße
Matthias