Drupal 9 auf Siteground Webhosting-Paket mit Unterverzeichnis im Public_html einrichten

    • Offizieller Beitrag

    Hallo Zusammen,


    im Rahmen des Drupal 9 Kurses erzähle ich euch hier, wie ihr ganz entspannt Drupal 9 auf einem Webpaket von Siteground einrichten könnt. Und das so, dass ihr euer Drupal Projekt mitsamt "vendor" und "web"-Ordner uploaden und nutzen könnt. Siteground ist ein sehr einfach zu bedienender Webhoster, der allerdings im sonst tollem Login/Interface keine richtige Funktion für die Umleitung auf einem Subfolder (Unterverzeichnis) anbietet.


    Drupal 9 mit Unterverzeichnis auf Siteground einrichten:


    1. Website in den Wartungsmodus versetzen

    Setzt eure bisherige Website (auf dem lokalen oder bisherigen Webserver) in den Wartungsmodus.


    2. MySQL-Datenbank sichern

    Sichert eure MySQL-Datenbank mittels Backup&Migrate unter "Konfiguration > Sichern und Migrieren (Backup and Migrate). Es reicht die Datenbank einzeln zu sichern.


    3. FTP-Daten auf neuem Webserver hochladen

    Legt in den Site-Tools von Siteground einen FTP-Benutzer an und ladet via Filzilla (dort die Login-Daten eintragen) jetzt alle Daten inkl. Vendor und Web-Ordner in das public_html Verzeichnis von Siteground.


    4. Erstellt eine MySQL-Datenbank und einen MySQL-Benutzer im Siteground-Login unter Site-Tools.


    5. MySQL-Datenbank über phpmyadmin auf Siteground importieren

    Importiert nun die in Punkt 2 gesicherte SQL-Daten (kann auch eine komprimierte Datei sein (zip oder ähnlich) über phpmyadmin.


    6. Settings.php anpassen

    Ihr müsst jetzt die settings.php Datei anpassen. Wo bislang die alten Zugangsdaten zur alten MySQL-Datenbank hinterlegt waren, müsst ihr jetzt die Daten von Siteground hinterlegen:


    Code
    $databases['default']['default'] = array (
      'database' => 'DATENBANKNAME',
      'username' => 'DATENBANKUSERNAME',
      'password' => 'PASSWORD',
      'prefix' => '',
      'host' => 'localhost',
      'port' => '3306',
      'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
      'driver' => 'mysql',
    );

    Ersetzt das "GROSSGESCHRIEBENE" mit euren Daten von Siteground.

    Nun müsst ihr in der Settings.php noch weitere Daten anpassen und ergänzen. Fügt am Ende der Settings.php noch folgende Zeilen hinzu:


    Code
    $settings['trusted_host_patterns'] = [
      '^www\.deineDomain\.de$',
    ];

    und jetzt noch etwas extra für Siteground-User. Das noch zusätzlich am Ende hinzufügen:

    Code
    if (isset($GLOBALS['request']) and
    '/web/index.php' === $GLOBALS['request']->server->get('SCRIPT_NAME')) {
    $GLOBALS['request']->server->set('SCRIPT_NAME', '/index.php');
    }

    Speichert die settings.php und ersetzt diese auf eurem Siteground-Webserver via FTP. Stellt vor dem Überschreiben den CHMOD auf "777" um und im Anschluss (nach dem Überschreiben) wieder auf "444" um.


    7. .htaccess im Public_html Verzeichnis ablegen

    Damit die Weiterleitung auf ein Unterverzeichnis auf Siteground reibungslos mit Drupal 9 läuft, könnt ihr ganz einfach eine .htaccess-Datei dort ablegen. Öffnet euren Editor und fügt folgende Zeilen hinzu. Ersetzt das GROSSGESCHRIEBENE.


    Danke an blog.oscarliang.net. Dort habe ich die .htaccess-Vorlage gefunden! :) :thumbup:


    Speichert diese jetzt im public_html Ordner (siehe Bild).


    8. .htaccess im /web Verzeichnis anpassen

    Und jetzt müssen wir noch an die .htaccess-Datei im /web Verzeichnis ran:


    Öffnet diese und sucht nach:

    Code
      # RewriteBase /drupal

    Entfernt die # und setzt /web als Verzeichnis ein. Wie hier...

    Code
      RewriteBase /web

    Und nun seid ihr fertig und ihr könnt Drupal ganz gewöhnlich mit perfekter Weiterleitung auf das Unterverzeichnis nutzen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!