Wo am besten Drupal8 und Composer auf einem VPS installieren?
am 27.12.2018 - 18:31 Uhr in
Hallo,
ich will Drupal auf einem VPS installieren. Welche Art der Installation von Composer/Drupal8 ist empfehlenswert? Auf meinem HomeServer habe ich "Drupal site kickstarter" im Unterverzeichnis von /home/user/public_html installiert. Früher hab ich natürlich public_html in Apache aktiviert. Ich weiß aber nicht, ob das die beste Methode für mich ist. Eigentlich sollte sich Drupal im Unterverzeichnis von /var/www/ befinden. Nur wie sieht das in diesem Fall mit den Schreibrechten für Composer aus? Ohne sudo geht es dann nicht, oder? Man soll aber composer nicht mit root rechten ausführen...Die kickstarter Installation wäre mir lieber, weil man da nichts (keine Pfade usw.) anpassen muss.
Bitte erfahrene Drupaler um Hilfe
und bedanke mich im Voraus
Joe
- Anmelden oder Registrieren um Kommentare zu schreiben

Ich glaube, Du wirfst hier
am 27.12.2018 - 19:44 Uhr
Ich glaube, Du wirfst hier ein paar Dinge durcheinander. Was wie funktioniert hängt von den Einstellungen im Apache aus. "Normalerweise" hat der Apache eine eigene User-ID www-data und der eingeloggte User (über SSH oder FTP) eine andere. Das ist suboptimal, denn dann kann dieser User nicht mit FTP oder composer in den Bereich schreiben, den der Apache bearbeiten können muß. Auf meinem kleinen Server, mit dem ich Drupal 8 Training gebe, habe ich es also so eingestellt, daß der eingeloggte User und der Apache für die Seiten dieses Users die gleiche ID haben. Danach ist das Problem nicht mehr existent.
Ich benutze für meine Drupal 8 Installation mit Composer die Anweisungen auf dieser Webseite und installiere Drupal mit dem Befehl
composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interactionDanach liegt in den Verzeichnis "some-dir" (Du darfst Dir da einen Namen aussuchen) die Drupal Tools wie drush und die drupal-console sowie das vendor Verzeichnis und die Composer-Dateien composer.json und composer.lock. Außerdem wird ein web benanntes Verzeichnis erstellt, indem sich jetzt die eigentliche Drupal-Installation befindet. Das DocumentRoot für den Apache muß dann genau dieses web-Verzeichnis sein, damit alles funktioniert. An das vendor-Verzeichnis, die Composer-Dateien und die Tools kommt der Apache also nicht heran und somit auch kein anderer über den Browser-Zugang.
Hier ist die Konfigurations-Datei für eine Seite vom User1
DocumentRoot "/home/user1/www/step1"
<Directory "/home/user1/www/step1/">
AllowOverride all
Order deny,allow
allow from all
<IfModule mpm_itk_module>
AssignUserId user1 user1
</IfModule>
Require all granted
</Directory>
Hiermit bekommt der Apache bei der Seite, deren DocumentRoot das Verzeichnis "/home/user1/www/step1" ist, als User-ID und Group-ID user1.
Damit das so geht, mußte ich das Modul mpm_itk bei meinen Apache-Erweiterungen installieren. Wie das jetzt bei Deinen VPS geht kann ich Dir nicht sagen. Im Zweifel den Support Deines Hosters fragen. Meine Installation läuft unter Ubuntu 16.4LTS.
Danke dir für die schnelle
am 27.12.2018 - 20:25 Uhr
Danke dir für die schnelle Antwort. Auf meinem Server kann ich praktisch alles was und wie ich will installieren, einschliesslich Partitionierung der Festplatte und Betriebsystem. Der Hoster leistet da keinen Support für die einzelnen Anwendungen. Das kann man aber notfalls alles ergoogeln. Für Drupal8 gibt es aber noch nicht so viele Anleitungen.
Besitz und rechte für /var/www/drupal8???
am 28.12.2018 - 13:02 Uhr
Um das Ganze ohne root-Rechte (mit denen man beim Composer nicht arbeiten soll!) zu installieren, hab ich den Ordner /var/www/drupal8/ in Besitz genommen. So hat die Installation geklappt. Für den produktiven Einsatz soll der Besitzer aber root sein, aus Sicherheitsgründen und laut Empfehlungen von Apache (wenn ich mich nicht irre). Nur die Ordner und die Dateien, wo Apache schreiben darf, sollten dem Besitzer oder der Gruppe www-data angehören. Wenn man diese Sicherheitsempfehlung umsetzt, dann kann man mit composer ohne root Rechte nix weiter machen. Ich google und google und finde gar nichts zu diesem Thema. Alle möglichen Anleitungen verschweigen das sehr geschickt. Wie haben das die anderen gelöst?
Nachtrag: Auf meinem Server läuft Ubuntu 18.04 und ich hab mit Composer template for Drupal projects installiert.
Bei meinem Provider haben
am 28.12.2018 - 14:04 Uhr
Bei meinem Provider haben FTP/SSH-User und der Apache-Process dieselbe User-ID. Die Webseiten liegen dann im /home des Users unter www/.....
Da ich für das Document Root jeder Domain oder Subdomain den Pfad bestimmen kann, habe ich und sehe ich auch keine Probleme. Die Seiten liegen also nicht unterhalb von /var.
Na ja, dann hast du bei
am 28.12.2018 - 14:39 Uhr
Na ja, dann hast du bei Deinem Provider keinen Server sondern ein Webhosting-Paket mit SSH-Zugang ohne echte root-Rechte. Das Verzeichnis /var/www/ ist für dich mit Schreibrechten wahrscheinlich gar nicht zugänglich.
Stimmt, aber warum sollte
am 28.12.2018 - 15:21 Uhr
Stimmt, aber warum sollte dieser Aufbau schlecht sein? Du sagst ja selbst, Du kannst Dir Deinen Server aufsetzen, wie Du willst. Warum also nicht einfach erprobte Wege gehen?
Ja, da hast du recht, das
am 28.12.2018 - 15:35 Uhr
Ja, da hast du recht, das könnte ich machen. :)