Drupal installieren
Drupal bei HS
Überprüft auf Installation der V 8.6.7.
Aktualisiert auf Basis von drupal 10.3.1 (26.07.2024)
Vorbereitungen
In hsadmin, zum Beispiel mit hsscript:
hsadmin-Shell starten mit:
hsscript -u xyz00 -i
Password: ********
Dann nacheinander anlegen:
- Linux User als Domain-Administrator
- Subdomain drupal.hs-example.de
- MySQL-User
- MySQL Datenbank
xyz00@hsadmin> user.add({set:{name:'xyz00-drupal',password:'geheim',shell:'/bin/bash',comment:'Drupal CMS'}})
xyz00@hsadmin> domain.add({set:{name:'drupal.hs-example.de',user:'xyz00-drupal'}})
xyz00@hsadmin> mysqluser.add({set:{name:'xyz00_drupaluser',password:'geheim'}})
xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_drupaldb',owner:'xyz00_drupaluser'}})
drupal 10 braucht mindestens php 8.1 dies wird installiert nach Anleitung: Aktuelle PHP Version nutzen
Drupal installieren
Anmelden als Linux-User xyz00-drupal:
ssh -l xyz00-drupal xyz00.hostsharing.net
Mit Composer
Stand Juli 2024 ist die Composer Version auf den Hives perfekt für drupal, das kann geprüft werden mit:
$ composer --version
oder kurz
$ composer -V
Die auf den Hives vorhandene Version von Composer kann veraltet sein, daher ist es sinnvoll eine eigene Version zu installieren von: https://getcomposer.org/download/ Siehe auch https://www.drupal.org/docs/develop/using-composer und insbesondere https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies
cd doms/drupal.hs-example.de
composer create-project drupal-composer/drupal-project:8.x-dev var/drupal-installationsverzeichnis --no-interaction
alternativ geht auch mit einer lokalen (und aktuellen Version von Composer)
../lokales-Composer-Verzeichnis/composer.phar composer create-project drupal/recommended-project var/drupal-installationsverzeichnis --no-interaction
Nun entsteht in dem Ordner var/drupal-installationsverzeichnis/web die neue Drupal Site, die dann noch in das entsprechende Verzeichnis (ich nutze nur noch htdocs-ssl) verlinken:
rmdir htdocs-ssl
ln -s var/drupal-installationsverzeichnis/web htdocs-ssl
Drupal für HS anpassen
doms/drupal.hs-example.de/htdocs
# vi .htaccess
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
# RewriteBase /
wird zu
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
RewriteBase /
Drupal konfigurieren
Im Browser auf die Seite http://drupal.hs-example.de gehen und den Anweisungen folgen.
Drupal template default für HS konfigurieren
cd sites/default/files/php/twig
chmod 644 .htaccess
edit .htaccess
In der Zeile 11 den Eintrag "-ExecCGI" und "-Includes" löschen, mit diesem Ergebnis:
Options -Indexes -MultiViews
und dann noch eine .htaccess
cd ../..
chmod 644 .htaccess
edit .htaccess
In der Zeile 2 den Eintrag "-ExecCGI" und "-Includes" löschen, mit diesem Ergebnis:
Options -Indexes -MultiViews
Danach die Seite im Browser neu laden.
Mit Ansible bei HS installieren
Technische Details
Es gibt ein Ansible Skript, das die Installationsschritte für Drupal automatisiert durchführt.
Die Quellen für das Ansible Skript können hier eingesehen werden: https://codeberg.org/tpokorra/hs.ansible/src/branch/main/playbooks/drupal
Es wird die aktuelle Version 10 von Drupal installiert.
Es wird die Installationsvariante mit Composer gewählt, weil sich damit Updates am leichtesten durchführen lassen.
Installation
Folgende Schritte sind auf dem lokalen Rechner auszuführen, um Drupal mit Hilfe des Ansible Skripts in den eigenen Hostsharing Benutzer zu installieren:
Klonen des Repositories:
$ git clone https://codeberg.org/tpokorra/hs.ansible.git
Dann muss die Datei inventory-sample.yml kopiert werden, und entsprechend angepasst werden:
cd hs.ansible
cp playbooks/drupal/inventory-sample.yml inventories/my.drupal.yml
vi inventories/my.drupal.yml
In der my.drupal.yml müssen die entsprechenden Werte eingerichtet werden.
Eine Fehlerquelle sind zu lange Namen für user, denn dann kommt die Datenbankverwaltung von hsadmin aus dem Tritt. Bei einem Namen mit 13 Zeichen treten zumindest Fehler auf...
Es wird vorausgesetzt, dass auf dem lokalen Rechner Ansible installiert ist.
Dann kann die Installation vom lokalen Rechner aus gestartet werden:
ansible-playbook -i inventories/my.drupal.yml init.yml
ansible-playbook -i inventories/my.drupal.yml playbooks/drupal/install.yml
Einrichtung
Nach der Installation kann die Seite hier erreicht werden: https://drupal.example.org
Bitte mit dem Benutzer und dem Passwort anmelden, die in der Datei my.inventory angegeben wurden.
Links
- Englische Webseite vom Drupal Projekt
- Deutsche Webseite, bereitgestellt vom Drupal e.V.
- Ansible Playbook für Hostsharing