Drupal installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Link zu Ansible Playbook in Codeberg Repository geändert)
KKeine Bearbeitungszusammenfassung
Zeile 8: Zeile 8:
''hsadmin''-Shell starten mit:
''hsadmin''-Shell starten mit:


  hsscript -u xyz00 -i
<syntaxhighlight lang="bash">
  Password: ********
hsscript -u xyz00 -i
Password: ********
</syntaxhighlight>


Dann nacheinander anlegen:
Dann nacheinander anlegen:
Zeile 18: Zeile 20:
* MySQL Datenbank
* MySQL Datenbank


  xyz00@hsadmin> user.add({set:{name:'xyz00-drupal',password:'geheim',shell:'/bin/bash',comment:'Drupal CMS'}})
<syntaxhighlight lang="bash">
  xyz00@hsadmin> domain.add({set:{name:'drupal.hs-example.de',user:'xyz00-drupal'}})
xyz00@hsadmin> user.add({set:{name:'xyz00-drupal',password:'geheim',shell:'/bin/bash',comment:'Drupal CMS'}})
  xyz00@hsadmin> mysqluser.add({set:{name:'xyz00_drupaluser',password:'geheim'}})
xyz00@hsadmin> domain.add({set:{name:'drupal.hs-example.de',user:'xyz00-drupal'}})
  xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_drupaldb',owner:'xyz00_drupaluser'}})
xyz00@hsadmin> mysqluser.add({set:{name:'xyz00_drupaluser',password:'geheim'}})
xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_drupaldb',owner:'xyz00_drupaluser'}})
</syntaxhighlight>


drupal 10 braucht mindestens php 8.1 dies wird installiert nach Anleitung: [[PHP|Aktuelle PHP Version nutzen]]
drupal 10 braucht mindestens php 8.1 dies wird installiert nach Anleitung: [[PHP|Aktuelle PHP Version nutzen]]
Zeile 29: Zeile 33:
Anmelden als Linux-User ''xyz00-drupal'':
Anmelden als Linux-User ''xyz00-drupal'':


  ssh -l xyz00-drupal xyz00.hostsharing.net
<syntaxhighlight lang="bash">
ssh -l xyz00-drupal xyz00.hostsharing.net
</syntaxhighlight>


=== Mit Composer ===
=== Mit Composer ===
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/  
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
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
<syntaxhighlight lang="bash">
cd doms/drupal.hs-example.de
composer create-project drupal-composer/drupal-project:8.x-dev var/drupal-installationsverzeichnis --no-interaction
</syntaxhighlight>


alternativ geht auch mit einer lokalen (und aktuellen Version von Composer)
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
<syntaxhighlight lang="bash">
../lokales-Composer-Verzeichnis/composer.phar  composer create-project drupal/recommended-project var/drupal-installationsverzeichnis --no-interaction
</syntaxhighlight>


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:
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
<syntaxhighlight lang="bash">
ln -s var/drupal-installationsverzeichnis/web htdocs-ssl
rmdir htdocs-ssl
ln -s var/drupal-installationsverzeichnis/web htdocs-ssl
</syntaxhighlight>


== Drupal für HS anpassen ==
== Drupal für HS anpassen ==


doms/drupal.hs-example.de/htdocs
doms/drupal.hs-example.de/htdocs
<syntaxhighlight lang="apache">
# vi .htaccess


  vi .htaccess
# If your site is running in a VirtualDocumentRoot at http://example.com/,
 
# uncomment the following line:
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
# RewriteBase /
  # uncomment the following line:
</syntaxhighlight>
  # RewriteBase /


wird zu
wird zu
 
<syntaxhighlight lang="apache">
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
# If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
# uncomment the following line:
  RewriteBase /
RewriteBase /
</syntaxhighlight>


== Drupal konfigurieren ==
== Drupal konfigurieren ==
Zeile 81: Zeile 96:
== Drupal template default für HS konfigurieren ==
== Drupal template default für HS konfigurieren ==


  cd sites/default/files/php/twig
<syntaxhighlight lang="bash">
  chmod 644 .htaccess
cd sites/default/files/php/twig
  edit .htaccess
chmod 644 .htaccess
edit .htaccess
</syntaxhighlight>


In der Zeile 11 den Eintrag "-ExecCGI" und  "-Includes" löschen, mit diesem Ergebnis:
In der Zeile 11 den Eintrag "-ExecCGI" und  "-Includes" löschen, mit diesem Ergebnis:


  Options -Indexes -MultiViews
<syntaxhighlight lang="apache">
Options -Indexes -MultiViews
</syntaxhighlight>


und dann noch eine .htaccess  
und dann noch eine .htaccess  


  cd ../..
<syntaxhighlight lang="bash">
cd ../..


  chmod 644 .htaccess
chmod 644 .htaccess
  edit .htaccess
edit .htaccess
</syntaxhighlight>


In der Zeile 2 den Eintrag "-ExecCGI" und  "-Includes" löschen, mit diesem Ergebnis:
In der Zeile 2 den Eintrag "-ExecCGI" und  "-Includes" löschen, mit diesem Ergebnis:


  Options -Indexes -MultiViews
<syntaxhighlight lang="apache">
 
Options -Indexes -MultiViews
</syntaxhighlight>


Danach die Seite im Browser neu laden.
Danach die Seite im Browser neu laden.
Zeile 125: Zeile 147:
Dann muss die Datei inventory-sample.yml kopiert werden, und entsprechend angepasst werden:
Dann muss die Datei inventory-sample.yml kopiert werden, und entsprechend angepasst werden:


$ cd hs.ansible
<syntaxhighlight lang="bash">
$ cp playbooks/drupal/inventory-sample.yml inventories/my.drupal.yml
cd hs.ansible
$ vi inventories/my.drupal.yml
cp playbooks/drupal/inventory-sample.yml inventories/my.drupal.yml
vi inventories/my.drupal.yml
</syntaxhighlight>


In der my.drupal.yml müssen die entsprechenden Werte eingerichtet werden.
In der my.drupal.yml müssen die entsprechenden Werte eingerichtet werden.
Zeile 137: Zeile 161:
Dann kann die Installation vom lokalen Rechner aus gestartet werden:
Dann kann die Installation vom lokalen Rechner aus gestartet werden:


$ ansible-playbook -i inventories/my.drupal.yml init.yml
<syntaxhighlight lang="bash">
$ ansible-playbook -i inventories/my.drupal.yml playbooks/drupal/install.yml
ansible-playbook -i inventories/my.drupal.yml init.yml
ansible-playbook -i inventories/my.drupal.yml playbooks/drupal/install.yml
</syntaxhighlight>


== Einrichtung ==
== Einrichtung ==

Version vom 14. Juni 2024, 11:36 Uhr

Drupal bei HS

Überprüft auf Installation der V 8.6.7.

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

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.

Drupal1.jpg

Drupal2.jpg

Drupal3.jpg

Drupal4.jpg

Drupal5.jpg

Drupal6.jpg

Drupal7.jpg

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